Menu Docs
Página inicial do Docs
/ /
Kubernetes Operator do MongoDB Atlas

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.

1

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
2

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
3

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
4

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."
5
  • Se a sua definição YAML existente incluir um advancedDeploymentSpec, renomeie essa seção para deploymentSpec.

  • Se a sua definição YAML existente incluir um deploymentSpec, atualize essa seção para se alinhar com o exemplo deploymentSpec 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
6

Execute o seguinte comando para implementar os seus recursos atualizados do Atlas Kubernetes Operator:

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

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.

8

Execute os seguintes comandos para verificar os status dos seus recursos personalizados recém-implantados:

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

Voltar

Registro de alterações