Kubernetes에서 애플리케이션 배포의 안정성과 내부 통신의 효율성을 높이기 위해, 이번 포스팅에서는 다음 두 가지를 다룹니다.
🔒 NFS | Pod의 영속 데이터를 위한 동적 PV 프로비저닝 |
🌐 DNS | Harbor 도메인 hub.aws9.pri, Ingress용 www.aws9.pri 등 내부 도메인 매핑 구성 |
Kubernetes에서 PersistentVolumeClaim(PVC)만 생성하면 자동으로 PersistentVolume(PV)이 생성되도록 하기 위해, 다음 순서를 따라 진행합니다.
dnf -y install nfs-utils
# /etc/exports 수정
/shared *(rw,sync,no_root_squash)
chmod 707 /shared
systemctl restart nfs-server
systemctl enable nfs-server
exportfs -v
systemctl stop firewalld # 내부망이라 보안은 생략
sudo apt update
sudo apt install nfs-common -y
showmount -e <NFS서버_IP>
mkdir -p ~/remote
sudo mount -t nfs <NFS서버_IP>:/shared ~/remote
touch ~/remote/test.txt
부팅 시 자동 마운트를 위해 /etc/fstab에 아래 내용 추가:
<NFS서버_IP>:/shared /home/ubuntu/remote nfs defaults 0 0
git clone https://github.com/kubernetes-csi/csi-driver-nfs.git
cd csi-driver-nfs
./deploy/install-driver.sh v4.7.0 local
# nfs-csi.yml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: dev1-sc
mountOptions:
- nfsvers=4.2
parameters:
server: 211.183.3.99
share: /shared
provisioner: nfs.csi.k8s.io
reclaimPolicy: Delete
kubectl apply -f nfs-csi.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-pvc
spec:
accessModes:
- ReadWriteMany
storageClassName: dev1-sc
resources:
requests:
storage: 1Gi
PVC 생성 → 자동으로 PV 생성 → Pod와 연동 가능
Harbor, Ingress 등에 도메인을 부여해 사람이 읽기 좋은 방식으로 접근할 수 있도록 합니다.
dnf -y install bind bind-chroot
/etc/named.conf 설정 예시:
listen-on port 53 { any; };
listen-on-v6 port 53 { none; };
allow-query { any; };
dnssec-validation no;
systemctl restart named
systemctl enable named
# /etc/named.conf 마지막에 추가
zone "aws9.pri" IN {
type master;
file "aws9.pri.db";
allow-update { none; };
};
/var/named/aws9.pri.db 예시:
$TTL 3H
@ SOA @ root. ( 2 1D 1H 1W 1H )
IN NS @
IN A 211.183.3.99
www IN A 211.183.3.202 ; Ingress
hub IN A 211.183.3.98 ; Harbor
named-checkconf
named-checkzone aws9.pri aws9.pri.db
systemctl restart named
/etc/resolv.conf 파일에 추가:
nameserver 211.183.3.99
테스트:
dig @211.183.3.99 www.aws9.pri
nslookup hub.aws9.pri
마스터 노드의 kubeconfig 파일을 현재 node2로 복사해서 설정 (0) | 2025.04.18 |
---|---|
[토이 프로젝트] 실제 기업에서도 사용할 수 있는 인프라 아키텍처 학습 (1) | 2025.04.17 |
ArgoCD 설치 및 초기 설정 (0) | 2025.04.16 |
동적 프로비전 (Dynamic Provisioning) (0) | 2025.04.16 |
Kubernetes NFS 기반 정적 프로비저닝 및 ResourceQuota 적용 실습 정리 (0) | 2025.04.16 |