03. 쿠버네티스 설정

2024. 8. 5. 09:14·DevOps/쿠버네티스

쿠버네티스를 사용하기전 필수는 아니지만, 내 기준으로 편하게 사용하기 위해 설치해야 하는 몇가지가 존재한다.

 

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에 등록하던 하여 그라파나 환경에 접근하면 아래와 같이 클러스터의 자원 사용량을 모니터링 할 수 있다.

alert-manater 대시보드 화면

 

저작자표시 비영리 변경금지 (새창열림)

'DevOps > 쿠버네티스' 카테고리의 다른 글

04. 클러스터에 오라클 데이터베이스 생성  (0) 2024.08.05
02. 쿠버네티스 클러스터 생성  (0) 2024.08.02
01. 쿠버네티스란 무엇인가?  (0) 2024.08.02
'DevOps/쿠버네티스' 카테고리의 다른 글
  • 04. 클러스터에 오라클 데이터베이스 생성
  • 02. 쿠버네티스 클러스터 생성
  • 01. 쿠버네티스란 무엇인가?
뚝딱뚝딱2
뚝딱뚝딱2
  • 뚝딱뚝딱2
    개발도상국
    뚝딱뚝딱2
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 공부
        • Java
        • Spring Boot
        • LORA
      • Web
        • 인스타 클론 코딩
        • GPT 응답 API 서버
        • Spring Boot 예외 처리
        • 코테 준비용 서비스 만들기
      • DevOps
        • 쿠버네티스
        • 서버 만들기
      • 코딩테스트
        • 알고리즘
      • 교육
        • 스파르타코딩클럽 - 내일배움단
        • 혼자 공부하는 컴퓨터 구조 운영체제
      • 잡다한것
  • 블로그 메뉴

    • 홈
  • 링크

    • GITHUB
  • 공지사항

  • 인기 글

  • 태그

    spring boot
    클론코딩
    mapstruct
    예외
    스프링부트
    Java
    티스토리챌린지
    스프링 부트
    react
    REST API
    백준
    chat GPT
    Entity
    리액트
    쿠버네티스
    클러스터
    OpenAI API
    인스타그램
    오블완
    MSA
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
뚝딱뚝딱2
03. 쿠버네티스 설정
상단으로

티스토리툴바