Docs Menu
Docs Home
/ /
MongoDB Atlas Kubernetes Operator

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 배포로 전환해야 합니다.

1

이 새 클러스터가 배포되면 이제 두 개의 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
2

다음 명령의 <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
3

"이전" Kubernetes 클러스터에서 v1.x Atlas Kubernetes Operator 배포의 복제본 수를 0 로 확장하여 다음을 실행하여 연결된 MongoDB Atlas 배포를 더 이상 모니터링하고 업데이트하지 않도록 합니다.

kubectl use-context old
kubectl scale --replicas=0 deployment.apps/mongodb-atlas-operator -n mongodb-atlas-system
4

다음 예제에 맞게 기존 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."
5
  • 기존 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
6

다음 명령을 실행하여 업데이트된 Atlas Kubernetes Operator 리소스를 배포합니다.

kubectl use-context new
kubectl apply -f resource.yaml
7

Atlas Kubernetes Operator 2.x 배포에서 복제본 수를 1 로 설정하여 새 Atlas Kubernetes Operator가 마이그레이션된 리소스를 선택할 수 있도록 합니다. 이러한 리소스는 기존 AKO 1.9.x와 의미상 동일하기 때문입니다. MongoDB Atlas 리소스 자체는 변경되지 않습니다.

8

다음 명령을 실행하여 새로 배포된 사용자 지정 리소스의 상태를 확인합니다.

kubectl use-context new
kubectl describe atlasprojects <your-project-name>
kubectl describe atlasdeployments <your-deployment-name>

돌아가기

ChangeLog