Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Actualiza Atlas Kubernetes Operator v1.x a v2.x

Puedes ascender de un v1.x Implementación del operador de Kubernetes de Atlas siguiendo este procedimiento de actualización. Para ello, tendrás que actualizar la especificación del recurso personalizado de MongoDB existente, ya que los nombres de los campos YAML en v2.x han cambiado y todas las credenciales se pasan ahora como secretos de Kubernetes. Además, debes crear un nuevo clúster de Kubernetes, implementar Atlas Kubernetes Operator v2.x allí y luego migrar la gestión de tu instancia existente de la base de datos MongoDB Atlas a este nuevo implementación de Atlas Kubernetes Operator v2.x.

1

Con este nuevo clúster implementado, ahora tienes dos clústeres de Kubernetes. Los siguientes pasos requieren que ejecutes comandos kubectl en cada uno de estos clústeres de Kubernetes. Para simplificar esto, puedes configurar cada uno de los contextos 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 v1.x Atlas Kubernetes Operator deployment a 0 en su clúster de Kubernetes "antiguo", de modo que ya no supervise ni actualice la implementación asociada de MongoDB Atlas 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
versión 2.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, su CRD resultante podría parecerse 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 tu definición YAML existente incluye un advancedDeploymentSpec, renombra 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 tu definición YAML existente incluye un serverlessSpec, no se requieren cambios.

Como resultado de las actualizaciones que realizó en los pasos anteriores, su CRD resultante podría parecerse 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

Ejecuta el siguiente comando para implementar tus recursos actualizados de Atlas Kubernetes Operator:

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 el estado de sus recursos personalizados recientemente implementados:

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

Volver

Registro de cambios