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 executa verificações de simulação ao criar ou
atualizar clusters, clusters híbridos ou independentes 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. - É possível executar um conjunto limitado de verificações de simulação antes de criar clusters de usuário
a partir de um cluster de administrador ou híbrido com o comando
kubectl
. - 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 admin,
híbridos ou
independentes com o comando
bmctl
, os clusters do Anthos on o bare metal executa 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 antes da criação do cluster. Isso pode ajudar a economizar tempo garantindo que os recursos do seu nó e da sua máquina 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
Não é possível criar clusters de usuário com bmctl
(e há uma verificação de simulação para evitar isso).
Verificações de simulação para criação do cluster de usuário
Clusters de usuário são criados com base em um cluster admin ou híbrido existente e você usa kubectl
para executar verificações de simulação. Com base nos resultados dessas verificações, é possível determinar se há erros e corrigi-los antes da criação do cluster de usuários.
Depois que um cluster híbrido ou administrador for criado e em execução, use o kubectl
para executar verificações de simulação antes de criar um cluster de usuário.
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.
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 chamadocluster-user1
. Este é o comandokubectl
para criar o namespace, em que ADMIN_KUBECONFIG especifica o caminho para o arquivokubeconfig
do cluster de administrador:kubectl --kubeconfig ADMIN_KUBECONFIG create namespace cluster-user1
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
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.
O comando
kubectl
a seguir executa a verificação de simulação do cluster de usuário, em que ADMIN_KUBECONFIG especifica o caminho para o arquivo kubeconfig do cluster de administrador e USER_CLUSTER_PREFLIGHT_CHECK_CONFIG especifica o caminho para o teste antecipado do arquivo YAML criado na etapa anterior:kubectl --kubeconfig ADMIN_KUBECONFIG create -f USER_CLUSTER_PREFLIGHT_CHECK_CONFIG
Por exemplo, para um cluster de administrador chamadocluster1
e uma configuração de verificação de simulação do cluster de usuário chamadauser1-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
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 no bare metal não fará alterações nos 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: v1.6.2 ....
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.
Crie um novo arquivo YAML de verificação de simulação com o conteúdo a seguir. Preencha os campos
namespace
eclusterName
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
Emita o comando
kubectl
para executar a verificação de simulação do cluster, em que ADMIN_KUBECONFIG especifica o caminho para o arquivo kubeconfig do cluster de administrador e CLUSTER_PREFLIGHT_CHECK_CONFIG especifica o caminho para o arquivo YAML de verificação de simulação criada anteriormente na etapa 1 de verificações de simulação para clusters de usuários:kubectl --kubeconfig ADMIN_KUBECONFIG create -f CLUSTER_PREFLIGHT_CHECK_CONFIG
Por exemplo, para um cluster de administrador chamadocluster1
e uma configuração de verificação de simulação do cluster de usuário chamadauser1-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
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 uma variedade de condições de sistema operacional, software e pré-requisito da máquina ao executar verificações de simulação.
Saiba mais detalhes em Visão geral dos pré-requisitos de instalação.