모범 사례 및 튜토리얼

튜토리얼: 미니큐브에서 카우치베이스 자율 운영자 활용하기

이 실습 튜토리얼 블로그는 주로 미니큐브를 실행하는 랩톱/데스크톱에서 Couchbase Kubernetes Operator를 설정하는 것에 대한 세부 사항을 다룹니다. 사용자 정의 TLS 인증서와 영구 볼륨을 설정하는 것이 특징입니다. 클러스터를 확장 및 축소하는 방법도 확인합니다. 또한 Couchbase 클러스터의 백업/복원을 실행하고 Python SDK를 사용하여 샘플 애플리케이션을 실행합니다.

설치는 노트북에서 실행할 수 있는 미니큐브를 사용하는 오픈 소스 쿠버네티스에서 Couchbase Operator 1.2를 사용합니다. 배포는 명령줄 도구를 사용하여 MacOS에 배포합니다.

실습 튜토리얼 개요

사전 요구 사항

macOS용 CLI 명령, 아래 명령을 사용하여 Mac용 패키지 관리자를 업데이트하세요.

아래 링크에서 하이퍼바이저 설치

https://download.virtualbox.org/virtualbox/6.0.10/VirtualBox-6.0.10-132072-OSX.dmg

미니큐브 설치

kubectl 설치

https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-macos

아래 명령어를 사용하여 미니큐브를 시작합니다.

[HINT] 이 튜토리얼에 필요하지 않은 경우 노트북의 모든 애플리케이션을 중지/종료하세요. 미니큐브에서 실행 중인 미니큐브 및 카우치베이스 클러스터는 많은 리소스를 필요로 합니다.

노트북의 미니큐브에 대한 환경 세부 정보는 다음과 같습니다.

카우치베이스 오퍼레이터가 노트북에서 작동하도록 vCPU와 메모리를 4 및 4GiB로 설정합니다.

미니큐브 클러스터 세부 정보

카우치베이스 자율 운영자 배포하기

입학 컨트롤러 배포

cd를 dir 파일에 복사하여 필요한 yaml에 액세스합니다. 파일  패키지를 노트북에 로컬 디렉토리에 다운로드해야 합니다.

먼저 배포 범위를 지역화하기 위해 네임스페이스를 생성합니다.

스키마 유효성 검사를 위한 변하는 웹후크인 배포 허용 컨트롤러

입학 컨트롤러에 대한 배포 쿼리

카우치베이스 자율 운영자 배포

사용자 지정 리소스 정의 배포

CRD의 범위는 k8s 클러스터 전체 또는 네임스페이스에 국한될 수 있습니다. 선택은 devops/k8s 관리자에게 달려 있습니다. 아래 예에서는 특정 네임스페이스로 로컬라이즈되었습니다.

운영자 역할 배포

서비스 계정 만들기

서비스 계정 'couchbase-operator'를 운영자 역할로 바인딩합니다.

카우치베이스 자율 운영자 배포 배포

쿼리 배포

Couchbase 클러스터 배포

네임스페이스 dbdb에 TLS 인증서 배포
아래 링크의 도움말 파일을 사용하여 적절한 네임스페이스를 사용해야 하며, 여기서는 'cbdb'를 사용했습니다. 링크 제공 여기

kubectl을 통해 배포된 TLS 시크릿 쿼리하기

Couchbase UI에 액세스하기 위한 비밀 배포

미니큐브 k8s 클러스터에 대한 StorageClass 세부 정보 보기

Couchbase 클러스터 배포

위 배포를 위한 YAML 파일을 찾을 수 있습니다. 여기

모든 것이 순조롭게 진행되면 PV, TLS 인증서와 함께 배포된 Couchbase 클러스터를 볼 수 있습니다.

Couchbase UI에 액세스
Couchbase 클러스터에 대한 서비스 세부 정보 보기

CB UI 서비스를 통한 CB 클러스터 노출

Couchbase UI 액세스

로그인 http://localhost:8091 를 눌러 CB UI에 액세스합니다.

루트 CA를 확인하여 사용자 지정 x509 인증서가 사용 중인지 확인합니다.

보안->루트 인증서를 클릭합니다.

무작위로 파드 삭제, 001 파드 삭제하기

자동 페일오버 타임아웃에 따라 서버가 자동으로 페일오버됩니다.

손실된 카우치베이스 노드는 카우치베이스 운영자가 지속적으로 감시하는 클러스터 정의로 자동 복구됩니다.

확장/축소

클릭 한 번으로 확대 또는 축소를 변경할 수 있습니다.

확장

크기를 3에서 4로 변경

아래 명령을 실행합니다.

붐!

클러스터 확장.

주의: K8 클러스터에는 확장할 수 있는 충분한 리소스가 있어야 합니다.

축소

스케일업과 정반대로 클러스터를 원하는 수로 줄입니다. 하지만 3 이상은 아니어야 합니다.

카우치베이스 MVP는 3노드입니다.

카우치베이스 서버 백업 및 복원

cbbackupmgr을 통한 CB 클러스터 백업

지정된 백업 마운트/볼륨에 백업 리포지토리를 생성합니다.

백업

복원

다른 네임스페이스에서 샘플 Python 애플리케이션 실행하기

앱 계층을 위한 네임스페이스 만들기

앱 포드 배포

샘플 파이썬 프로그램을 실행하여 카우치베이스 클러스터에 문서를 업로드합니다.

앱 파드에 파드 셸/엑섹에 로그인합니다.

파이썬 SDK 설치를 위한 포드 준비하기

파이썬 SDK용 prep-app-pod

파드의 FQDN으로 프로그램 편집하기

카우치베이스 포드에 실행한 후 아래 명령을 실행하세요.

앱 포드에 대한 FQDN 받기

올바른 연결 문자열로 프로그램 편집

연결 문자열은 아래와 같습니다:

미니큐브의 네임스페이스는 모두 동일한 kube-dns를 공유하기 때문에

프로그램 실행

삽입된 문서는 다음과 같이 표시되어야 합니다.

결론

미니큐브 버전인 v1.2.0에 버전 1.2로 Couchbase Autonomous Operator를 배포했습니다. Couchbase 클러스터에는 네임스페이스로 역할이 제한된(보다 안전한) 권한 컨트롤러, RBAC가 필요합니다. 배포된 CRD는 클러스터 전체 범위를 갖지만 이는 설계상입니다. 배포된 Couchbase 클러스터에는 PV 지원 및 고객 x509 인증서가 있었습니다.
Couchbase 클러스터가 어떻게 자가 치유를 통해 사용자의 개입 없이도 클러스터를 정상적으로 복구하는지 확인했습니다.

백업 및 복원은 Couchbase 서버에 매우 중요합니다. 백업 및 복원을 수행하는 데 권장되는 유틸리티는 cbbackupmgr입니다. 또한 네임스페이스에 배포된 애플리케이션 포드에 Couchbase 파이썬 sdk를 설치하는 방법과 해당 애플리케이션이 Couchbase 서버와 대화하고 CRUD 작업을 수행하도록 하는 방법도 살펴봤습니다.

정리(선택 사항)

생성된 모든 k8s 에셋의 구성을 해제하려면 아래 단계를 수행하세요.

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 램 다크네

Ram Dhakne은 Couchbase의 미국 서부 솔루션 컨설턴트입니다. 그는 현재 엔터프라이즈 고객의 디지털 혁신 여정을 돕고 NoSQL 기술 도입을 지원하고 있습니다. 현재 그의 관심 분야는 AKS, GKE, ACS 및 OpenShift에서 실행되는 Kubernetes 클러스터에서 Couchbase NoSQL 서버와 같은 영구 애플리케이션을 실행하여 Kubernetes에서 엔드투엔드 보안을 유지하는 것입니다. 과거에는 IaaS 플랫폼(AWS, GCP, Azure 및 프라이빗 클라우드), 엔터프라이즈 백업 대상 제품 및 백업 애플리케이션에 대해 작업했습니다.

댓글 하나

  1. 안녕하세요 램 ,
    감사합니다 ... 이것은 좋은 포괄적 인 문서입니다 ... 내가 찾고 있던 것을 몇 가지 지적합니다 :
    웹 콘솔에서 모든 노드가 사라지도록 모든 서비스에 대해 클러스터 구성을 0으로 편집할 수 있나요?
    또한 자율 프레임 워크에서 전체 클러스터를 다시 시작하려는 경우 실행중인 포드 및 프로세스를 중지하는 방법 또는 프로세스는 무엇입니까? 데이터 손실 없이 그렇게 할 수 있는 기능이 있나요?

    때로는 재조정과 같은 작업이 미쳤고 결코 멈추지 않으므로 (해결되지 않은 CB에 많은 오픈 티켓이 표시됨)이 시나리오에서는 가능하면 클러스터를 다시 시작하고 싶습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.