Couchbase Operator를 사용하면 다음에서 기본적으로 Couchbase 배포를 실행할 수 있습니다. 오픈 소스 쿠버네티스 또는 엔터프라이즈 레드햇 오픈시프트 컨테이너 플랫폼.
Couchbase 운영자의 목표는 Couchbase 클러스터의 구성, 생성, 업그레이드 및 확장과 같은 일반적인 Couchbase 작업의 관리를 자동화하여 Couchbase 실행의 운영상 복잡성을 제거함으로써 하나 이상의 Couchbase 배포를 완벽하게 관리하는 것입니다.
카우치베이스 클러스터 실행의 복잡성을 줄임으로써 수동 배포 및 수명 주기 관리의 세부 사항을 걱정할 필요 없이 원하는 구성에 집중할 수 있습니다.
쿠버네티스 오퍼레이터란 무엇인가요?
오퍼레이터는 쿠버네티스 사용자를 대신하여 복잡한 상태 저장 애플리케이션의 인스턴스를 생성, 구성 및 관리하기 위해 쿠버네티스 API를 확장하는 애플리케이션별 컨트롤러이다. 이것은 기본 Kubernetes 리소스 및 컨트롤러 개념뿐만 아니라 컴퓨터로 더 잘 관리되는 일반적인 작업을 자동화하기 위한 도메인 또는 애플리케이션별 지식도 포함되어 있습니다.
쿠버네티스 오퍼레이터는 코어OS 팀에 의해 소개되었으며, 그들의 공지 사항에서 데이터베이스 인프라를 보다 효율적으로 관리하기 위한 수단으로 Operators를 제안했습니다.
어떻게 작동하나요?
카우치베이스 오퍼레이터는 사용자 정의 리소스 정의(CRD)를 생성하고 카우치베이스 클러스터를 관리하기 위해 카우치베이스 전용 컨트롤러(오퍼레이터)를 등록함으로써 쿠버네티스 API를 확장한다.
CRD를 사용하면 Couchbase 클러스터의 모양을 설명하는 구성을 정의할 수 있습니다. 예를 들어, 구성은 데이터 서비스를 위해 3개의 노드, 1개의 버킷, 8GB의 메모리가 있는 클러스터를 정의할 수 있습니다. 구성이 Kubernetes에 로드되면, 구성은 사용자 정의 Couchbase 컨트롤러로 전달되어 지정된 구성의 Couchbase 클러스터가 프로비저닝되도록 조치를 취합니다.
컨트롤러는 또한 구성 업데이트를 감지하고 클러스터 자체에서 발생하는 변경 사항에 반응할 수 있습니다. 모든 쿠버네티스 표준 기본 제공 리소스와 마찬가지로, Couchbase 운영자는 단일 Couchbase 클러스터만 관리하는 것이 아니라 전체 쿠버네티스 배포에 걸쳐 여러 개의 Couchbase 클러스터를 관리합니다.
다음은 샘플 구성 파일입니다. 카우치베이스 운영자:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
apiVersion: 확장/V1베타1 종류: 배포 메타데이터: 이름: 카우치베이스 운영자 네임스페이스기본값 사양: 복제본: 1 템플릿: 메타데이터: 레이블: 이름: 카우치베이스 운영자 사양: 컨테이너: - 이름: 카우치베이스 운영자 이미지: 카우치베이스/카우치베이스 운영자:v1 환경: - 이름: 내_팟_네임스페이스 valueFrom: fieldRef: fieldPath: 메타데이터.네임스페이스 - 이름: MY_POD_NAME valueFrom: fieldRef: fieldPath: 메타데이터.이름 포트: - 이름: READY-PORT 컨테이너 포트: 8080 readinessProbe: httpGet: 경로: /readyz 포트: READY-PORT 초기 지연 시간: 3 기간초: 3 실패 임계값: 19 |
다음은 샘플 구성 파일입니다. 카우치베이스 클러스터.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
apiVersion: couchbase.database.couchbase.com/v1beta1 종류: 카우치베이스클러스터 메타데이터: 이름: cb-example 사양: baseImage: 카우치베이스/서버 버전: 엔터프라이즈-5.0.1 authSecret: cb-example-auth 노출 관리자 콘솔true 클러스터: 데이터서비스메모리쿼터: 256 인덱스서비스메모리쿼터: 256 검색서비스메모리쿼터: 256 인덱스 스토리지 설정메모리_최적화 자동 페일오버 타임아웃: 30 버킷: - 이름기본값 유형: 카우치베이스 메모리 쿼터: 128 복제본: 1 ioPriority높음 퇴거 정책: fullEviction 충돌 해결: seqno 활성화Flushtrue enableIndexReplica: false 서버: - 크기: 3 이름모든 서비스 서비스: - 데이터 - 색인 - 쿼리 - 검색 데이터 경로: /옵트/카우치베이스/변수/라이브/카우치베이스/데이터 indexPath: /옵트/카우치베이스/변수/라이브/카우치베이스/데이터 |
베타 버전에서는 어떤 기능을 이용할 수 있나요?
이 베타 릴리스에는 Kubernetes 또는 OpenShift에서 하나 이상의 Couchbase 배포를 완벽하게 관리한다는 목표를 달성하기 위해 몇 가지 주요 기능이 포함되어 있습니다:
- 자동화된 클러스터 프로비저닝
- 탄력적인 확장성
- 자동 복구
- 로깅
- Couchbase 웹 콘솔에 액세스
바로 들어가 보겠습니다!
자동화된 클러스터 프로비저닝
Couchbase 클러스터 구성 "couchbase-cluster.yaml"이 정의되면, 다음 명령을 사용하여 Kubernetes 또는 OpenShift 클러스터에 푸시할 수 있습니다.
1 2 |
$ kubectl create -f https://s3.amazonaws.com/packages.couchbase.com/kubernetes/beta/couchbase-cluster.yaml 카우치베이스 클러스터 "cb-example" 생성 |
또는
1 2 |
$ oc create -f https://s3.amazonaws.com/packages.couchbase.com/kubernetes/beta/couchbase-cluster.yaml 카우치베이스 클러스터 "cb-example" 생성 |
탄력적인 확장성
구성에 따라 Couchbase 클러스터는 Kubernetes 클러스터에서 완전히 프로비저닝됩니다.
아래 명령어로 클러스터 구성을 업데이트하고 변경 사항을 Kubernetes 클러스터에 푸시하여 클러스터를 탄력적으로 확장 또는 축소할 수 있습니다.
1 2 3 4 5 6 7 8 |
서버: - 크기: 5 이름: 모두_서비스 서비스: - 데이터 - 색인 - 쿼리 - 검색 |
1 |
kubectl 대체 -f <경로 에 구성>/카우치베이스-클러스터.yaml |
또는
1 |
oc 대체 -f <경로 에 구성>/카우치베이스-클러스터.yaml |
자동 복구
카우치베이스 운영자는 노드 장애를 감지하고 불량 노드를 리밸런싱하여 클러스터를 원하는 용량으로 되돌릴 수 있습니다.
장애 노드 감지, 자동 장애 조치, 장애 노드 제거, 새 노드로 교체, 클러스터에 새 노드 재조정 등 자동 복구가 완전히 자동화되어 있습니다.
로깅
지원 가능성은 이 기본 통합 기능의 중요한 측면 중 하나로, Kubernetes 또는 OpenShift 플랫폼을 실행하는 Couchbase 클러스터의 문제를 진단하고 해결할 수 있습니다.
전체 배포 로그, Couchbase Operator 로그 및 Couchbase Server 로그를 캡처하는 방법에 대해 자세히 알아보세요. 여기.
Couchbase 웹 콘솔 또는 CLI에 액세스
각 플랫폼은 배포 대시보드를 제공합니다. 쿠버네티스 웹 UI 또는 OpenShift Origin 웹 콘솔 하지만 데이터베이스 관리자나 데이터베이스 개발자의 경우 Couchbase 웹 콘솔 또는 CLI에 액세스할 수 있어야 합니다.
Couchbase 웹 콘솔 및 CLI에 액세스하는 방법 자세히 알아보기 여기.
베타 버전을 확인할 준비가 되셨나요?
- 아래 단계에 따라 베타 버전을 쉽게 받을 수 있습니다. 사전 요구 사항 및 설정 를 사용하여 Kubernetes 또는 OpenShift 플랫폼에 Couchbase Operator를 배포할 수 있습니다.
- 도커파일 링크
- 카우치베이스 서버 - https://hub.docker.com/_/couchbase/
- 카우치베이스 운영자 - https://hub.docker.com/r/couchbase/k8s-operator/
질문, 의견 또는 추가 피드백이 있는 경우 아래에 댓글을 남기거나 다음 주소에 게시하세요. https://www.couchbase.com/forums/.
[…] https://www.couchbase.com/introducing-couchbase-operator/ - 카우치베이스 운영자에 대한 블로그 게시물. [...]