쿠버네티스를 사용하기전 필수는 아니지만, 내 기준으로 편하게 사용하기 위해 설치해야 하는 몇가지가 존재한다.
nfs-provisoner 설치
도커를 공부하다보면 제일 헷갈렸던 것이 바로 볼륨이다.
볼륨의 종류는 bind mount, docker volume, 등등 여러가지가 존재하고 쿠버네티스 또한 이러한 볼륨에 대한 여러가지 타입이 존재한다.
하지만 이 중 가장 간편한 nfs를 통한 볼륨 관리 도구를 설치해보려 한다.
nfs-server 생성
nfs 를 사용하려면 nfs 서버가 존재하여야 한다.
먼저, 아래 명령을 통해 nfs-kernel-server를 설치한다.
sudo apt update
sudo apt install -y nfs-kernel-server
그 다음, nfs 에서 사용할 data 폴더를 만들어 주고, 권한 및 소유자 정보를 지정하여준다.
sudo mkdir -p /data
sudo chown nobody:nogroup /data
sudo chmod 777 /data
그 다음, nfs 서버가 공유할 디렉토리를 지정하기 위해 아래 파일을 수정한다.
sudo vi /etc/exports
해당 파일에 아래 내용을 추가한다.
/data *(rw,sync,no_wdelay,no_root_squash,insecure,no_subtree_check)
마지막으로, 설정을 적용 후 nfs 서버를 재시작하여 준다.
sudo exportfs -a
sudo systemctl restart nfs-kernel-server
이제, nfs-provisoner를 쿠버네티스 클러스터에 설치하여 보자.
helm 설치
helm 이란 복잡한 쿠버테니스 애플리케이션의 설치를 간단하게 할 수 있도록 도와주는 소프트웨어이다.
helm 공식 홈페이지(https://helm.sh/docs/intro/install/)에 나와있는 Debian 계열에서 helm을 설치하는 방법이다.
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
nfs-provisoner 설치
먼저, helm repo에 nfs-provisoner 레포를 추가해준다.
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
helm repo update
그다음 helm 명령을 통해 nfs-provisoner를 설치한다.
helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
--set nfs.server=<NFS_SERVER_IP> \
--set nfs.path=<NFS_SHARE_PATH>
여기서 서버 주소는 본인이 k3s를 설치했던 서버의 주소, path는 nfs exports 설정에서 지정했던 공유 디렉토리를 넣어주면 된다.
그리고, 아래 명령을 통해 잘 설치되었는지 확인해본다.
kubectl get pods -n default -l "app=nfs-subdir-external-provisioner"
이렇게 잘 설치가 되었다면, 이제 쿠버네티스에서 볼륨을 nfs 로 지정가능하게 된 것이다.
해당 내용의 편리함은 직접 어플리케이션을 배포할 때 알아보도록 한다!
kube-prometheus-stack 설치
아무래도 서버 자원을 사용하는 쿠버네티스 이다보니, 쿠버네티스에서 사용하는 자원들의 사용량이 궁금해진다.
helm 으로 kube-prometheus-stack 을 설치하면, 이러한 자원 사용량들을 모니터할 수 있는 그라파나 대시보드 등을 제공해준다.
설치는 helm으로 진행하고 매우 간단하다.
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm install kube-prometheus-stack prometheus-community/kube-prometheus-stack --namespace kube-system
해당 명령 실행 후, kube-prometheus-grafana 서비스를 포트포워딩 하던, NodePort 타입으로 변경하던, 아니면 ingress에 등록하던 하여 그라파나 환경에 접근하면 아래와 같이 클러스터의 자원 사용량을 모니터링 할 수 있다.
'DevOps > 쿠버네티스' 카테고리의 다른 글
04. 클러스터에 오라클 데이터베이스 생성 (0) | 2024.08.05 |
---|---|
02. 쿠버네티스 클러스터 생성 (0) | 2024.08.02 |
01. 쿠버네티스란 무엇인가? (0) | 2024.08.02 |