# nfs 네트워크 볼륨 설치
(nfs : 네트워크 파일 시스템)
- work2에서 실행
apt-get update
apt install nfs-common nfs-kernel-server portmap
mkdir /home/nfs
chmod 777 /home/nfs
- 어떤 디렉토리를 누구에게 제공할 것인가 등 권한을 부여하는 파일 : exports
gedit /etc/exports
- 해당 ip에 대해서 (권한을 할당 하겠다.) 라는 내용임
- /home/nfs 는 이전에 공유할 폴더를 생성한 경로임
/home/nfs 10.0.2.15(rw,sync,no_subtree_check) 10.0.2.5(rw,sync,no_subtree_check) 10.0.2.6(rw,sync,no_subtree_check)
- 수정을 하고 저장한다.
# 서비스 재시작
service nfs-server restart
# 마운트 가능한 서버를 확인
showmount -e 127.0.0.1
결과 : /home/nfs 10.0.2.5,10.0.2.6,10.0.2.15
# 마운트 수행 및 테스트
mount -t nfs 10.0.2.5:/home/nfs /mnt
echo 'test' > /home/nfs/test.txt
cat /mnt/test.txt
- /mnt/test.txt 에서도 동일한 내용을 확인할 수 있다.
# 삭제 테스트
rm /mnt/test.txt
ls /home/nfs/test.txt
- 파일을 찾을수 없다고 나온다.
- 결국 폴더가 마운트 되어 있어서 추가 및 삭제가 동일하게 이루어 진다고 보면된다.
# k8s와 nfs 네트워크 볼륨 연결 실습
- 쿠버네티스 공식사이트 > 검색 > nfs > nfsexample 사이트 링크 클릭하여 이동 > nfs-pv.yaml > 하단 nfs: 내용 복사 > emptyDir 예제와 조합 > 하단에 emptyDir 삭제 후 복사한 nfs 내용 붙여넣기
apiVersion: v1
kind: Pod
metadata:
name: nfs-httpd
spec:
containers:
- image: httpd
name: web
volumeMounts:
- mountPath: /usr/local/apache2/htdocs
name: nfs-volume
readOnly: true
volumes:
- name: nfs-volume
nfs:
server: 10.0.2.6
path: /home/nfs
# 파일생성
- 마스터 노드로 이동
vim nfs-httpd.yaml
- worker2로 이동
cd home/nfs
echo nfs > index.html
cat index.html
- 마스터로 이동
kubectl create -f nfs-httpd.yaml
kubectl get pod -w
- 시간이 오려걸릴경우 descibe 옵션으로 트러블슈팅 해야한다.
kubectl describe pod nfs-httpd
- 하단에 오류 내용 표기됨
- 애플리케이션 업데이트 수행
sudo apt-get update
apt update
apt install nfs-common nfs-kernel-server portmap
- worker2에도 위에 apt install 명령 수행
# pod 서비스를 삭제 후 다시 실행
kubectl delete -f nfs-httpd.yaml
kubectl create -f nfs-httpd.yaml
# 포트포워딩 실행하기
sudo kubectl port-forward nfs-httpd 12345:80
웹페이지 열고 > 127.0.0.1:12345 접속 > nfs 라고 나오면 정상적으로 실행된 것임.
# port 삭제하기
ps -eaf | grep port-forward
kill -9 프로세스 id
kill -9 26378
- 노드간 네트워크 파일시스템 nfs 가 가능하도록 구성을 해봤습니다.
'⭐ Kubernetes & EKS > 볼륨 스토리지 (Volume Storage)' 카테고리의 다른 글
SAN의 고속 네트워크 기술 (Fibre Channel, iSCSI) 이란? (0) | 2024.08.21 |
---|---|
GCE 동적 프로비저닝 및 영구스토리지 연습문제 (0) | 2021.09.11 |
GCE 디스크를 활용한 네트워크 볼륨 연결 (0) | 2021.09.11 |
쿠버네티스 스토리지 & EmptyDir (0) | 2021.09.11 |