카우치베이스 자율 운영자 는 오픈 소스 Kubernetes 및 Red Hat Openshift와 클라우드 네이티브 통합을 제공하는 Kubernetes 운영자입니다. 사용자는 Kubernetes의 선언적 기능을 사용하여 Couchbase 서버 클러스터를 정의하고 해당 클러스터의 속성을 관리할 수 있습니다. 이 선언적 기능은 환경 정의를 소스 제어에 저장할 수 있기 때문에 유용합니다.

운영자의 목표는 하나 이상의 Couchbase Server 배포를 완벽하게 관리하는 것입니다. 클러스터 수명 주기(프로비저닝, 확장, 업그레이드, 자동 복구) 및 구성(영구 볼륨, 서버 그룹, XDCR, TLS, RBAC, 백업/복원)을 관리합니다. 운영자는 대규모 Couchbase 환경을 관리하는 데 강력한 도구이며, 이를 위해 카우치베이스 운영자 문서.

Cloud-native Automation with Couchbase Documentation

저장 및 복원: 관리되지 않는 토폴로지를 마이그레이션하는 방법

우리는 저장 및 복원 기능을 추가했습니다. 이 기능을 사용하면 사용자가 비관리형 카우치베이스 클러스터로 전환하여 관리 클러스터. 이 기능을 사용하면 관리되지 않는 데이터 토폴로지로 Autonomous 운영자가 생성한 Couchbase 클러스터를 프로브하고 해당 Couchbase 클러스터의 현재 데이터 토폴로지와 일치하는 데이터 토폴로지 YAML 파일을 검색할 수 있습니다. 사용자는 이 배포 YAML 파일을 가져와서 기존 클러스터에 적용하여 토폴로지를 잠그거나 새 클러스터 환경에 적용하여 환경을 마이그레이션할 수 있습니다. 

이 기능의 사용 사례는 무궁무진합니다! 하지만 이 글에서는 신속하고 민첩한 R/D 환경에서 수동으로 관리되는 데이터 토폴로지에서 보다 안정적인 프로덕션 환경으로 환경을 마이그레이션하는 데 초점을 맞추고자 합니다.

Couchbase를 처음 사용하든 노련한 전문가든 상관없이 새로운 저장 및 복원 기능을 사용하면 CI/CD 파이프라인이 크게 간소화됩니다. 관리되지 않는 클러스터에서 관리되는 클러스터로 쉽게 전환할 수 있으므로 파이프라인의 환경 제어를 유지하면서 빠른 속도로 개발을 계속할 수 있습니다.

Couchbase 클러스터 스키마 마이그레이션 데모 보기  

이 기능을 시연하려면 먼저 관리되지 않는 상태로 Kubernetes에서 Couchbase 서버 클러스터를 만들어야 합니다. 이를 위해 unmanaged.yaml file:

이 클러스터를 만들려면 다음 명령을 사용합니다: 이렇게 하면 모든 서비스가 포함된 간단한 비관리형 클러스터가 생성되지만 버킷 및 RBAC 관리는 해제됩니다. 또한 다음과 같은 사용자 이름으로 클러스터에 액세스할 수 있는 비밀도 포함됩니다. 관리자 의 비밀번호와 비밀번호

이 클러스터에 액세스하기 위해 포트 8091을 포트 포워딩하여 빠른 개발 액세스를 위해 Couchbase 서버 관리자 UI에 액세스할 수 있도록 합니다. 관리자 포트에 정기적으로 액세스하려면 로드 밸런서 포트 설정에 대한 문서를 참조하세요. 

이 포트 포워딩을 만들려면 다음 명령을 사용합니다: 

이제 관리자 자격 증명을 사용하여 8091 포트의 웹 UI에 액세스한 다음 버킷, 범위 및 컬렉션을 만들 수 있습니다. 이 예제에서는 블로그 앱 버킷, 범위는 en-US 및 해당 범위 내의 일부 컬렉션.

다음으로, 다음에 대한 범위를 추가합니다. en-US.

Add scope to Couchbase Kubernetes Operator

마지막으로, 마지막으로 블로그 컬렉션.

Add collection to Couchbase Autonomous Operator Kubernetes

이제 다음과 같은 트리 구조가 생겼습니다:

데이터 토폴로지가 완성되면, 데이터 토폴로지를 생성하기 위해 cao 명령으로 바이너리를 입력합니다:

이렇게 하면 topology.yaml:

클러스터 토폴로지 복제

이제 토폴로지 파일을 사용하여 다른 클러스터로 복원하여 구조를 새 환경에 복제할 수 있습니다. 이렇게 하려면 managed.yaml 이 콘텐츠가 포함되어 있습니다:

다음으로 다음을 사용하여 관리되는 클러스터를 만듭니다: 이것은 우리의 unmanaged.yaml대신 버킷은 관리 그리고 관리되지 않는 클러스터의 비밀을 다시 사용했습니다. 

관리형 클러스터로 토폴로지 복원하기

해당 클러스터가 스핀업된 후에는 cao 바이너리를 사용하여 새로 생성된 관리형 클러스터에 토폴로지 YAML을 복원합니다:

Restoring managed cluster topology with YAML file for migration
마지막으로, 검증을 위해 새 관리형 클러스터에 대한 간단한 포트 포워드를 만들고 데이터 토폴로지를 확인합니다. 다음 명령을 사용하여 포트 포워드를 만들고 브라우저를 다음 주소로 엽니다. http://127.0.0.1:8091.  

적절한 데이터 토폴로지가 표시되어야 합니다.

Confirm schema migration by viewing scopes and collection in Couchbase

이제 데이터 토폴로지를 마이그레이션했으므로 한 환경에서 다른 환경으로 데이터를 마이그레이션할 수 있습니다. 다음과 같은 방법을 사용하는 것이 좋습니다. 데이터 센터 간 복제(XDCR) 을 사용하여 한 클러스터에서 다른 클러스터로 데이터를 쉽게 이동할 수 있습니다. XDCR 설정에 대한 자세한 내용은 다음에서 확인할 수 있습니다. 카우치베이스 운영자 문서.

다음 단계 및 리소스

몇 가지 유의해야 할 사항이 있습니다:

    • 저장은 RBAC 역할/그룹을 저장하지 않습니다. 직접 마이그레이션해야 합니다.
    • 그리고 cao 도구는 대상 클러스터에 대한 모든 변경 사항을 알려줍니다. 다음과 같이 표시된 모든 항목은 삭제 가 삭제되어 데이터가 손실될 수 있습니다.

이 게시물에서는 다음 주제를 다루었습니다:

 

작성자

게시자 저스틴 애쉬워스 - 수석 소프트웨어 엔지니어

댓글 남기기