그리고 카우치베이스 자율 운영자 2.0 릴리즈에는 Kubernetes에서 Couchbase Server 노드를 그 어느 때보다 쉽게 배포, 프로비저닝, 모니터링 및 관리할 수 있는 여러 가지 획기적인 기능과 개선 사항이 도입되었습니다. Couchbase 서버 노드 외에도, 카우치베이스 모바일 배포에는 다음이 포함됩니다. 동기화 게이트웨이 간의 안전한 데이터 동기화를 제공하는 카우치베이스 라이트 지원 클라이언트 및 클라우드. 카우치베이스 서버는 동기화 게이트웨이를 위한 영구 백업 스토리지입니다.
동기화 게이트웨이의 상태 비저장 특성은 Kubernetes에 적합합니다. 이 포스팅에서는 Couchbase Autonomous Operator 2.0에 도입된 클라이언트 인증 개선 사항을 활용하면서 Kubernetes에 동기화 게이트웨이를 배포하는 방법에 대한 개요를 설명합니다.

동기화 게이트웨이 및 카우치베이스 자율 운영자
동기화 게이트웨이 클러스터는 다음을 사용하여 Couchbase Server 클러스터와 독립적으로 배포 및 관리됩니다. Kubernetes 배포 컨트롤러가 필요합니다. 카우치베이스 운영자가 동기화 게이트웨이를 배포, 프로비저닝 및 관리하는 데 익숙하지 않은 동안에는 패키지 다운로드 에는 동기화 게이트웨이 클러스터를 배포하고 Couchbase Server 클러스터에 연결하기 위한 샘플 배포 템플릿이 포함되어 있습니다.
동기화 게이트웨이 클러스터를 배포하는 데는 크게 두 가지 단계가 있습니다.
동기화 게이트웨이를 카우치베이스 서버에 연결하기
먼저, 동기화 게이트웨이 클러스터를 적절한 Couchbase 서버 버킷으로 부트스트랩해야 합니다. 동기화 게이트웨이 서버 구성 속성으로 설정합니다. 동기화 게이트웨이 클러스터는 다음 네트워크 구성 중 하나를 사용하여 Couchbase 서버에 연결할 수 있습니다.
- 동일한 쿠버네티스 클러스터의 카우치베이스 서버로(일명 "인트라-쿠버네티스")

- 별도의 쿠버네티스 클러스터에 있는 카우치베이스 서버 클러스터(일명 "인터-쿠버네티스")

이를 위해서는 동기화 게이트웨이 버전 2.7.1 이상이 필요합니다.
- 공용 네트워크를 통해 Coucbase Server 클러스터로(일명 "공용 네트워킹").

이를 위해서는 동기화 게이트웨이 버전 2.7.1 이상이 필요합니다.
동기화 게이트웨이와 서버 간의 통신은 다음과 같이 하는 것이 좋습니다. TLS를 통한 보안 네트워크 구성에 관계없이
따라서 적극 권장되기는 하지만 서버가 반드시 Kubernetes에 배포되어야 하는 것은 아닙니다.
동기화 게이트웨이가 서버에 연결할 수 있도록 네트워크를 구성하는 것 외에도 동기화 게이트웨이 노드는 Couchbase 서버로 인증해야 합니다. 두 가지 옵션이 있습니다.
동기화 게이트웨이 RBAC 사용자
이것은 아마도 Couchbase Mobile 배포에 사용되는 가장 일반적인 인증 메커니즘일 것입니다. Operator 2.0은 다음에 대한 지원을 도입합니다. RBAC 관리. 이 기능을 사용하여 운영자가 동기화 게이트웨이 RBAC 사용자 생성을 자동으로 관리하도록 할 수 있습니다. 이를 위해 카우치베이스 사용자 동기화 게이트웨이 사용자에 해당하는 적절한 사용자 역할 바인딩 를 사용하여 동기화 게이트웨이 사용자를 관련 관리 역할에 바인딩합니다(버킷_풀_액세스)에 정의된 대로 카우치베이스 그룹.
이 기능을 활용하려면 RBAC 관리를 사용 설정해야 합니다.

운영자가 RBAC 사용자를 관리하지 않도록 선택할 수 있으며, 이 경우 서버에서 다음과 같이 수동으로 사용자를 만들 수 있습니다. 일반적인 절차.
TLS 클라이언트 인증
오퍼레이터 2.0은 다음을 완벽하게 지원합니다. mTLS (상호 TLS). 이는 클라이언트 인증서를 사용하여 동기화 게이트웨이를 인증하는 데 활용할 수 있습니다.

동기화 게이트웨이가 서버에 성공적으로 연결되면 다음 단계는 Couchbase Lite 클라이언트에 동기화 게이트웨이를 노출하는 것입니다.
동기화 게이트웨이를 카우치베이스 라이트 클라이언트에 노출하기
일반적인 카우치베이스 모바일 배포는 로드 밸런서를 앞세운 하나 이상의 동기화 게이트웨이 노드로 구성됩니다. 카우치베이스 라이트 클라이언트는 로드 밸런서에 연결합니다. 클라이언트에서 동기화 게이트웨이로의 통신은 TLS를 통해 보호됩니다. 몇 가지 배포 옵션이 있습니다.
패스스루 로드밸런서
이 옵션에서는 로드 밸런서가 다음 위치에서 작동합니다. 네트워크 스택의 레이어 4 는 카우치베이스 라이트 클라이언트와 동기화 게이트웨이 간의 트래픽을 통과하는 통로입니다. TLS 연결은 엔드투엔드 연결이며 동기화 게이트웨이에서 종료됩니다. 이 옵션은 외부를 지원하는 클라우드 제공업체에서 작동합니다. 로드 밸런서. 동기화 게이트웨이용 로드밸런서 서비스를 프로비저닝할 수 있습니다.

로드밸런서를 TLS 종료로 사용
이 옵션에서는 애플리케이션 수준 로드 밸런서 는 Couchbase Lite 클라이언트와 동기화 게이트웨이 간의 통신을 가로채는 프록시 역할을 하며, 패킷 내용을 검사하여 로드 밸런싱 결정을 내립니다. 로드 밸런서에서 TLS 연결이 종료되어 동기화 게이트웨이의 부하가 완화됩니다. 이는 Couchbase Mobile의 매우 일반적인 배포 모델입니다.

워크스루
다음 사항에 대한 단계별 지침을 제공하는 3부로 구성된 튜토리얼을 준비했습니다.
- 배포 동기화 게이트웨이 클러스터를 생성하고 서버에 연결합니다.
- 노출 외부 카우치베이스 라이트 및 RESTful 클라이언트에 대한 동기화 게이트웨이 배포 및
- 관리 동기화 게이트웨이 클러스터
여기에는 모범 사례에 대한 설명과 배포에 참조하고 사용자 지정할 수 있는 샘플 .yaml 구성 파일에 대한 설명이 포함되어 있습니다.
이 튜토리얼의 지침은 모든 Kubernetes 환경에 적용됩니다. 관리형 Kubernetes 환경 간에 발생하는 차이점은 주로 네트워크 구성과 플랫폼별 로드 밸런서의 구성에 있습니다.
다음은 자율 운영자를 사용하여 널리 사용되는 관리형 Kubernetes 환경에서 Couchbase 서버 클러스터를 설정하기 위한 직접 링크입니다. Couchbase 서버가 배포되면 위의 튜토리얼에 설명된 단계에 따라 동기화 게이트웨이 클러스터를 배포합니다.
- 아마존 웹 서비스(AWS)에서 쿠버네티스용 아마존 엘라스틱 컨테이너 서비스(EKS)로 카우치베이스 서버 클러스터를 설정하기 위한 지침은 이 문서에 설명되어 있습니다. 튜토리얼
- Azure 클라우드 플랫폼에서 Azure 컨테이너 서비스(AKS)를 사용하여 Couchbase Server 클러스터를 설정하는 지침은 이 문서에 설명되어 있습니다. 튜토리얼
- 아마존 웹 서비스(AWS)에서 쿠버네티스용 아마존 엘라스틱 컨테이너 서비스(EKS)로 카우치베이스 서버 클러스터를 설정하기 위한 지침은 이 문서에 설명되어 있습니다. 튜토리얼
헬름을 사용하여 배포하기
운영자 차트 가 이제 동기화 게이트웨이를 지원하도록 확장되었습니다. 따라서 한 단계로 오퍼레이터, Couchbase 서버 및 동기화 게이트웨이 클러스터를 배포할 수 있습니다! 물론 이 차트를 사용하여 헬름을 사용하여 배포되지 않은 Couchbase 서버에 독점적으로 연결된 동기화 게이트웨이 클러스터를 배포할 수도 있습니다. 동기화 게이트웨이 설치는 기본적으로 비활성화되어 있습니다.
동기화 게이트웨이를 배포하려면 적절한 오버라이드 에 대한 values.yaml 배포 요구 사항에 맞게 사용자 지정하여 설치합니다.
|
1 |
$ 헬름 설치 동기화-게이트웨이-헬름 -값 myvalues.yaml 카우치베이스/카우치베이스-연산자 |
다음 단계
튜토리얼을 보면, Kubernetes를 사용하여 동기화 게이트웨이 컨테이너를 배포하는 데 몇 단계만 거치면 된다는 것을 알 수 있습니다.
질문이나 피드백이 있으면 아래에 댓글을 남기거나 트위터로 언제든지 문의해 주세요. @rajagp 또는 이메일 보내기. . 카우치베이스 포럼 를 통해 질문할 수 있습니다.
감사
다음 분들께 감사드립니다. 사이먼 머레이 튜토리얼에 대한 피드백을 보내주셨습니다.