Nesta página, descrevemos como criar e gerenciar recursos de cluster conectado do Google Distributed Cloud. A partir da versão 1.7.0, o Google Distributed Cloud Connected não oferece mais suporte a clusters do plano de controle do Cloud.
Para mais informações sobre os clusters conectados do Distributed Cloud, consulte Como o Distributed Cloud Connected funciona.
Pré-requisitos
Antes de criar um cluster conectado do Distributed Cloud, é necessário ativar as APIs necessárias no projeto Google Cloud de destino. 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 conectado do Distributed Cloud, 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.comkubernetesmetadata.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.
Ao criar um cluster conectado do Distributed Cloud, as seguintes regras se aplicam:
- É necessário criar clusters conectados do Distributed Cloud em um Google Cloud projeto próprio. Os clusters conectados do Distributed Cloud não podem coexistir no mesmo projeto Google Cloud com qualquer outro tipo de cluster, incluindo clusters conectados que não são do Distributed Cloud. Misturar clusters conectados 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 conectados 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.
Assuntos recomendados
Antes de criar um cluster, familiarize-se com os seguintes tópicos:
Criar um cluster
Para criar um cluster conectado da Distributed Cloud, siga as etapas nesta seção. Criar um cluster é uma das várias etapas necessárias para implantar uma carga de trabalho no Distributed Cloud Connected.
Para concluir essa tarefa, você precisa ter o papel de
Administrador de contêineres de borda
(roles/edgecontainer.admin) no seu projeto Google Cloud .
Console
No console do Google Cloud , acesse a página Clusters do Kubernetes.
Clique em Criar.
Na página Criar um cluster, clique na guia Local.
Ao lado da opção Distributed Cloud Edge, clique em Configurar.
Na página Princípios básicos do cluster, forneça as seguintes informações:
- Nome: um nome exclusivo que identifica o cluster. O nome precisa estar em conformidade com a RFC 1213 e consistir apenas em caracteres alfanuméricos minúsculos e hifens (
-). Ele precisa começar e terminar com um caractere alfanumérico. - Local: a Google Cloud região em que você quer criar esse cluster.
- Máximo de pods padrão por nó: o número máximo desejado de pods do Kubernetes a serem executados em cada nó deste cluster.
- Rótulos: permite adicionar um ou mais rótulos ao cluster clicando em Adicionar rótulo.
- Nome: um nome exclusivo que identifica o cluster. O nome precisa estar em conformidade com a RFC 1213 e consistir apenas em caracteres alfanuméricos minúsculos e hifens (
Na navegação à esquerda, clique em Plano de controle.
Na página Plano de controle, forneça as seguintes informações:
- Selecione Local para o local do plano de controle.
- Selecione o projeto conectado do Distributed Cloud de destino.
- Selecione a zona conectada de destino do Distributed Cloud.
- Se quiser, especifique critérios de filtragem para selecionar máquinas específicas do Distributed Cloud e adicionar ao cluster.
- Especifique se você quer que ele seja um cluster de alta disponibilidade.
- Especifique se você quer permitir a implantação compartilhada de cargas de trabalho. Isso permite que suas cargas de trabalho sejam executadas nos nós que executam o plano de controle do cluster.
Na navegação à esquerda, clique em Rede.
Na página Rede, forneça as seguintes informações:
- Intervalo de endereços de pod padrão do cluster: o bloco CIDR IPv4 desejado para pods do Kubernetes que são executados neste cluster.
- Intervalo de endereços de serviço: o bloco CIDR IPv4 desejado para serviços do Kubernetes executados neste cluster.
Para mais informações, consulte Alocação de endereços de rede de serviços e pods do Distributed Cloud.
Na navegação à esquerda, clique em Autorização.
Na página Autorização, informe o nome da conta de usuário no projeto Google Cloud de destino que está autorizada a modificar recursos do cluster.
Atribua um pool de nós ao cluster fazendo uma destas ações:
- Para atribuir um pool de nós atual a esse cluster, na seção Pools de nós da navegação à esquerda, selecione o pool de nós atual e verifique se a configuração do pool de nós na página Detalhes do pool de nós está correta.
- Para criar um pool de nós e atribuir a este cluster, clique em
Adicionar pool de nós e
forneça as seguintes informações na página Detalhes do pool de nós:
- Nome do pool de nós: um nome exclusivo que identifica esse pool de nós.
- Rótulos do pool de nós: clique em Adicionar rótulo para incluir um ou mais rótulos nesse pool de nós.
- Preferência de nós de trabalho: selecione os nós conectados do Distributed Cloud para atribuir a este pool de nós.
Para criar o cluster conectado do Distributed Cloud, clique em Criar.
gcloud
Use o comando gcloud edge-cloud container clusters create:
gcloud edge-cloud container clusters create CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--fleet-project=FLEET_PROJECT_ID \
--cluster-ipv4-cidr=CLUSTER_IPV4_CIDR_BLOCK \
--cluster-ipv6-cidr=CLUSTER_IPV6_CIDR_BLOCK \
--services-ipv4-cidr=SERVICE_IPV4_CIDR_BLOCK \
--services-ipv6-cidr=SERVICE_IPV6_CIDR_BLOCK \
--default-max-pods-per-node=MAX_PODS_PER_NODE \
--release-channel RELEASE_CHANNEL \
--control-plane-node-storage-schema CONTROL_PLANE_STORAGE_SCHEMA \
--control-plane-kms-key=CONTROL_PLANE_KMS_KEY \
--control-plane-node-location=CONTROL_PLANE_LOCATION \
--control-plane-node-count=CONTROL_PLANE_NODE_COUNT \
--control-plane-machine-filter=CONTROL_PLANE_NODE_FILTER \
--control-plane-shared-deployment-policy=CONTROL_PLANE_NODE_SHARING \
--external-lb-address-pools=IPV4/IPV6_DATA_PLANE_ADDRESSES \
--version SOFTWARE_VERSION \
--offline-reboot-ttl REBOOT_TIMEOUT
Substitua:
CLUSTER_ID: um nome exclusivo que identifica o cluster. O nome precisa estar em conformidade com a RFC 1213 e consistir apenas em caracteres alfanuméricos minúsculos e hifens (-). Ele precisa começar e terminar com um caractere alfanumérico.PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a região do Google Cloud em que o cluster é criado.FLEET_PROJECT_ID: o ID do projeto host da frota em que o cluster está registrado. Se essa flag for omitida, o projeto do cluster conectado do Distributed Cloud será usado como o projeto host da frota.CLUSTER_IPV4_CIDR_BLOCK: o bloco CIDR IPv4 desejado para pods do Kubernetes que são executados nesse cluster.CLUSTER_IPV6_CIDR_BLOCK: o bloco CIDR IPv6 desejado para pods do Kubernetes que são executados nesse cluster.SERVICE_IPV4_CIDR_BLOCK: o bloco CIDR IPv4 desejado para serviços do Kubernetes executados neste cluster.SERVICE_IPV6_CIDR_BLOCK: o bloco CIDR IPv6 desejado para serviços do Kubernetes executados neste cluster.MAX_PODS_PER_NODE(opcional): o número máximo desejado de pods do Kubernetes a serem executados em cada nó deste cluster.RELEASE_CHANNEL: (opcional) especifica o canal de lançamento da versão do software do Distributed Cloud que você quer que este cluster execute. Os valores válidos sãoREGULAR(ativar upgrades automáticos do cluster) eNONE(desativar upgrades automáticos do cluster). Se omitido, o padrão éREGULAR.CONTROL_PLANE_STORAGE_SCHEMA(opcional): especifica o esquema de armazenamento local para os nós do plano de controle neste cluster. Para mais informações, consulte Configurar esquemas de armazenamento local.CONTROL_PLANE_KMS_KEY(opcional): o caminho completo para a chave do Cloud KMS que você quer usar com o nó do plano de controle deste cluster. Exemplo:/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
Essa flag só se aplica se você tiver integrado o Distributed Cloud Connected ao Cloud Key Management Service, conforme descrito em Ativar o suporte para chaves de criptografia gerenciadas pelo cliente (CMEK) para armazenamento local.
CONTROL_PLANE_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 conectada de destino da nuvem distribuída.CONTROL_PLANE_NODE_COUNT(opcional): especifica o número de nós em que executar as cargas de trabalho do plano de controle local. Os valores válidos são3para alta disponibilidade e1para operação padrão. Se omitido, o padrão é3.CONTROL_PLANE_NODE_FILTER(opcional): especifica uma lista de nós formatada com regex que executa as cargas de trabalho do plano de controle local. Se omitido, o Distributed Cloud selecionará os nós automaticamente de forma aleatória.CONTROL_PLANE_NODE_SHARING: (opcional) especifica se as cargas de trabalho de aplicativos podem ser executadas nos nós que executam as cargas de trabalho do plano de controle local. Os valores válidos sãoDISALLOWEDeALLOWED. Se omitido, o padrão seráDISALLOWED.IPV4/IPV6_DATA_PLANE_ADDRESSES: especifica um arquivo de configuração em formato YAML ou JSON que lista endereços IPv4 e IPv6, intervalos de endereços ou sub-redes para tráfego de entrada de serviços executados por trás do balanceador de carga do Distributed Cloud quando o cluster está no modo de capacidade de sobrevivência. Para mais informações, consulte Balanceamento de carga da camada 2 com o MetalLB.SOFTWARE_VERSION: especifica a versão do software do Distributed Cloud Connected que você quer que este cluster execute no formato1.X.Y, em queXé a versão secundária eYé a versão de patch, por exemplo,1.5.1. Se omitido, o padrão será a versão de software padrão do servidor, que geralmente é a versão mais recente disponível do Distributed Cloud Connected. Para conferir as versões de software disponíveis para criação de clusters, incluindo a versão padrão do servidor, consulte Receber as versões de software disponíveis para um cluster. Defina a flagRELEASE_CHANNELcomoNONEpara especificar uma versão do software do cluster.REBOOT_TIMEOUT: especifica um período em segundos durante o qual um nó de cluster 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. Se omitido, o padrão será0, que não permite que os nós reinicializados voltem a participar do cluster até que a conexão com Google Cloud seja restabelecida. O valor mínimo de tempo limite é1800ou 30 minutos. Você também pode usar o formato ISO 8601 para esse valor (por exemplo,1dT1h2m3s).ATENÇÃO: se você especificar uma janela de tempo limite de reinicialização, os nós que ficaram off-line poderão ser reinicializados e entrar novamente no cluster, mesmo que você desative ou exclua a chave de armazenamento pelo tempo especificado. Esse risco aumenta com a duração da janela de tempo limite.
API
Faça uma solicitação POST ao método projects.locations.clusters:
POST /v1/projects/PROJECT_ID/locations/REGION/clusters?clusterId=CLUSTER_ID&requestId=REQUEST_ID&fleetId=FLEET_PROJECT_ID
{
"labels": { LABELS,
},
"authorization": {
"adminUsers": {
"username": "USERNAME"
}
},
"fleet": {
"project": "FLEET_PROJECT_ID"
},
"networking": {
"clusterIpv4CidrBlocks": CLUSTER_IPV4_CIDR_BLOCK,
"servicesIpv4CidrBlocks": SERVICE_IPV4_CIDR_BLOCK,
"clusterIpv6CidrBlocks": CLUSTER_IPV6_CIDR_BLOCK,
"servicesIpv6CidrBlocks": SERVICE_IPV6_CIDR_BLOCK,
},
"defaultMaxPodsPerNode": MAX_PODS_PER_NODE,
"releaseChannel": "RELEASE_CHANNEL",
"controlPlaneEncryption": {
"kmsKey": CONTROL_PLANE_KMS_KEY,
},
"controlPlane": {
"local": {
"nodeLocation": "CONTROL_PLANE_LOCATION",
"nodeCount": CONTROL_PLANE_NODE_COUNT,
"machineFilter": "CONTROL_PLANE_NODE_FILTER",
"sharedDeploymentPolicy": "CONTROL_PLANE_NODE_SHARING"
}
},
"externalLoadBalancerIpAddressPools": [
"IPV4/IPV6_DATA_PLANE_ADDRESSES"
],
"targetVersion": "SOFTWARE_VERSION",
"offlineRebootTtl": "REBOOT_TIMEOUT",
}
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a região do Google Cloud em que o cluster de destino do Distributed Cloud conectado é criado.CLUSTER_ID: um nome exclusivo que identifica o cluster. O nome precisa estar em conformidade com a RFC 1213 e consistir apenas em caracteres alfanuméricos minúsculos e hifens (-). Ele precisa começar e terminar com um caractere alfanumérico.REQUEST_ID: um ID programático exclusivo que identifica esta solicitação.FLEET_PROJECT_ID: o ID do projeto host da frota em que o cluster está registrado. Pode ser um projeto separado ou o projeto conectado da Distributed Cloud a que este cluster pertence (PROJECT_ID). O registro da frota é obrigatório.LABELS: uma lista de rótulos a serem aplicados a esse recurso de cluster.USERNAME: o nome da conta de usuário no projeto Google Cloud de destino autorizada a modificar recursos do cluster.CLUSTER_IPV4_CIDR_BLOCK: o bloco CIDR IPv4 desejado para pods do Kubernetes que são executados nesse cluster.CLUSTER_IPV6_CIDR_BLOCK: o bloco CIDR IPv6 desejado para pods do Kubernetes que são executados nesse cluster.SERVICE_IPV4_CIDR_BLOCK: o bloco CIDR IPv4 desejado para serviços do Kubernetes executados neste cluster.SERVICE_IPV6_CIDR_BLOCK: o bloco CIDR IPv6 desejado para serviços do Kubernetes executados neste cluster.MAX_PODS_PER_NODE: o número máximo desejado de pods do Kubernetes a serem executados em cada nó deste cluster.RELEASE_CHANNEL: (opcional) especifica o canal de lançamento da versão do software conectado do Distributed Cloud que você quer que o cluster execute. Os valores válidos sãoREGULAR(ativar upgrades automáticos do cluster) eNONE(desativar upgrades automáticos do cluster). Se omitido, o padrão éREGULAR.CONTROL_PLANE_KMS_KEY(opcional): o caminho completo para a chave do Cloud KMS que você quer usar com o nó do plano de controle deste cluster. Exemplo:/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
Esse parâmetro só se aplica se você tiver integrado o Distributed Cloud Connected ao Cloud Key Management Service, conforme descrito em Ativar o suporte para chaves de criptografia gerenciadas pelo cliente (CMEK) para armazenamento local.
CONTROL_PLANE_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: especifica o número de nós em que executar as cargas de trabalho do plano de controle local. Os valores válidos são3para alta disponibilidade e1para operação padrão.CONTROL_PLANE_NODE_FILTER(opcional): especifica uma lista de nós formatada com regex que executa as cargas de trabalho do plano de controle local. Se omitido, o Distributed Cloud selecionará os nós automaticamente de forma aleatória.CONTROL_PLANE_NODE_SHARING: especifica se as cargas de trabalho de aplicativos podem ser executadas nos nós que executam as cargas de trabalho do plano de controle local. Os valores válidos sãoDISALLOWEDeALLOWED. Se omitido, o padrão seráDISALLOWED.IPV4/IPV6_DATA_PLANE_ADDRESSES: especifica uma carga útil de configuração no formato YAML ou JSON que lista endereços IPv4 e IPv6, intervalos de endereços ou sub-redes para o tráfego de entrada de serviços executados por trás do balanceador de carga do Distributed Cloud quando o cluster está em execução no modo de capacidade de sobrevivência. Para mais informações, consulte Balanceamento de carga da camada 2 com o MetalLB.SOFTWARE_VERSION: especifica a versão do software do Distributed Cloud em que você quer executar este cluster no formato1.X.Y, em queXé a versão secundária eYé a versão do patch. Por exemplo,1.5.1. Se omitido, o padrão será a versão de software padrão do servidor, que geralmente é a versão mais recente disponível do Distributed Cloud Connected. Para conferir as versões de software disponíveis para criação de clusters, incluindo a versão padrão do servidor, consulte Receber as versões de software disponíveis para um cluster. Defina o campoRELEASE_CHANNELcomoNONEpara especificar uma versão do software do cluster.REBOOT_TIMEOUT: especifica um período em segundos durante o qual um nó de cluster 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. Se omitido, o padrão será0, que não permite que os nós reinicializados voltem a participar do cluster até que a conexão com Google Cloud seja restabelecida.ATENÇÃO: se você especificar uma janela de tempo limite de reinicialização, os nós que ficaram off-line poderão ser reinicializados e entrar novamente no cluster, mesmo que você desative ou exclua a chave de armazenamento pelo tempo especificado.
Listar clusters em uma região
Para listar os clusters conectados do Distributed Cloud provisionados em uma regiãoGoogle Cloud , siga as etapas desta seção.
Para concluir essa tarefa, você precisa ter o papel de Leitor do Edge Container (roles/edgecontainer.viewer) no projeto Google Cloud .
Console
No Google Cloud console, acesse a página Clusters.
Examine a lista de clusters.
gcloud
Use o comando gcloud edge-cloud container clusters list:
gcloud edge-cloud container clusters list \
--project=PROJECT_ID \
--location=REGION
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a região Google Cloud em que você criou o cluster conectado do Distributed Cloud.
API
Faça uma solicitação GET ao método projects.locations.clusters.list:
GET /v1/projects/PROJECT_ID/locations/REGION/clusters?clusterId=CLUSTER_ID&filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a região Google Cloud em que o cluster de destino do Distributed Cloud é criado.CLUSTER_ID: o nome do cluster de destino.FILTER: uma expressão que restringe os resultados retornados a valores específicos.PAGE_SIZE: o número de resultados a serem retornados por página.SORT_BY: uma lista delimitada por vírgulas de nomes de campos pelos quais os resultados retornados são classificados. A ordem de classificação padrão é crescente. Para classificar em ordem decrescente, adicione o prefixo~ao campo desejado.PAGE_TOKEN: um token recebido na resposta à última solicitação de lista no camponextPageTokenda resposta. Envie esse token para receber uma página de resultados.
Receber informações sobre um cluster
Para receber informações sobre um cluster conectado do Distributed Cloud, conclua as etapas desta seção.
Para concluir essa tarefa, você precisa ter o papel de Leitor do Edge Container (roles/edgecontainer.viewer) no projeto Google Cloud .
Console
No Google Cloud console, acesse a página Clusters.
Selecione o cluster desejado.
Um painel expansível com informações detalhadas sobre o cluster aparece no painel à direita.
gcloud
Use o comando gcloud edge-cloud container clusters describe:
gcloud edge-cloud container clusters describe CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION
Substitua:
CLUSTER_ID: o nome do cluster de destino.PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a região Google Cloud em que você criou sua zona conectada do Distributed Cloud.
API
Faça uma solicitação GET ao método projects.locations.clusters.get:
GET /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que o cluster conectado do Distributed Cloud de destino é criado.CLUSTER_ID: o nome do cluster de destino.
Receber as versões de software disponíveis para um cluster
Para saber quais versões de software conectadas ao Distributed Cloud estão disponíveis na sua zona conectada ao Distributed Cloud para criar clusters, siga as etapas nesta seção.
Para concluir essa tarefa, você precisa ter o papel de Leitor do Edge Container (roles/edgecontainer.viewer) no projeto Google Cloud .
gcloud
Use o comando gcloud edge-cloud container get-server-config:
gcloud edge-cloud container get-server-config --location=REGION
Substitua REGION: pela Google Cloud região em que você
criou sua zona conectada do Distributed Cloud.
API
Faça uma solicitação GET ao método projects.locations.serverConfig:
GET /v1/projects/PROJECT_ID/locations/REGION/serverConfig
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que o cluster conectado do Distributed Cloud de destino é criado.
Fazer upgrade da versão do software de um cluster
Para fazer upgrade da versão do software de um cluster conectado do Distributed Cloud, siga as etapas desta seção.
Especificar o tamanho da etapa de upgrade de software
Antes de concluir as etapas nesta seção, consulte Atualização de software gradual.
Para especificar o número de nós que podem ficar inativos para upgrades de software simultaneamente, use o comando a seguir:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--max-unavailable-worker-nodes=MAX_UNAVAILABLE_NODES
Substitua:
CLUSTER_ID: o nome do cluster de destino.PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que o cluster de destino do Distributed Cloud Connected foi criado.MAX_UNAVAILABLE_NODES: especifica o número máximo de nós de trabalho que podem ficar inativos para um upgrade de software simultaneamente.
Para redefinir esse valor para o padrão, use o seguinte comando:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--clear-max-unavailable-worker-nodes
Substitua:
CLUSTER_ID: o nome do cluster de destino.PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que o cluster de destino do Distributed Cloud Connected foi criado.
Fazer upgrade de um cluster para uma versão mais recente do software conectado do Distributed Cloud
Para concluir essa tarefa, você precisa ter o papel de
Administrador de contêineres de borda
(roles/edgecontainer.admin) no seu projeto Google Cloud .
gcloud
Use o comando gcloud edge-cloud container clusters upgrade:
gcloud edge-cloud container clusters upgrade CLUSTER_ID \ --location=REGION \ --project=PROJECT_ID \ --schedule=UPGRADE_SCHEDULE \ --version=SOFTWARE_VERSION
Substitua:
CLUSTER_ID: o nome do cluster de destino.REGION: a região Google Cloud em que o cluster de destino do Distributed Cloud foi criado.PROJECT_ID: o ID do projeto Google Cloud de destino.UPGRADE_SCHEDULE: especifica quando acionar o upgrade de software. O único valor válido éIMMEDIATELY.SOFTWARE_VERSION: especifica a versão do software do Distributed Cloud em que você quer executar este cluster no formato1.X.Y, em queXé a versão secundária eYé a versão do patch. Por exemplo,1.5.1. Para conferir as versões de software disponíveis para criação de clusters, incluindo a versão padrão do servidor, consulte Conferir as versões de software disponíveis para um cluster.
API
Faça uma solicitação POST ao método projects.locations.clusters.upgrade:
POST /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID:upgrade?requestId=REQUEST_ID
{
"name": "projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID",
"targetVersion": "SOFTWARE_VERSION",
"schedule": "UPGRADE_SCHEDULE",
}
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que o cluster conectado do Distributed Cloud de destino é criado.CLUSTER_ID: o nome do cluster de destino.REQUEST_ID: um ID programático exclusivo que identifica esta solicitação.UPGRADE_SCHEDULE: especifica quando acionar o upgrade de software. O único valor válido éIMMEDIATELY.SOFTWARE_VERSION: especifica a versão do software do Distributed Cloud Connected que você quer que este cluster execute no formato1.X.Y, em queXé a versão secundária eYé a versão de patch, por exemplo,1.5.1. Para conferir as versões de software disponíveis para criação de clusters, incluindo a versão padrão do servidor, consulte Conferir as versões de software disponíveis para um cluster.
Um upgrade de software geralmente leva cerca de duas horas por nó que faz parte do pool de nós do cluster.
O comando retorna uma operação que permite acompanhar o progresso do upgrade de software. Enquanto o
upgrade de software está em andamento, o status do cluster é definido como Reconciling e retorna para
Running quando o upgrade é concluído. Um status de cluster Error indica que a atualização de software falhou.
Nesses casos, execute o processo de upgrade novamente. Consulte Receber informações sobre um cluster para saber como verificar o status dele.
Modificar um cluster
Para modificar um cluster conectado da nuvem distribuída, siga as etapas nesta seção. Se você estiver modificando a configuração de criptografia de armazenamento do cluster, não será possível atualizar outros parâmetros na mesma operação de atualização.
Para concluir essa tarefa, você precisa ter o papel de
Administrador de contêineres de borda
(roles/edgecontainer.admin) no seu projeto Google Cloud .
gcloud
Use o comando gcloud edge-cloud container clusters update:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--cluster-ipv4-cidr=CLUSTER_IPV4_CIDR_BLOCK \
--services-ipv4-cidr=SERVICES_IPV4_CIDR_BLOCK \
--default-max-pods-per-node=MAX_PODS_PER_NODE \
--release-channel=RELEASE_CHANNEL \
--control-plane-kms-key=CONTROL_PLANE_KMS_KEY \
--offline-reboot-ttl=REBOOT_TIMEOUT \
--max-unavailable-worker-nodes=MAX_UNAVAILABLE_NODES
Substitua:
CLUSTER_ID: o nome do cluster de destino.PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que o cluster conectado do Distributed Cloud de destino é criado.CLUSTER_IPV4_CIDR_BLOCK: o bloco CIDR IPv4 desejado para pods do Kubernetes que são executados nesse cluster.CLUSTER_IPV6_CIDR_BLOCK: o bloco CIDR IPv6 desejado para pods do Kubernetes que são executados nesse cluster.SERVICE_IPV4_CIDR_BLOCK: o bloco CIDR IPv4 desejado para serviços do Kubernetes executados neste cluster.SERVICE_IPV6_CIDR_BLOCK: o bloco CIDR IPv6 desejado para serviços do Kubernetes executados neste cluster.MAX_PODS_PER_NODE: o número máximo desejado de pods do Kubernetes a serem executados em cada nó deste cluster.RELEASE_CHANNEL(opcional): especifica o canal de lançamento da versão do software do Google Distributed Cloud Connected que você quer que o cluster execute. Os valores válidos sãoREGULAR(ativar upgrades automáticos do cluster) eNONE(desativar upgrades automáticos do cluster). Se omitido, o padrão éREGULAR.CONTROL_PLANE_KMS_KEY(opcional): o caminho completo para a chave do Cloud KMS que você quer usar com o nó do plano de controle deste cluster. Exemplo:/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
Esse parâmetro só se aplica se você tiver integrado o Distributed Cloud Connected ao Cloud Key Management Service, conforme descrito em Ativar o suporte para chaves de criptografia gerenciadas pelo cliente (CMEK) para armazenamento local.
REBOOT_TIMEOUT: especifica um período em segundos durante o qual um nó de cluster 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. Se omitido, o padrão será0, que não permite que os nós reinicializados voltem a participar do cluster até que a conexão com Google Cloud seja restabelecida.ATENÇÃO: se você especificar uma janela de tempo limite de reinicialização, os nós que ficaram off-line poderão ser reinicializados e entrar novamente no cluster, mesmo que você desative ou exclua a chave de armazenamento pelo tempo especificado.
MAX_UNAVAILABLE_NODES(opcional): especifica o número máximo de nós de trabalho que podem ficar inativos para um upgrade de software simultaneamente. Se omitido, o padrão é X. Este é um recurso em pré-lançamento.
API
Faça uma solicitação PATCH ao método projects.locations.clusters.patch:
PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/?updateMask=UPDATE_MASK&requestId=REQUEST_ID
{
"labels": { LABELS,
},
"networking": {
"ClusterIpv4CidrBlocks": CLUSTER_IPV4_CIDR_BLOCK,
"servicesIpv4CidrBlocks": SERVICE_IPV4_CIDR_BLOCK,
"ClusterIpv6CidrBlocks": CLUSTER_IPV6_CIDR_BLOCK,
"servicesIpv6CidrBlocks": SERVICE_IPV6_CIDR_BLOCK,
},
"authorization": {
"adminUsers": {
"username": USERNAME
}
},
"defaultMaxPodsPerNode": MAX_PODS_PER_NODE,
"releaseChannel": RELEASE_CHANNEL,
"controlPlaneEncryption": {
"kmsKey": CONTROL_PLANE_KMS_KEY,
},
"offlineRebootTtl": "REBOOT_TIMEOUT",
}
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que o cluster conectado do Distributed Cloud de destino é criado.CLUSTER_ID: o nome do cluster de destino.UPDATE_MASK: uma lista separada por vírgulas de nomes de campos totalmente qualificados a serem atualizados nesta solicitação no formato FieldMask.REQUEST_ID: um ID programático exclusivo que identifica esta solicitação.CLUSTER_IPV4_CIDR_BLOCK: o bloco CIDR IPv4 desejado para pods do Kubernetes que são executados nesse cluster.CLUSTER_IPV6_CIDR_BLOCK: o bloco CIDR IPv6 desejado para pods do Kubernetes que são executados nesse cluster.SERVICE_IPV4_CIDR_BLOCK: o bloco CIDR IPv4 desejado para serviços do Kubernetes executados neste cluster.SERVICE_IPV6_CIDR_BLOCK: o bloco CIDR IPv6 desejado para serviços do Kubernetes executados neste cluster.USERNAME: o nome da conta de usuário no projeto Google Cloud de destino autorizada a modificar recursos do cluster.MAX_PODS_PER_NODE: o número máximo desejado de pods do Kubernetes a serem executados em cada nó deste cluster.RELEASE_CHANNEL: (opcional) especifica o canal de lançamento da versão do software conectado do Distributed Cloud que você quer que o cluster execute. Os valores válidos sãoREGULAR(ativar upgrades automáticos do cluster) eNONE(desativar upgrades automáticos do cluster). Se omitido, o padrão éREGULAR.CONTROL_PLANE_KMS_KEY(opcional): o caminho completo para a chave do Cloud KMS que você quer usar com o nó do plano de controle deste cluster. Exemplo:/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
Esse parâmetro só se aplica se você tiver integrado o Distributed Cloud Connected ao Cloud Key Management Service, conforme descrito em Ativar o suporte para chaves de criptografia gerenciadas pelo cliente (CMEK) para armazenamento local.
REBOOT_TIMEOUT: (requerv1alpha1) especifica um período em segundos durante o qual um nó do cluster 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. Se omitido, o padrão será0, que não permite que os nós reinicializados voltem a participar do cluster até que a conexão com Google Cloud seja restabelecida. Este é um recurso em pré-lançamento.ATENÇÃO: se você especificar uma janela de tempo limite de reinicialização, os nós que ficaram off-line poderão ser reinicializados e entrar novamente no cluster, mesmo que você desative ou exclua a chave de armazenamento pelo tempo especificado.
Receber credenciais para um cluster
Para receber as credenciais de um cluster conectado do Distributed Cloud, siga as etapas desta seção.
Para concluir essa tarefa, você precisa ter o papel de Leitor do Edge Container (roles/edgecontainer.viewer) no projeto Google Cloud .
gcloud
Use o comando gcloud edge-cloud container clusters get-credentials:
gcloud edge-cloud container clusters get-credentials CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--offline-credential
Substitua:
CLUSTER_ID: o nome do cluster de destino.PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que o cluster conectado do Distributed Cloud de destino é criado.
Para gerar uma credencial off-line para o cluster, especifique a flag --offline-credential.
API
Faça uma solicitação GET ao método projects.locations.clusters:
GET /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que a zona de destino do Distributed Cloud é criada.CLUSTER_ID: o nome do cluster de destino.
{ % comment % }
Receber credenciais do cluster pelo gateway do Connect
O gateway do Connect funciona como um proxy para acessar o cluster usando a ferramenta CLI kubectl.
Cada conta de usuário que solicita credenciais de cluster pelo gateway do Connect precisa ter as permissões
descritas em Conceder papéis do IAM aos usuários
na documentação do gateway do Connect. Não é possível executar comandos kubectl exec ou kubectl port-forward pelo gateway do Connect.
Antes de solicitar credenciais pelo gateway do Connect, instale o plug-in gke-gcloud-auth-plugin
usando o seguinte comando:
gcloud components install gke-gcloud-auth-plugin
Para receber as credenciais do cluster pelo gateway do Connect, use o seguinte comando:
gcloud container hub memberships get-credentials CLUSTER_ID --project=PROJECT_ID
Substitua:
CLUSTER_ID: o nome do cluster de destino.PROJECT_ID: o ID do projeto Google Cloud de destino.
{ % endcomment % }
Configurar uma janela de manutenção para um cluster
Nesta seção, descrevemos como especificar e limpar os seguintes tipos de janelas de manutenção para um cluster conectado do Google Distributed Cloud:
- Janela de manutenção. Especifica um período em que o Google pode fazer manutenção e upgrades de software no cluster conectado do Distributed Cloud.
- Janela de exclusão de manutenção. Especifica um período em que o Google não pode realizar manutenção ou upgrades de software no cluster conectado do Distributed Cloud. Para configurar uma janela de exclusão de manutenção, primeiro configure uma janela de manutenção. Uma janela de exclusão de manutenção tem precedência sobre a janela de manutenção do cluster.
Especificar uma janela de manutenção para um cluster
Para especificar uma janela de manutenção para um cluster conectado da nuvem distribuída, siga as etapas nesta seção. Para mais informações sobre a manutenção do cluster, consulte Entender atualizações de software e janelas de manutenção.
Para formatos de data e hora, use a RFC 5545.
Para concluir essa tarefa, você precisa ter o papel de
Administrador de contêineres de borda
(roles/edgecontainer.admin) no seu projeto Google Cloud .
Console
Se você estiver usando o console Google Cloud , só poderá especificar uma janela de manutenção ao criar um cluster. Para especificar uma janela de manutenção em um cluster atual, use a Google Cloud CLI ou a API Distributed Cloud Edge Container.
gcloud
Use o comando gcloud edge-cloud container clusters update:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--maintenance-window-start=MAINTENANCE_START \
--maintenance-window-end=MAINTENANCE_END \
--maintenance-window-recurrence=MAINTENANCE_FREQUENCY
Substitua:
CLUSTER_ID: o nome do cluster de destino.PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que o cluster de destino do Distributed Cloud Connected é criado.MAINTENANCE_START: o horário de início da janela de manutenção no formatoYYYY-MM-DDTHH:MM:SSZ.MAINTENANCE_END: o horário de término da janela de manutenção no formatoYYYY-MM-DDTHH:MM:SSZ.MAINTENANCE_FREQUENCY: a frequência da janela de manutenção no formatoFREQ=WEEKLY|DAILY;BYDAY=MO,TU,WE,TH,FR,SA,SU:BYDAY: uma lista delimitada por vírgulas de dias em que a manutenção pode ocorrer seFREQestiver definido comoWEEKLY. Se você omitir o parâmetroBYDAY, o Google vai escolher o dia da semana para você.- Se você definir
FREQcomo "diário", as janelas de manutenção vão ocorrer todos os dias durante as horas especificadas.
API
Faça uma solicitação PATCH ao método projects.locations.clusters.update:
PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?updateMask=maintenancePolicy&requestId=REQUEST_ID
{
"maintenance_policy": {
"window": {
"recurring_window": {
"window": {
"start_time": "MAINTENANCE_START",
"end_time": "MAINTENANCE_END"
},
"recurrence": "MAINTENANCE_FREQUENCY"
}
}
}
}
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a região do Google Cloud em que o cluster de destino do Distributed Cloud conectado é criado.CLUSTER_ID: o nome do cluster de destino.UPDATE_MASK: uma lista separada por vírgulas de nomes de campos totalmente qualificados a serem atualizados nesta solicitação no formato FieldMask.REQUEST_ID: um ID programático exclusivo que identifica esta solicitação.CLUSTER_ID: o nome do cluster de destino.USERNAME: o nome da conta de usuário no projeto Google Cloud de destino autorizada a modificar recursos do cluster.MAINTENANCE_START: o horário de início da janela de manutenção no formatoYYYY-MM-DDTHH:MM:SSZ.MAINTENANCE_END: o horário de término da janela de manutenção no formatoYYYY-MM-DDTHH:MM:SSZ.MAINTENANCE_FREQUENCY: a frequência da janela de manutenção no formatoFREQ=WEEKLY|DAILY;BYDAY=MO,TU,WE,TH,FR,SA,SU:FREQpode serDAILYouWEEKLY.BYDAY: uma lista delimitada por vírgulas de dias em que a manutenção pode ocorrer seFREQestiver definido comoWEEKLY. Se você omitir o parâmetroBYDAY, o Google vai escolher o dia da semana para você.- Se você definir
FREQcomo "diário", as janelas de manutenção vão ocorrer todos os dias durante as horas especificadas.
Para mais informações, consulte Recurso: cluster.
Limpar a janela de manutenção de um cluster
Para limpar a janela de manutenção de um cluster conectado do Distributed Cloud, siga as etapas desta seção. Ao limpar uma janela de manutenção de um cluster, todas as janelas de exclusão de manutenção correspondentes também são limpas. Para mais informações sobre a manutenção do cluster, consulte Entenda as atualizações de software e as janelas de manutenção.
Para concluir essa tarefa, você precisa ter o papel de
Administrador de contêineres de borda
(roles/edgecontainer.admin) no seu projeto Google Cloud .
gcloud
Use o comando gcloud edge-cloud container clusters update:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--clear-maintenance-window
Substitua:
CLUSTER_ID: o nome do cluster de destino.PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a região do Google Cloud em que o cluster de destino do Distributed Cloud é criado.
API
Faça uma solicitação PATCH ao método projects.locations.clusters.update:
PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?updateMask=maintenancePolicy&requestId=REQUEST_ID
{
"maintenance_policy": null
}
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a região do Google Cloud em que o cluster de destino do Distributed Cloud conectado é criado.CLUSTER_ID: o nome do cluster de destino.UPDATE_MASK: uma lista separada por vírgulas de nomes de campos totalmente qualificados a serem atualizados nesta solicitação no formato FieldMask.REQUEST_ID: um ID programático exclusivo que identifica esta solicitação.USERNAME: o nome da conta de usuário no projeto Google Cloud de destino autorizada a modificar recursos do cluster.
Para mais informações, consulte Recurso: cluster.
Especificar uma janela de exclusão de manutenção para um cluster
Para especificar uma janela de exclusão de manutenção para um cluster conectado da nuvem distribuída, siga as etapas nesta seção. Para mais informações sobre a manutenção do cluster, consulte Entender atualizações de software e janelas de manutenção.
Para formatos de data e hora, use RFC 3339.
Para concluir essa tarefa, você precisa ter o papel de
Administrador de contêineres de borda
(roles/edgecontainer.admin) no seu projeto Google Cloud .
gcloud
Use o comando gcloud edge-cloud container clusters update:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--add-maintenance-exclusion-name=EXCLUSION_NAME \
--add-maintenance-exclusion-start=EXCLUSION_START \
--add-maintenance-exclusion-end=EXCLUSION_END
Substitua:
CLUSTER_ID: o nome do cluster de destino.PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que o cluster de destino do Distributed Cloud Connected é criado.EXCLUSION_NAME: um nome descritivo para essa janela de exclusão de manutenção.EXCLUSION_START: o horário de início da janela de manutenção no formatoYYYY-MM-DDTHH:MM:SSZ.EXCLUSION_END: o horário de término da janela de manutenção no formatoYYYY-MM-DDTHH:MM:SSZ.
Limpar a janela de exclusão de manutenção de um cluster
Para limpar a janela de exclusão de manutenção de um cluster conectado da nuvem distribuída, siga as etapas nesta seção. Para mais informações sobre a manutenção do cluster, consulte Entender atualizações de software e janelas de manutenção.
Para concluir essa tarefa, você precisa ter o papel de
Administrador de contêineres de borda
(roles/edgecontainer.admin) no seu projeto Google Cloud .
gcloud
Use o comando gcloud edge-cloud container clusters update:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--remove-maintenance-exclusion-window=MAINTENANCE_EXCLUSION_WINDOW
Substitua:
CLUSTER_ID: o nome do cluster de destino.PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a região do Google Cloud em que o cluster de destino do Distributed Cloud é criado.MAINTENANCE_EXCLUSION_WINDOW: o nome da janela de exclusão de manutenção que você quer limpar.
Excluir um cluster
Para excluir um cluster conectado do Distributed Cloud, siga as etapas nesta seção. Antes de excluir um cluster, faça o seguinte:
- Exclua todos os pools de nós atribuídos ao cluster.
- Exclua todas as conexões VPN usadas pelo cluster.
Para concluir essa tarefa, você precisa ter o papel de
Administrador de contêineres de borda
(roles/edgecontainer.admin) no seu projeto Google Cloud .
gcloud
Use o comando gcloud edge-cloud container clusters delete:
gcloud edge-cloud container clusters delete CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION
Substitua:
CLUSTER_ID: o nome do cluster de destino.PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que o cluster conectado do Distributed Cloud de destino é criado.
API
Faça uma solicitação DELETE ao método projects.locations.clusters.delete:
DELETE /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?requestId=REQUEST_ID
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que o cluster conectado do Distributed Cloud de destino é criado.CLUSTER_ID: o nome do cluster de destino.REQUEST_ID: um ID programático exclusivo que identifica esta solicitação.
A seguir
- Implantar cargas de trabalho no Distributed Cloud conectado
- Gerenciar zonas
- Gerenciar máquinas
- Criar e gerenciar pools de nós
- Criar e gerenciar conexões VPN
- Gerenciar máquinas virtuais
- Gerenciar cargas de trabalho de GPU