Com o recurso de Execução Seca do Atlas Kubernetes Operator , você pode ver o que o Atlas Kubernetes Operator vai mudar no Atlas, com esses recursos personalizados aplicados ao8cluster K S. O Atlas Kubernetes Operator emite eventos para cada recurso que vai criar/atualizar/excluir no Atlas. Os eventos emitidos pelo Atlas Kubernetes Operator executando no modo de execução seca podem ser filtrados pelo motivo de "execução seca". Este recurso é útil para atualizar seus recursos do Operador Atlas .
Pré-requisitos
Para utilizar a funcionalidade Executar Seca do Atlas Kubernetes Operator , você precisa:
Tenha acesso a um novo cluster Kubernetes ou Open Shift.
Aplique os recursos personalizados do Atlas Kubernetes Operator ao seu novo cluster Kubernetes. Ao aplicar seus recursos, certifique-se de fornecer um segredo com credenciais. Você precisa de um novo cluster, pois a atualização de CRDs em seu cluster Kubernetes existente pode deixar o Atlas Kubernetes Operator incapaz de reconciliar os recursos personalizados existentes. Além disso, os CRDs aplicados podem ser uma versão mais recente com possíveis alterações significativas.
Observação
Apenas uma versão dos CRDs Ako pode existir em um cluster Kubernetes específico. Isto significa que para testar a atualização para uma nova versão do Atlas Kubernetes Operator, você precisa implantar um novo cluster Kubernetes (possivelmente um cluster temporário) para executar a execução seca.
Instale CRDs em seu cluster para a versão do Atlas Kubernetes Operator para a qual você deseja executar o teste.
Crie uma conta de serviço do
mongodb-atlas-operator
no seu cluster do Kubernetes.Crie um papel e rolebinding para sua conta de serviço com as seguintes permissões relacionadas aos seus recursos personalizados do Atlas Kubernetes Operator. Você pode criar estes recursos manualmente ou com o Atlas CLI.
list
get
create
update
delete
Eventos de execução seca
O processo de Secagem emite os seguintes tipos de mensagem, cada um dos quais pode ser do tipo Normal
ou Warning
:
Would [verb] ([HTTP-Method]) [Atlas resource URL]
Uma descrição de um determinado recurso do Atlas Kubernetes Operator e o processo do Kubernetes necessário do Kubernetes caso a alteração seja aplicada ao seu ambiente do Atlas . Quando estiver no modo Executar Seca , o Atlas Kubernetes Operator somente emite eventos de execução seca para verbos HTTP que criariam/atualizarão/excluiriam recursos no Atlas, como
POST
,PATCH
,PUT
,DELETE
.
Done
Nenhum outro evento de teste será relatado.
Finished
O trabalho do Kubernetes que executa o processo de execução seca foi concluído.
Procedimento
Aplique o seguinte trabalho do Kubernetes.
Salve o exemplo a seguir em um arquivo chamado dry-run-job.yaml
e aplique-o ao seu cluster executando kubectl apply -f dry-run-job.yaml
. Isto iniciará o Atlas Kubernetes Operator como um Trabalho do Kubernetes com o parâmetro --dry-run
. Cada reconciliação no Atlas Kubernetes Operator será executada apenas uma vez, emitindo eventos para cada recurso se houver alterações entre a especificação do recurso e seu estado no Atlas.
Você pode executar este comando várias vezes sem fazer alterações em seus recursos do Atlas .
1 apiVersion: batch/v1 2 kind: Job 3 metadata: 4 name: ako-dry-run 5 namespace: mongodb-atlas-system 6 spec: 7 backoffLimit: 1 8 template: 9 spec: 10 containers: 11 - args: 12 - --atlas-domain=https://cloud.mongodb.com/ 13 - --log-level=info 14 - --log-encoder=json 15 - --dry-run 16 command: 17 - /manager 18 env: 19 - name: OPERATOR_POD_NAME 20 value: ako-dry-run 21 - name: OPERATOR_NAMESPACE 22 value: mongodb-atlas-system 23 - name: WATCH_NAMESPACE 24 value: mongodb-atlas-system 25 - name: JOB_NAME 26 value: ako-dry-run 27 image: quay.io/mongodb/mongodb-atlas-kubernetes-operator:2.8.0 28 imagePullPolicy: Always 29 livenessProbe: 30 failureThreshold: 3 31 httpGet: 32 path: /healthz 33 port: 8081 34 scheme: HTTP 35 initialDelaySeconds: 15 36 periodSeconds: 20 37 successThreshold: 1 38 timeoutSeconds: 1 39 name: ako-dry-run 40 restartPolicy: Never 41 serviceAccountName: mongodb-atlas-operator
Liste a saída do teste de limpeza.
Quando o Kubernetes Job estiver concluído, você poderá listar os eventos emitidos executando o seguinte comando:
kubectl -n mongodb-atlas-system get events --field-selector reason=DryRun
Este comando retornará uma saída semelhante ao seguinte:
LAST SEEN TYPE REASON OBJECT MESSAGE 103s Normal DryRun atlasproject/my-project Would delete (DELETE) /api/atlas/v1.0/groups/6558f184beba40022cbb2043/integrations/SLACK 101s Warning DryRun atlasproject/my-project finished dry run
Execute o seguinte comando do Atlas CLI .
Execute o seguinte comando do Atlas CLI para iniciar o processo de execução seca. Você pode executar este comando várias vezes sem fazer alterações em seus recursos do Atlas .
atlas kubernetes dry-run --targetNamespace=mongodb-atlas-system --watch
Observação
Se o sinalizador --watch
não for fornecido, o Atlas CLI será encerrado após concluir a instalação.
Liste a saída do teste de limpeza.
Quando o Kubernetes Job estiver concluído, você poderá listar os eventos emitidos executando o seguinte comando:
kubectl -n mongodb-atlas-system get events --field-selector reason=DryRun
Este comando retornará uma saída semelhante ao seguinte:
LAST SEEN TYPE REASON OBJECT MESSAGE 103s Normal DryRun atlasproject/my-project Would delete (DELETE) /api/atlas/v1.0/groups/6558f184beba40022cbb2043/integrations/SLACK 101s Warning DryRun atlasproject/my-project finished dry run