Atlas Kubernetes Operator v1.x를 v2.x로 업그레이드합니다.
이 업그레이드 절차에 따라 v1.x
Atlas Kubernetes Operator 배포에서 업그레이드할 수 있습니다. 이렇게 하려면 v2.x
의 YAML 필드 이름이 변경되고 모든 자격 증명이 이제 Kubernetes Secret으로 전달되므로 기존 MongoDB 사용자 지정 리소스 사양을 업데이트해야 합니다. 또한 새 Kubernetes 클러스터를 가동하고 여기에 Atlas Kubernetes Operator v2.x
를 배포한 다음 기존 MongoDB Atlas 데이터베이스 인스턴스의 관리를 이 새로운 Atlas Kubernetes Operator v2.x
배포로 전환해야 합니다.
절차
새 Kubernetes 클러스터를 배포합니다.
이 새 클러스터가 배포되면 이제 두 개의 Kubernetes 클러스터가 생겼습니다. 다음 단계에서는 이러한 각 Kubernetes 클러스터에 대해 kubectl
명령을 실행해야 합니다. 이를 간소화하기 위해 다음 명령을 사용하여 각 Kubernetes 컨텍스트를 구성할 수 있습니다.
kubectl config set-cluster old --server=https://<OLD_CLUSTER_ULR> kubectl config set-context old --cluster=old kubectl config set-cluster new --server=https://<NEW_CLUSTER_ULR> kubectl config set-context new --cluster=new
v2.x
새 K8클러스터 에 Atlas Kubernetes Operator 를 배포합니다.
다음 명령의 <version>
자리 표시자를 원하는 Atlas Kubernetes Operator 버전으로 바꾸고 명령을 실행하여 새로 프로비저닝된 Kubernetes 클러스터에 Atlas Kubernetes Operator를 배포합니다.
kubectl use-context new kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/<version>/deploy/all-in-one.yaml
기존 AtlasProject
CR 정의를 업데이트합니다.
다음 예제에 맞게 기존 YAML 정의를 업데이트하여 필요에 따라 다음 API 시크릿 및 자격 증명을 참조하도록 합니다.
CR 섹션 | 클라우드 제공자 | v1.x | v2.x |
---|---|---|---|
.spec.alertConfiguration.notifications | APIToken | APITokenRef | |
DatadogAPIKey | DatadogAPIKeyRef | ||
FlowdockTokenAPI | FlowdockTokenAPIRef | ||
OpsGenieAPIKey | OpsGenieAPIKeyRef | ||
VictorOpsAPIKey | VictorOpsSecretRef | ||
VictorOpsRoutingKey | VictorOpsSecretRef
( VictorOps 값이 모두 있을 것으로 예상됨) | ||
.spec.encryptionAtRest | AWS | AccessKeyID , SecretAccessKey , CustomerMasterKeyID , RoleID | CloudProviderAccessRoles |
Azure | SubscriptionID , KeyVaultName , KeyIdentifier , Secret | secretRef | |
GCP | ServiceAccountKey , KeyVersionResourceID | secretRef |
이전 단계에서 업데이트한 결과 CRD는 다음 예와 유사하게 표시될 수 있습니다.
apiVersion: atlas.mongodb.com/v1 kind: AtlasProject metadata: name: my-project labels: app.kubernetes.io/version: 1.6.0 spec: name: Test Atlas Operator Project projectIpAccessList: - cidrBlock: "<Public-CIDR-of-K8s-Cluster>" comment: "This CIDR is added to your Atlas Project's Access List."
기존 AtlasDeployment
CR 정의를 업데이트합니다.
기존 YAML 정의에
advancedDeploymentSpec
포함되어 있는 경우 해당 섹션의 이름을deploymentSpec
로 변경합니다.기존 YAML 정의에
deploymentSpec
포함되어 있는 경우 다음deploymentSpec
예제에 맞게 해당 섹션을 업데이트합니다.기존 YAML 정의에
serverlessSpec
포함되어 있는 경우 변경할 필요가 없습니다.
이전 단계에서 업데이트한 결과 CRD는 다음 예와 유사하게 표시될 수 있습니다.
deploymentSpec: clusterType: REPLICASET name: advanced-deployment-2 mongoDBMajorVersion: "5.0" replicationSpecs: - regionConfigs: regionName: EASTERN_US - electableSpecs: nodeCount: 4 instanceSize: M10 autoScaling: compute: scaleDownEnabled: true enabled: true minInstanceSize: M10 maxInstanceSize: M20 providerName: GCP backingProviderName: GCP priority: 7 regionName: US_EAST_2 - electableSpecs: nodeCount: 1 instanceSize: M10 autoScaling: compute: scaleDownEnabled: true enabled: true minInstanceSize: M10 maxInstanceSize: M20 providerName: AWS backingProviderName: AWS priority: 6