Docs Menu
Docs Home
/ /
MongoDB Atlas Kubernetes Operator

Actualizar Atlas Kubernetes Operator v1.x a v2.x

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.

1

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_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
2

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
3

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
4

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

.spec.alertConfiguration.notifications

APIToken

APITokenRef

DatadogAPIKey

DatadogAPIKeyRef

FlowdockTokenAPI

FlowdockTokenAPIRef

OpsGenieAPIKey

OpsGenieAPIKeyRef

VictorOpsAPIKey

VictorOpsSecretRef

VictorOpsRoutingKey

VictorOpsSecretRef (se espera que tenga ambos valores VictorOps)

.spec.encryptionAtRest

AWS

AccessKeyID, SecretAccessKey, CustomerMasterKeyID, RoleID

CloudProviderAccessRoles

Azure

SubscriptionID, KeyVaultName, KeyIdentifier, Secret

secretRef

GCP

ServiceAccountKey, KeyVersionResourceID

secretRef

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."
5
  • Si su definición YAML existente incluye un advancedDeploymentSpec, cambie el nombre de esa sección a deploymentSpec.

  • Si su definición YAML existente incluye un deploymentSpec, actualice esa sección para alinearla con el siguiente ejemplo deploymentSpec.

  • 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
6

Ejecute el siguiente comando para implementar sus recursos de Atlas Kubernetes Operator actualizados:

kubectl use-context new
kubectl apply -f resource.yaml
7

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.

8

Ejecute los siguientes comandos para verificar los estados de sus recursos personalizados recién implementados:

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

Volver

Registro de cambios