Puedes actualizar desde un v1.x Implementación del Operador de Kubernetes de Atlas siguiendo este procedimiento de actualización. Para ello, deberá actualizar su especificación de recursos personalizados de MongoDB, ya que los nombres de los campos YAML en v2.x han cambiado y todas las credenciales ahora se transfieren como Secretos de Kubernetes. Además, debe crear un nuevo clúster de Kubernetes, implementar allí el Operador de Kubernetes de Atlas v2.x y, a continuación, migrar la administración de su instancia de base de datos Atlas de MongoDB a esta nueva implementación del Operador de Kubernetes de Atlas v2.x.
Procedimiento
Implementar un nuevo clúster de Kubernetes.
Con este nuevo clúster implementado, ahora tiene dos clústeres de Kubernetes. Los siguientes pasos requieren que ejecute el comando kubectl en cada uno de estos clústeres de Kubernetes. Para simplificarlo, puede configurar cada contexto de Kubernetes con los siguientes comandos:
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
Implemente Atlas Kubernetes Operator v2.x en su nuevo8clúster K s.
Reemplace el marcador de posición <version> en el siguiente comando con la versión deseada de Atlas Kubernetes Operator y ejecute el comando para implementar Atlas Kubernetes Operator en su clúster de Kubernetes recién aprovisionado.
kubectl use-context new kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/<version>/deploy/all-in-one.yaml
Escale el recuento de réplicas de su operador v1.x Atlas Kubernetes a cero.
Escale el recuento de réplicas en su implementación de Atlas Kubernetes Operator v1.x a 0 en su clúster de Kubernetes "antiguo", de modo que ya no monitoree ni actualice la implementación de MongoDB Atlas asociada ejecutando:
kubectl use-context old kubectl scale --replicas=0 deployment.apps/mongodb-atlas-operator -n mongodb-atlas-system
Actualizar las AtlasProject definiciones de CR existentes.
Actualice sus definiciones YAML existentes para alinearlas con el siguiente ejemplo, de modo que hagan referencia a los siguientes secretos y credenciales de API según sea necesario:
Sección CR | Proveedor de nube | v1.x | v2.x |
|---|---|---|---|
|
|
| |
|
| ||
|
| ||
|
| ||
|
| ||
|
| ||
| AWS |
|
|
Azure |
|
| |
GCP |
|
|
Como resultado de las actualizaciones que realizó en los pasos anteriores, el CRD resultante podría verse similar al siguiente ejemplo:
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."
Actualizar las AtlasDeployment definiciones de CR existentes.
Si su definición YAML existente incluye un
advancedDeploymentSpec, cambie el nombre de esa sección adeploymentSpec.Si su definición YAML existente incluye un
deploymentSpec, actualice esa sección para alinearla con el siguiente ejemplodeploymentSpec.Si su definición YAML existente incluye un
serverlessSpec, no se requieren cambios.
Como resultado de las actualizaciones que realizó en los pasos anteriores, el CRD resultante podría verse similar al siguiente ejemplo:
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
Escala el número de miembros del set de réplicas en la implementación actualizada.
Establezca el número de réplicas en 1 en su implementación de Atlas Kubernetes Operator 2.x para que el nuevo Atlas Kubernetes Operator recoja los recursos migrados. Dado que estos recursos son semánticamente iguales a sus recursos personalizados de AKO 1.9.x existentes, sus recursos de MongoDB Atlas no cambiarán.