将 Atlas Kubernetes Operator v 1 .x 升级到 v 2 .x
您可以按照此升级步骤从 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_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
更新现有的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