Docs Menu
Docs Home
/ /
MongoDB Atlas Kubernetes 演算子

Atlas Kubernetes Operator v 1 .x から v 2 .x へのアップグレード

このアップグレード手順 に沿って、 v1.x Atlas Kubernetes Operator 配置からアップグレードできます。 そのためには、既存の MongoDB カスタム リソース仕様を更新する必要があります。 v2.xの YAML フィールド名が変更され、すべての認証情報が Kubernetes Secret として渡されるようになりました。 さらに、新しい Kubernetes クラスターを起動し、それに Atlas Kubernetes Operator v2.xを配置してから、既存の MongoDB Atlas データベースインスタンスの管理をこの新しい Atlas Kubernetes Operator v2.x配置に移行する必要があります。

1

この新しいクラスターが配置されると、Kubernetes クラスターは 2 つになります。 次の手順では、これらの各 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 バージョンに置き換え、 コマンドを実行して Atlas Kubernetes Operator を新しくプロビジョニングされた Kubernetes Operator クラスターに配置します。

kubectl use-context new
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/<version>/deploy/all-in-one.yaml
3

v1.x Atlas Kubernetes Operator 配置のレプリカ数を「古い」Kubernetes クラスターの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
Amazon Web Services
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 が移行されたリソースを選択するようにします。 これらのリソースは既存の ACO 1.9とセマンティクスで等しいため、x カスタム リソースの場合、MongoDB Atlas リソース自体は変更されません。

8

次のコマンドを実行して、新しく配置されたカスタム リソースのステータスを確認します。

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

戻る

変更履歴