Modo de capacidade de sobrevivência

Por padrão, o Google Distributed Cloud requer uma conexão constante com Google Cloud para operação normal. Isso acontece porque, por padrão, os clusters criados com o Google Distributed Cloud são clusters do plano de controle da nuvem. Em outras palavras, o plano de controle do Kubernetes que orquestra os workloads em execução em um cluster desse tipo é executado em Google Cloud.

Para aumentar a confiabilidade do Distributed Cloud, você pode criar clusters do Distributed Cloud que usam um plano de controle local implantado no hardware do Distributed Cloud. Quando a conexão com Google Cloud é perdida, esses clusters entram no modo de sobrevivência e as cargas de trabalho continuam sendo executadas.

Somente os clusters do Distributed Cloud implantados com um plano de controle local podem entrar no modo de capacidade de sobrevivência quando a conexão com Google Cloud é perdida. Clusters implantados com um plano de controle na nuvem em execução no Google Cloud não podem entrar no modo de capacidade de sobrevivência. Não é possível reconfigurar um cluster atual que esteja usando um plano de controle da nuvem para usar um plano de controle local.

Ao criar um cluster com um plano de controle local, as seguintes regras se aplicam:

  • É necessário criar clusters locais do plano de controle no próprio projeto Google Cloud . Os clusters de plano de controle local não podem coexistir no mesmo projeto Google Cloud com qualquer outro tipo de cluster, incluindo clusters que não são do Distributed Cloud. Misturar clusters do plano de controle local do Distributed Cloud com qualquer outro tipo de cluster no mesmo projeto Google Cloud pode resultar em perda de dados.
  • Se você reatribuir um nó entre clusters do Distributed Cloud, ele será limpo e redefinido para a configuração padrão.
  • Por padrão, as cargas de trabalho do plano de controle local são executadas no modo de alta disponibilidade com três réplicas que abrangem três nós escolhidos automaticamente pelo Distributed Cloud. Isso é verdade, a menos que haja menos de três nós no cluster ou que você configure especificamente o cluster para usar um nó para executar as cargas de trabalho do plano de controle local. Você também pode especificar os três nós para o modo de alta disponibilidade usando a flag --control-plane-machine-filter. Nenhuma outra combinação de nós é compatível.
  • Os nós que executam as cargas de trabalho do plano de controle local também executam as cargas de trabalho do aplicativo.
  • Os endereços IP dos endpoints do plano de controle local podem ser acessados na sua rede local. Verifique se a configuração de segurança da sua rede local impede o acesso externo a esses endereços IP.

No modo de capacidade de sobrevivência, um cluster do Distributed Cloud opera da seguinte maneira:

  • O controle sobre as cargas de trabalho pela Google Cloud CLI, pela CLI do kubectl e pela API Edge Container está desativado.
  • As atualizações de software, os SLOs e o reparo de hardware do Distributed Cloud não estão disponíveis.
  • Os registros e as métricas limitados são sincronizados com Google Cloud depois que a conexão com Google Cloud é restabelecida.
  • Se um nó for reinicializado enquanto o cluster estiver desconectado do Google Cloud, ele não poderá se reconectar ao cluster até que a conexão com Google Cloud seja restabelecida, porque a chave de autenticação não pode ser atualizada.

Pré-requisitos

Antes de criar um cluster do Distributed Cloud com um plano de controle local, é necessário ativar as APIs necessárias no projeto de destino Google Cloud . Para isso, você precisa ter um dos seguintes papéis no projeto Google Cloud :

  • Proprietário (roles/owner)
  • Editor (roles/editor)
  • Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin)

Para mais informações sobre esses papéis, consulte Papéis básicos.

Para informações sobre como conceder papéis, consulte Conceder um único papel.

Para criar um cluster do Distributed Cloud com um plano de controle local, ative as seguintes APIs:

  • anthos.googleapis.com
  • anthosaudit.googleapis.com
  • anthosgke.googleapis.com
  • cloudresourcemanager.googleapis.com
  • connectgateway.googleapis.com
  • container.googleapis.com
  • edgecontainer.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • gkeonprem.googleapis.com
  • iam.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com
  • storage.googleapis.com
  • sts.googleapis.com

Para informações sobre como ativar APIs, consulte Como ativar serviços.

Faça upgrade do SDK Google Cloud para a versão 450.0.0 ou mais recente

Faça upgrade do SDK Google Cloud para a versão 450.0.0 ou mais recente para criar clusters de plano de controle local que executam o software Distributed Cloud versão 1.5.0. Caso contrário, a criação desses clusters vai falhar.

Criar um cluster com um plano de controle local

Para criar um cluster do Distributed Cloud com um plano de controle local, transmita as seguintes flags ao criar o cluster:

  • --control-plane-node-location instrui o Distributed Cloud a implantar as cargas de trabalho do plano de controle para esse cluster localmente. O valor é o nome da zona de destino do Distributed Cloud.
  • --control-plane-node-count (opcional) especifica o número de nós em que as cargas de trabalho do plano de controle local serão executadas. Os valores válidos são 3 para alta disponibilidade e 1 para operação padrão. Se omitido, o padrão é 3.
  • --control-plane-machine-filter (opcional) especifica uma lista formatada em regex de nós que executam as cargas de trabalho do plano de controle local. Se omitido, o Distributed Cloud seleciona os nós automaticamente de forma aleatória.
  • --control-plane-shared-deployment-policy especifica se as cargas de trabalho do aplicativo podem ser executadas nos nós que executam as cargas de trabalho do plano de controle local. O único valor válido é ALLOWED. Se omitido, a criação do cluster falhará.
  • --external-lb-ipv4-address-pools especifica uma lista separada por vírgulas de endereços IPv4, intervalos de endereços ou sub-redes para tráfego de entrada de serviços executados atrás do balanceador de carga do Distributed Cloud.

Para mais informações sobre como criar clusters do Distributed Cloud, consulte Criar um cluster.

A seguir