본문 바로가기
MSA/Part4. Ch.7 Kubernetes Custom 관리 방법

04. [실습] Kubernetes Operator 적용

by Engineer-Lee 2023. 2. 9.
반응형

1. Operator 작성 디렉토리 구조

• operator.yaml : Operator 메타데이터와 전체 라이프 사이클을 모두 정의하는 기본 YAML 파일
• params.yaml : Operator의 매개변수를 정의
• templates 디렉토리 : operator.yaml에 정의된 워크플로를 기반으로 설치 후 

  클러스터에 적용될 모든 템플릿화된 Kubernetes Object가 포함

 

2. KUDO 설치

(1) KUDO 플러그인 바이너리 다운로드 및 설치
$ wget https://github.com/kudobuilder/kudo/releases/download/v0.19.0/kubectl-kudo_0.19.0_linux_x86_64

 

$ chmod +x kubectl-kudo_0.19.0_linux_x86_64 && mv kubectl-kudo_0.19.0_linux_x86_64 /usr/local/bin/kubectl-kudo

 

(2) KUDO 설치 확인
$ kubectl kudo --version


(3) cert-manager 설치
$ kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.11.0/cert-manager.yaml

 

(4) cert-manager 설치 확인
$ kubectl get pods --namespace cert-manager

 

(5) KUDO 설치후 초기화 수행
$ kubectl kudo init

 

3. KUDO를 사용한 Operator 생성

(1) Operator 경로 이동 및 생성 명령어
- Chapter07
$ kubectl kudo install Ch07_04-kudo-operator/

 

디렉토리의 파일구성은 아래 링크 참고

https://github.com/DevOpsRunbook/FastCampus/tree/main/Part4_Kubernetes/Chapter07/Ch07_04-kudo-operator

 

GitHub - DevOpsRunbook/FastCampus: Kubernetes와 Docker로 한번에 끝내는 컨테이너 기반 MSA 실습 예제코드

Kubernetes와 Docker로 한번에 끝내는 컨테이너 기반 MSA 실습 예제코드. Contribute to DevOpsRunbook/FastCampus development by creating an account on GitHub.

github.com


(2) 생성된 Operator 확인 명령어
$ kubectl kudo get operators


(3) 생성된 Instances 확인 명령어
$ kubectl kudo get instances

 

(4) 생성된 Component 전체를 yaml 형태 확인 명령어
$ kubectl kudo get all ‒o yaml


(5) 생성된 Kubernetes Object 전체 확인 명령어
$ kubectl kudo get all


(6) 배포된 Kubernetes deployment yaml 형태 확인 명령어
$ kubectl kudo get all -o yaml

 

4. KUDO를 사용한 Operator 업그레이드

(1) Operator > Parameter 수정후 업그레이드 명령어
- Chapter07
$ kubectl kudo upgrade Ch07_04-kudo-operator/ --instance test-instance


(2) 생성된 Component 전체를 yaml 형태 확인 명령어
$ kubectl kudo get all -o yaml


(3) 생성된 Kubernetes Object 전체 확인 명령어
$ kubectl get all

반응형