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
配置に移行する必要があります。
手順
新しい Kubernetes クラスターを配置します。
この新しいクラスターが配置されると、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
Atlas Kubernetes Operatorv2.x
を新しい K8 s クラスターに配置します。
次のコマンドの<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
既存の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 | 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."
既存の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