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 por até 7 dias.
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
kubectle 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.
- Por padrão, 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. Você pode especificar uma janela de reinicialização off-line em que um nó pode se reconectar a um cluster após a reinicialização enquanto o cluster está em execução no modo de capacidade de sobrevivência. Para mais informações, consulte Criar um cluster.
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.comanthosaudit.googleapis.comanthosgke.googleapis.comcloudresourcemanager.googleapis.comconnectgateway.googleapis.comcontainer.googleapis.comedgecontainer.googleapis.comgkeconnect.googleapis.comgkehub.googleapis.comgkeonprem.googleapis.comiam.googleapis.comlogging.googleapis.commonitoring.googleapis.comopsconfigmonitoring.googleapis.comserviceusage.googleapis.comstackdriver.googleapis.comstorage.googleapis.comsts.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-locationinstrui 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ão3para alta disponibilidade e1para 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-policyespecifica 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-poolsespecifica 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.