您可以按照此升级步骤从 v1.x Atlas Kubernetes Operator 部署进行升级。 为此,您需要更新现有的 MongoDB 自定义资源规范,因为v2.x中的 YAML 字段名称已更改,所有凭证现在都作为 Kubernetes 密钥传递。 此外,您必须启动一个新的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_URL> kubectl config set-context old --cluster=old kubectl config set-cluster new --server=https://<NEW_CLUSTER_URL> kubectl config set-context new --cluster=new
更新现有的AtlasProject CR 定义。
更新现有 YAML 定义以与以下示例保持一致,以便它们根据需要引用以下 API 密钥和档案:
CR 部分 | 云服务提供商 | v1.x | v2.x |
|---|---|---|---|
|
|
| |
|
| ||
|
| ||
|
| ||
|
| ||
|
| ||
| AWS |
|
|
AZURE |
|
| |
GCP |
|
|
通过在前面步骤中进行的更新,生成的 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