Noções básicas sobre verificações de simulação

Nos clusters do Anthos em bare metal, você pode executar verificações de simulação para diferentes situações:

  • Os clusters do Anthos em bare metal executam verificações de simulação quando você cria ou atualiza clusters de administrador, clusters híbridos, clusters independentes ou clusters de usuários e recursos do pool de nós com bmctl. Se as verificações falharem, nenhuma alteração será feita. Também é possível ignorar essas verificações.
  • Os clusters do Anthos em bare metal também executa verificações de simulação internas quando você aplica recursos do Kubernetes a clusters de usuário de um cluster de administrador ou híbrido. As verificações são executadas antes que as alterações sejam aplicadas aos clusters de usuário afetados. Se as verificações falharem, nenhuma alteração será feita. Também é possível ignorar essas verificações ou executá-las de maneira explícita.

Preparar verificações ao criar clusters usando bmctl

Ao criar clusters de administrador, híbridos, autônomos ou de usuários com o comando bmctl, os clusters do Anthos em bare metal executam automaticamente verificações de simulação antes que sejam feitas alterações.

Quando as verificações são aprovadas, os clusters do Anthos em bare metal criam os clusters.

Ignorar os resultados das verificações automáticas de simulação

Se você quiser ignorar essas verificações de simulação automatizadas, use a sinalização opcional --force no comando.

Como executar verificações de simulação de maneira independente

Também é possível executar verificações de simulação por conta própria antes de criar um cluster, para garantir que seus recursos da máquina e do nó sejam aprovados nas verificações.

  • O comando a seguir valida o arquivo de configuração do cluster especificado, mas não tenta criar o próprio cluster:

    bmctl check config --cluster CLUSTER_NAME

  • Esse comando verifica se as máquinas e a rede estão prontas para a criação do cluster:

    bmctl check preflight --cluster CLUSTER_NAME

Somente clusters do Anthos em bare metal 1.7.0 e versões posteriores são compatíveis com a criação de clusters de usuário com bmctl.

Verificações de simulação para criação do cluster de usuário

Clusters de usuário são criados a partir de um cluster híbrido ou de administrador existente. Os clusters do Anthos em bare metal executam automaticamente verificações de simulação antes de fazer qualquer alteração. Também é possível executar verificações de simulação com kubectl antes de criar um cluster.

  1. Crie um arquivo de configuração de cluster de usuário seguindo as etapas em Como criar clusters de usuários em uma configuração de vários clusters.

  2. Crie um namespace para o novo cluster de usuário. Por exemplo, para criar um novo cluster de usuário chamado user1, crie um namespace chamado cluster-user1. Este é o comando kubectl para criar o namespace, em que ADMIN_KUBECONFIG especifica o caminho para o arquivo kubeconfig do cluster de administrador:

    kubectl --kubeconfig ADMIN_KUBECONFIG create namespace cluster-user1
    

  3. Faça upload do arquivo de chave privada SSH no novo namespace como um secret para estabelecer suas credenciais. Aqui está o comando de amostra, em que ADMIN_KUBECONFIG especifica o caminho para o arquivo kubeconfig do cluster de administrador e SSH_PRIVATE_KEY_FILE_PATH especifica o caminho para o arquivo de chave privada SSH:

    kubectl --kubeconfig ADMIN_KUBECONFIG create secret generic ssh-key -n cluster-user1 --from-file=id_rsa=SSH_PRIVATE_KEY_FILE_PATH
    

  4. Crie um novo arquivo YAML de verificação de simulação com a estrutura a seguir: No campo configYAML, insira o conteúdo de texto do arquivo de configuração do cluster de usuário criado na etapa 1:

    apiVersion: baremetal.cluster.gke.io/v1
    kind: PreflightCheck
    metadata:
    generateName: preflightcheck-
    namespace: cluster-user1
    spec:
    configYAML: |
    # insert user cluster config file content here.
    
  5. Use o comando kubectl para executar a verificação de simulação para o cluster de usuário:

    kubectl --kubeconfig ADMIN_KUBECONFIG create -f USER_CLUSTER_PREFLIGHT_CHECK_CONFIG
    

    Substitua:

    • ADMIN_KUBECONFIG: o caminho até o arquivo kubeconfig do cluster de administrador.
    • USER_CLUSTER_PREFLIGHT_CHECK_CONFIG: um caminho para o arquivo YAML de verificação de simulação criado na etapa anterior.

    Por exemplo, para um cluster de administrador chamado cluster1 e uma configuração de verificação de simulação do cluster de usuário chamada user1-preflight.yaml, o comando é:

    kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig create -f user1-preflight.yaml
    

    O sistema retorna a seguinte mensagem, com o ID da verificação de simulação:

    preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created
  6. Consulte o status do job de verificação de simulação usando o comando kubectl:

    kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig -n cluster-user1 get preflightchecks preflightcheck-g7hfo4
    

Se o job de verificação de simulação falhar, verifique o status dele e verifique os registros detalhados do job para ver qual falhou. Corrija os problemas mencionados nos jobs adequadamente e execute as verificações novamente.

Verificações de simulação interna em clusters atuais

Os clusters do Anthos em bare metal também faz verificações de simulação interna quando você aplica recursos do Kubernetes a um cluster atual ou híbrido. Se alguma verificação falhar, os clusters do Anthos em matrizes bare metal não alterarão os nós relacionados, a menos que você tenha ignorado as verificações especificamente.

Ignorar verificações de simulação ao aplicar recursos do Kubernetes

Para ignorar as verificações de simulação interna ao aplicar recursos a clusters atuais, você precisa definir o campo BypassPreflightCheck como true no arquivo YAML do cluster.

Este é um fragmento de um arquivo YAML de configuração do cluster, mostrando o campo bypassPreflightCheck definido como true.

# Sample cluster config to bypass preflight check errors:

apiVersion: v1
kind: Namespace
metadata:
  name: cluster-user1
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: user1
  namespace: cluster-user1
spec:
  type: user
  bypassPreflightCheck: true
  # Anthos cluster version.
  anthosBareMetalVersion: 1.7.7
....

Como reativar verificações de simulação

É possível acionar explicitamente uma nova rodada de verificações de simulação. Assim, os clusters do Anthos em bare metal podem atualizar ou criar novos clusters após a conclusão desse processo.

  1. Crie um novo arquivo YAML de verificação de simulação com o conteúdo a seguir. Preencha os campos namespace e clusterName com o nome do cluster que você está criando:

    apiVersion: baremetal.cluster.gke.io/v1
    kind: PreflightCheck
    metadata:
    generateName: preflightcheck-
    namespace: CLUSTER_NAMESPACE
    spec:
    clusterName: CLUSTER_NAME
    

  2. Use o comando kubectl para executar a verificação de simulação do cluster:

    kubectl --kubeconfig ADMIN_KUBECONFIG create -f CLUSTER_PREFLIGHT_CHECK_CONFIG
    

    Substitua:

    • ADMIN_KUBECONFIG: o caminho até o arquivo kubeconfig do cluster de administrador.
    • CLUSTER_PREFLIGHT_CHECK_CONFIG: caminho para o arquivo YAML de verificação de simulação criado anteriormente

    Por exemplo, para um cluster de administrador chamado cluster1 e uma configuração de verificação de simulação do cluster de usuário chamada user1-preflight.yaml, o comando é:

    kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig create -f user1-preflight.yaml
    
    O sistema responde com o ID do job da verificação de simulação:
    preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created
    

  3. Consulte o ID de status do job de verificação de simulação usando o comando kubectl:

    kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig -n cluster-cluster1 get preflightchecks preflightcheck-g7hfo4
    

Após a conclusão do job de verificação de simulação, os clusters do Anthos em bare metal criam o cluster e os recursos dele.

Detalhes da verificação de simulação da instalação

Os clusters do Anthos em bare metal verificam várias condições de pré-requisito do sistema operacional, do software e da máquina ao executar verificações de simulação.

Saiba mais detalhes em Visão geral dos pré-requisitos de instalação.