Atualizar o Atlas Kubernetes Operator v1.x para v2.x
Você pode atualizar de um sistema do Atlas Kubernetes Operator v1.x
seguindo este procedimento de atualização. Para fazer isso, você precisará atualizar sua especificação de recurso personalizado MongoDB existente, pois os nomes de campo YAML no v2.x
foram alterados e todas as credenciais são agora passadas como Segredos do Kubernetes. Além disso, você deve criar um novo cluster Kubernetes , implantar o Atlas Kubernetes Operator v2.x
lá e, em seguida, fazer a transição do gerenciamento de sua instância de banco de dados MongoDB Atlas existente para essa nova Atlas Kubernetes Operator v2.x
.
Procedimento
Implemente um novo cluster Kubernetes.
Com esse novo cluster implantado, agora você tem dois clusters Kubernetes. As etapas a seguir exigem que você execute kubectl
comandos em cada um desses clusters do Kubernetes. Para simplificar, você pode configurar cada um dos contextos do Kubernetes com os seguintes 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 o Atlas Kubernetes Operator v2.x
no seu novo8cluster K s.
Substitua o espaço reservado <version>
no comando a seguir pela versão desejada do Atlas Kubernetes Operator e execute o comando para implantar o Atlas Kubernetes Operator em seu recém-provisionado cluster do Kubernetes.
kubectl use-context new kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/<version>/deploy/all-in-one.yaml
Reduza a contagem de réplicas do seu v1.x
Atlas Kubernetes Operator para zero.
Escale a contagem de réplicas em seu sistema v1.x
do Atlas Kubernetes Operator para 0
em seu cluster Kubernetes "antigo", para que ele não monitore e atualize mais o sistema associado do MongoDB Atlas executando:
kubectl use-context old kubectl scale --replicas=0 deployment.apps/mongodb-atlas-operator -n mongodb-atlas-system
Atualize as AtlasProject
definições de CR existentes.
Atualize suas definições YAML existentes para alinhar com o exemplo a seguir, para que elas façam referência aos seguintes segredos e credenciais de API conforme necessário:
Seção CR | Provedor de nuvem | v1.x | v2.x |
---|---|---|---|
.spec.alertConfiguration.notifications | APIToken | APITokenRef | |
DatadogAPIKey | DatadogAPIKeyRef | ||
FlowdockTokenAPI | FlowdockTokenAPIRef | ||
OpsGenieAPIKey | OpsGenieAPIKeyRef | ||
VictorOpsAPIKey | VictorOpsSecretRef | ||
VictorOpsRoutingKey | VictorOpsSecretRef
(esperado para ter ambos os valores VictorOps ) | ||
.spec.encryptionAtRest | AWS | AccessKeyID , SecretAccessKey , CustomerMasterKeyID , RoleID | CloudProviderAccessRoles |
Azure | SubscriptionID , KeyVaultName , KeyIdentifier , Secret | secretRef | |
GCP | ServiceAccountKey , KeyVersionResourceID | secretRef |
Como resultado das atualizações feitas nas etapas anteriores, seu CRD resultante pode ter uma aparência semelhante ao exemplo a seguir:
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."
Atualize as AtlasDeployment
definições de CR existentes.
Se a sua definição YAML existente incluir um
advancedDeploymentSpec
, renomeie essa seção paradeploymentSpec
.Se a sua definição YAML existente incluir um
deploymentSpec
, atualize essa seção para se alinhar com o exemplodeploymentSpec
a seguir.Se a sua definição de YAML existente incluir um
serverlessSpec
, nenhuma alteração será necessária.
Como resultado das atualizações feitas nas etapas anteriores, seu CRD resultante pode ter uma aparência semelhante ao exemplo a seguir:
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
Aumente o número de membros do conjunto de réplicas no sistema atualizado.
Configure a contagem de réplicas para 1
em seu sistema do Atlas Kubernetes Operator 2.x, para que o novo Atlas Kubernetes Operator pegue os recursos migrados. Como esses recursos são semanticamente iguais ao seu AJO 1.9.x existente recursos personalizados, seus próprios recursos do MongoDB Atlas não serão alterados.