반응형
Kubernetes기반 CI/CD환경 설정해보며 정리했던 것들에 대해서 시리즈로 포스팅해 볼 예정입니다.
시리즈의 기본 환경은 4대의 VM(master1대, worker2대, NFS1대)의 노드 위에 쿠버네티스가 설치되어있는 환경에서 진행됩니다. 환경설정을 위해 아래의 이성미 강사님의 유튜브를 참고하시면 많은 도움될 것 같습니다.
https://www.youtube.com/watch?v=CKUv3oEI8Yo
또한, 쿠버네티스 명령어와 파드, 서비스, 컨트롤러 등 API들이 무엇인지 정도는 이해하고 있다고 가정하고 진행 됩니다.
쿠버네티스에 대한 전반적인 지식이 없으신 분들은 기초 도서나 강의 등을 이용하여 학습 후 진행하시면 좋을 것 같습니다.
1. NFS 서버 패키지 설치
- Network File System(NFS)로 사용할 VM에 nfs 설치 (nfs를 사용할 vm에서 실행)
- ubuntu : sudo apt install nfs-kernel-server
- ngs-kernel-server 패키지를 설치하면 nfs구축에 필요한 nfs-common패키지, rpcbind 등을 포함하고 있어 따로 설치할 필요가 없음.
- centos : yum -y install nfs-utils
- 설치확인
- dpkg -l | grep nfs
- dpkg -l | grep rpc
2. 공유할 디렉터리 만들기
- 디렉터리 생성 (nfs 노드에서)
- mkdir /nfsdir
- 공유파일 생성
- cat > /nfsdir/nfstest
- HELLO NFS 입력 (테스트를 위해서)
- cat /nfsdir/nfstest (입력 확인)
- 권한 수정
- chmod 777 /nfsdir/*
3. 허용할 호스트 ip 확인
- 허용할 VM 접속 후 IP 확인
- hostname -I
4. exports 설정
- exports 수정
- vi /etc/exports
- 파일 제일 밑에 아래 추가
- <경로> <위에서 확인한 IP>
- ex) /nfsdir 10.100.0.104
5. 방화벽 해제
- systemctl stop firewalld
6. NFS 서비스 시작
- 서비스 시작
- systemctl restart nfs-kernel-server
- 상시 가동
- systemctl enable nfs-kernel-server
- 확인
- showmount -e
7. NFS 클라이언트 테스트
- Worker Node에 nfs 사용을 위해 nfs-common 설치
- sudo apt install nfs-common
반응형
8. 쿠버네티스 명령어를 통해 NFS를 통한 볼륨 마운트 테스트
nfs경로를 nginx파드 경로에 마운트됨을 확인하기
- master node 접속
- kubectl create -f pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
storageClassName: test
nfs:
path: /nfsdir
server: 10.100.0.105 ##NFS서버ID
- kubectl create -f pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 3Gi
storageClassName: test
- kubectl create -f pod.yaml
apiVersion: v1 kind: Pod
metadata:
name: mypod
spec:
containers:
- name: myfrontend
image: nginx
volumeMounts:
- mountPath: "/var/www/html"
name: mypd
volumes:
- name: mypd
persistentVolumeClaim:
claimName: my-pvc
- nfs서버에서 /nfsdir에 아무 파일 추가 후 아래명령 실행
- kubectl exec -it mypod -- bash
- mypod내에 마운트한 경로인 /var/www/html 디렉토리를 확인해보면 추가된 것을 볼 수 있음.
Thank you!
반응형
'Tools > Kubernetes' 카테고리의 다른 글
[Kubernetes기반 CI/CD환경설정 시리즈] 05. helm을 이용한 쿠버네티스 대시보드 설치 (0) | 2022.02.08 |
---|---|
[Kubernetes기반 CI/CD환경설정 시리즈] 04. Helm을 이용한 Jenkins 설치 (0) | 2022.01.20 |
[Kubernetes기반 CI/CD환경설정 시리즈] 03. Helm을 이용한 Private Docker Image Registry 구축 (0) | 2021.12.23 |
[Kubernetes기반 CI/CD환경설정 시리즈] 02. Helm을 이용한 Private GitLab 설치 (0) | 2021.12.21 |
[Kubernetes] 쿠버네티스 Worker node의 docker 초기화 (0) | 2021.11.30 |