기본 콘텐츠로 건너뛰기

라벨이 kudo-cli인 게시물 표시

[Kubernetes - Operator] KUDO를 활용한 Galera Operator 단계별로 적용하기 - PART 1: Bootstrap Node 구성

How to building real world sample step by step - Part 1 게시글 참고 이 게시글은 KUDO Blog 샘플을 기준으로 테스트하면서 발생한 문제점들을 처리하고 동작을 검증하면서 정리한 내용입니다. PART 2 에서는 Galera Cluster에 참여할 노드들 구성 PART 3 에서는 사용하지 않는 부트스트랩을 제거하고, 외부 접속을 위한 서비스를 생성하며, 안전한 Scale Up/Down 처리 구성 이 문서는 KUDO Blog 샘플을 기준으로 테스트하면서 발생한 문제점들을 해결하고 동작을 검증하면서 정리한 내용으로 Galera 클러스터 구성을 위한 Bootstap Node 설정을 다룬다. 참고 이 문서는 KUDO에 대한 이해를 어느 정도 하고 있다는 것을 전제로 하며 MariaDB의 오픈 소스 클러스터링 솔루션인 Galera를 위한 Operator를 KUDO를 이용해서 만드는 과정을 정리한 것이다. 이 문서는 KUDO v0.17.0 기준으로 작성되었다. KUDO에 관련된 정보는 이전 글들 참고 KUDO 정리 (Kubernetes Universal Declarative Operator - Kudobuilder) KUDO 설치 및 간단한 사용법 검증 KUDO CLI 명령어 정리 환경 설정 파일 시스템 레이아웃 구성 우선 작업할 내용은 개발 및 테스트 환경을 구성하는 것이다. 이전 글들에서 언급했던 것과 같이 아래와 같은 구성이 필요하다. (KUDO-CLI 명령을 통해서 구조 및 기본 파일들을 생성할 수 있다.) 작업할 대상은 ~/kudo_sample/galera-operator 폴더를 기준으로 한다. . └── operator ├── operator.yaml ├── params.yaml └── templates 2 directories, 2 files 생성된 operator.yaml 파일은 아래와 같이 구성한다. apiVersion: kudo.de

[Kubernetes - Operator] KUDO 설치 및 간단한 사용법 검증

How to use KUDO 당연한 것이지만 KUDO를 테스트하기 위해서는 Kubernetes Cluster가 존재해야 한다. Kind 와 Minikube 를 사용할 수 있다. Setup a Kubernetes Cluster 1.13+ Install kubectl 1.13+ Install cert-manager . KUDO는 TLS가 필요한 webhook 를 사용한다. 참고 Minikube Minikue를 통해 KUDO를 로컬에서 개발하고 테스트하기 위해서는 적절한 양의 메모리가 필요한데 Minikube는 2G 메모리를 기준으로 하는데 Kafka의 경우는 최소 10GB를 권장하므로 로컬에서 메모리를 구성하기는 좀 힘들다. 그러나 가능한 리소스가 존재한다면 아래와 같이 기본적인 설정을 바꿔 실행이 가능하다. $ minikube start --cpus=4 --memory=10240 --disk-size=40g Kind KIND를 storage operator와 같이 사용하기 위해서는 KIND v0.7.0 이상을 사용해야 한다. Cert-Manager cert-manager 의존성을 테스트 환경에서 제외할 경우는 KUDO를 보안이 되지 않는 상황으로 자체 서명된 CA 번들을 사용하도록 초기화할 수 있다. $ kubectl kudo init --unsafe-self-signed-webhook-ca 이와 관련된 개발을 위해서 Blog post 를 참고하는 것이 좋다. Install KUDO CLI KUDO CLI 는 kubectl에 KUDO 기능을 제공하는 플러그인이다. CLI 바이너리를 Release Page 에서 다운로드해서 설치가 가능하다. 맥인 경우는 brew 를 통해서 설치가 가능하다. $ brew tap kudobuilder/tap $ brew instll kudo-cli 참고 맥 OSX에서는 명령 사용을 명시적으로 허가해야 할 수도 있으므로 Apple support site 를 참고하도록 한다. 다른 방

[Kubernetes - Operator] KUDO CLI 명령어 정리

How to use KUDO CLI Commands KUDO 및 Package 관리를 위한 KUDO CLI를 정리한다. Global Flags Global Flags : 전체 명령들에 사용할 수 있는 전역 옵션들 --home <path> : Kudo 설정이 있는 Home Directory 지정 (Default: "~/.kudo") --kubeconfig <path> : Kubernetes 설정이 있는 Home Directory 지정 (Default: "~/.kube/config") -n, --namespace <namespace> : 객체를 처리할 대상 Namespace (Default: "Default") --request-timeout <seconds> : 요청 시간 제한을 초단위로 지정 (Default: 0 - 무제한) -v <line count>, --v : 상세 로그 수준을 라인단위로 지정 --validate-install : 명령을 실행하기 전에 KUDO 설치 여부 검증 (Default: true) Semi-Global Flags : 전체 명령들은 아니지만 많은 명령들에 사용할 수 있는 옵션들 --help : 모든 명령에 지정 가능하며, 해당 명령의 상세 정보 출력 -o, --output : 많은 명령들이 지원하며, "Yaml" 또는 "Json" 방식으로 출력 가능 --dry-run : 실제 실행하지는 않고, 점검과 준비만 처리하며, --output 옵션으로 대상 리소스에 대한 출력물 생성 init KUDO Server와 Client 컴포넌트의 초기화 및 업그레이드 처리 kubectl kudo init [options] 옵션들은 설치 및 업그레이드에 대한 변경을 위한 것으로 주로 Server를 대상으로 하며 저장되지 않기 때문에 매번 제공해야