41.3. 첫 번째 Operator 시작
이 섹션에서는 Couchbase Operator를 사용하여 새 Couchbase 클러스터를 생성하는 방법을 안내합니다.
사전 요구 사항
- 기술 프리뷰 OLM이 활성화된 OpenShift Container Platform 3.11
-
cluster
-admin 권한이 있는 계정을 사용하여 클러스터에대한 액세스 - Couchbase Operator가 Operator 카탈로그에 로드(기본적으로 기술 프리뷰 OLM을 사용하여 로드됨)
절차
-
클러스터 관리자(cluster
-admin역할의 사용자)로 이 절차를 위해 OpenShift Container Platform 웹 콘솔에 새 프로젝트를 생성합니다. 이 예에서는 couchbase-test 라는 프로젝트를 사용합니다. 프로젝트 내에서 Operator 설치는 Subscription 오브젝트를 통해 수행됩니다. 이 오브젝트는 클러스터 관리자가 전체 클러스터에서 생성하고 관리할 수 있습니다. 사용 가능한 서브스크립션을 보려면 드롭다운 메뉴에서 클러스터 콘솔로 이동한 다음 왼쪽 탐색의 Operator
Catalog Sources 화면으로 이동합니다. 참고프로젝트에서 서브스크립션을 보고, 만들고, 관리할 수 있도록 추가 사용자를 활성화하려면 해당 프로젝트에 대한
admin및view역할과operator-lifecycle-manager프로젝트에 대한view역할이 있어야 합니다. 클러스터 관리자는 다음 명령을 사용하여 이러한 역할을 추가할 수 있습니다.$ oc policy add-role-to-user admin <user> -n <target_project> $ oc policy add-role-to-user view <user> -n <target_project> $ oc policy add-role-to-user view <user> -n operator-lifecycle-manager이 환경은 OLM의 향후 릴리스에서 간소화될 예정입니다.
웹 콘솔 또는 CLI에서 Couchbase 카탈로그 소스에 원하는 프로젝트를 등록합니다.
다음 방법 중 하나를 선택합니다.
- 웹 콘솔 방법의 경우 원하는 프로젝트가 표시되는지 확인하고 이 화면에서 Create Subscription on an Operator를 클릭하여 프로젝트에 설치합니다.
CLI 메서드의 경우 다음 정의를 사용하여 YAML 파일을 생성합니다.
couchbase-subscription.yaml 파일
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: generateName: couchbase-enterprise- namespace: couchbase-test1 spec: source: certified-operators name: couchbase-enterprise startingCSV: couchbase-operator.v1.0.0 channel: preview- 1
metadata섹션의namespace필드가 원하는 프로젝트로 설정되어 있는지 확인합니다.
그런 다음 CLI를 사용하여 서브스크립션을 생성합니다.
$ oc create -f couchbase-subscription.yaml
서브스크립션이 생성되면 카탈로그 사용자가 Operator에서 제공한 소프트웨어를 시작하는 데 사용할 수 있는 Cluster Service Versions (클러스터 서비스 버전) 화면에 표시됩니다. 이 Operator의 기능에 대한 자세한 내용을 보려면 Couchbase Operator를 클릭합니다.
그림 41.3. Couchbase Operator 개요
Couchbase 클러스터를 만들기 전에 수퍼 사용자 계정에 대한 자격 증명을 보유한 웹 콘솔 또는 CLI를 사용하여 다음 정의로 시크릿을 생성합니다. Operator는 시작 시 이를 읽고 다음 세부 사항을 사용하여 데이터베이스를 구성합니다.
Couchbase 시크릿
apiVersion: v1 kind: Secret metadata: name: couchbase-admin-creds namespace: couchbase-test1 type: Opaque stringData: username: admin password: password- 1
metadata섹션의namespace필드가 원하는 프로젝트로 설정되어 있는지 확인합니다.
다음 방법 중 하나를 선택합니다.
-
웹 콘솔 방법의 경우 왼쪽 탐색에서 워크로드
시크릿 을 클릭한 다음 생성을 클릭하고 YAML에서 Secret 을 선택하여 시크릿 정의를 입력합니다. CLI 메서드의 경우 시크릿 정의를 YAML 파일(예: couchbase-secret.yaml)에 저장하고 CLI를 사용하여 원하는 프로젝트에서 생성합니다.
$ oc create -f couchbase-secret.yaml
새 Couchbase 클러스터를 만듭니다.
참고지정된 프로젝트에서
edit역할을 가진 모든 사용자는 클라우드 서비스와 마찬가지로 셀프 서비스 방식으로 프로젝트에 이미 설치된 Operator가 관리하는 애플리케이션 인스턴스(이 예에서는 Couchbase 클러스터)를 생성, 관리 및 삭제할 수 있습니다. 이 기능을 사용하여 추가 사용자를 활성화하려면 클러스터 관리자가 다음 명령을 사용하여 역할을 추가할 수 있습니다.$ oc policy add-role-to-user edit <user> -n <target_project>웹 콘솔의 Cluster Service Versions (클러스터 서비스 버전) 섹션에서 Operator의 Overview (개요) 화면에서 Create Couchbase Operator를 클릭하여 새
CouchbaseCluster오브젝트 생성을 시작합니다. 이 오브젝트는 클러스터에서 Operator를 사용할 수 있는 새로운 유형입니다. 이 오브젝트는 내장된Deployment또는ReplicaSet오브젝트와 유사하지만 Couchbase 관리와 관련된 논리를 포함합니다.작은 정보Create Couchbase Operator 단추를 클릭하면 처음으로 404 오류가 표시될 수 있습니다. 이는 알려진 문제입니다. 해결 방법으로 이 페이지를 새로 고쳐 계속합니다. (BZ#1609731)
웹 콘솔에는 최소 시작 템플릿이 포함되어 있지만 Operator 에서 지원하는 모든 기능에 대한 Couchbase 문서를 읽을 수 있습니다.
그림 41.4. Couchbase 클러스터 생성
관리자인증 정보가 포함된 보안 이름을 구성해야 합니다.apiVersion: couchbase.com/v1 kind: CouchbaseCluster metadata: name: cb-example namespace: couchbase-test spec: authSecret: couchbase-admin-creds baseImage: registry.connect.redhat.com/couchbase/server [...]- 오브젝트 정의를 완료하면 웹 콘솔에서 Create(생성 )를 클릭하거나 CLI를 사용하여 오브젝트를 생성합니다. 그러면 Operator에서 Couchbase 클러스터의 Pod, 서비스 및 기타 구성 요소를 시작합니다.
이제 Operator에서 자동으로 생성 및 구성하는 여러 리소스가 프로젝트에 포함됩니다.
그림 41.5. Couchbase 클러스터 세부 정보
Resources(리소스 ) 탭을 클릭하여 프로젝트의 다른 포드에서 데이터베이스에 액세스할 수 있는 Kubernetes 서비스가 생성되었는지 확인합니다.
cb-example서비스를 사용하여 시크릿에 저장된 자격 증명을 사용하여 데이터베이스에 연결할 수 있습니다. 다른 애플리케이션 포드는 이 시크릿을 마운트 및 사용할 수 있으며 서비스와 통신할 수 있습니다.
이제 Pod가 비정상 상태가 되거나 클러스터의 노드 간에 마이그레이션될 때 오류에 반응하고 데이터를 리밸런싱할 Couchbase의 내결함성 설치가 있습니다. 가장 중요한 것은 클러스터 관리자 또는 개발자가 고급 구성을 제공하여 이 데이터베이스 클러스터를 쉽게 가져올 수 있다는 점입니다. Couchbase 클러스터링 또는 페일오버의 미묘한 지식이 필요하지 않습니다.
공식 Couchbase 설명서에서 Couchbase Autonomous Operator의 기능에 대해 자세히 알아보십시오.