Faça a gestão de funcionalidades ao nível da frota

As frotas permitem-lhe gerir funcionalidades empresariais e outras funcionalidades ativadas para frotas em vários clusters ao mesmo tempo. Isto permite-lhe, por exemplo, aplicar um conjunto comum de políticas ou criar uma única malha de serviços na sua frota de clusters. Esta página oferece uma vista geral de como pode gerir as funcionalidades da sua frota. Para mais informações sobre a configuração e a utilização de funcionalidades individuais, consulte a respetiva documentação.

Se ativou o Google Kubernetes Engine, pode gerir as funcionalidades na Google Cloud consola. Todos os utilizadores da frota podem gerir funcionalidades através da linha de comandos.

Algumas funcionalidades permitem-lhe criar uma configuração de funcionalidades predefinida ao nível da frota para os seus clusters de frotas. Por exemplo, pode garantir que todos os clusters que criar na sua frota têm o Policy Controller instalado e configurado.

Pode saber mais sobre como a gestão de funcionalidades ao nível da frota nos seus clusters funciona "nos bastidores" na secção Autorização de funcionalidades.

Funcionalidades ao nível da frota

Pode gerir as seguintes funcionalidades ao nível da frota:

Esta lista não inclui todas as funcionalidades que usam ou requerem frotas. Por exemplo, a federação de identidades de cargas de trabalho da frota depende de os clusters serem membros de uma frota, mas não requer configuração ao nível da frota, e o Cloud Service Mesh requer a associação à frota para todas as opções de configuração e plano de controlo.

Pode saber mais sobre as funcionalidades disponíveis em que ambientes na página Opções de implementação.

Configure funcionalidades ao nível da frota

As secções seguintes descrevem como pode ativar e configurar funcionalidades ao nível da frota.

Para usar uma funcionalidade ao nível da frota, na maioria dos casos, ativa a funcionalidade para a sua frota e configura-a para os membros da frota. Geralmente, é necessária alguma configuração (ou outra configuração adicional) para usar efetivamente a funcionalidade com os seus clusters e cargas de trabalho.

Pode criar configurações de cluster predefinidas da frota para algumas funcionalidades, o que significa que todos os novos clusters que criar na sua frota vão ser criados com as definições especificadas para essa funcionalidade já configuradas.

Ative funcionalidades com predefinições ao nível da frota

Pode criar predefinições ao nível da frota para os seus clusters do GKE para algumas funcionalidades. Depois de criar estas definições, qualquer cluster do GKE que registar durante a criação do cluster é configurado automaticamente com as configurações ao nível da frota. Por exemplo, se configurar predefinições para o Policy Controller, cada novo cluster que criar na sua frota terá a versão especificada do Policy Controller instalada, com os pacotes de políticas e outras definições especificados. As definições predefinidas da frota não são aplicadas automaticamente aos clusters de membros da frota existentes, embora possa sincronizar os clusters existentes com as definições predefinidas através da Google Cloud consola.

O processo geral para ativar funcionalidades com predefinições ao nível da frota é o seguinte:

Consola

  1. No projeto de anfitrião da frota, aceda à página Gestor de funcionalidades:

    Aceda ao Gestor de funcionalidades

    As funcionalidades que suportam a configuração de predefinições ao nível da frota através da Google Cloud consola estão listadas em Gestão de funcionalidades ao nível da frota.

  2. Para a funcionalidade escolhida, clique em Configurar e siga as instruções para ativar e configurar as predefinições da funcionalidade.

  3. Opcional: selecione e sincronize clusters existentes na sua frota com as novas definições.

gcloud

  1. Crie um ficheiro YAML que especifique as predefinições da frota escolhidas para a funcionalidade.
  2. Execute o comando enable para a funcionalidade, transmitindo-lhe o ficheiro de configuração. Cada funcionalidade ao nível da frota tem o seu próprio comando enable. Por exemplo, para ativar o Cloud Service Mesh para a sua frota com a configuração predefinida especificada em mesh.yaml, execute o seguinte comando no projeto de anfitrião da frota:

    gcloud container fleet mesh enable --fleet-default-member-config mesh.yaml
    

Em alternativa, para algumas funcionalidades, pode especificar predefinições da frota através de parâmetros para o comando fleet create ou fleet update. Consulte o guia da funcionalidade escolhida para ver mais detalhes.

Terraform

Defina um recurso google_gke_hub_feature com um bloco fleet_default_member_config que especifique as predefinições da frota escolhidas. Para ver detalhes e funcionalidades da frota suportadas, consulte a documentação do Terraform.

Nem todas as funcionalidades suportam a configuração predefinida da frota com todas estas opções. Para instruções detalhadas sobre como configurar as predefinições da frota para cada funcionalidade suportada, consulte a seguinte documentação:

Ative e configure funcionalidades da frota em clusters individuais

Em alternativa à configuração predefinida da frota, pode optar por configurar as funcionalidades da frota separadamente em clusters individuais. Esta pode ser uma boa opção se:

  • Quiser configurar um cluster existente para usar uma funcionalidade.
  • Quiser usar serviços em que a configuração predefinida da frota não está disponível ou não está disponível através da ferramenta escolhida.

Ative funcionalidades

Tenha em atenção que este passo não é necessário para todas as funcionalidades. Consulte o guia da funcionalidade escolhida para ver mais detalhes.

Consola

Pode ativar funcionalidades na página Gestor de funcionalidades na Google Cloud consola.

Para ativar uma funcionalidade para a sua frota:

  1. No projeto de anfitrião da frota, aceda à página Gestor de funcionalidades:

    Aceda ao Gestor de funcionalidades

    As funcionalidades que podem ser ativadas, mas não configuradas a partir desta página, estão listadas em Faça a gestão de outras funcionalidades prontas para a empresa.

  2. Clique em Ativar no painel da funcionalidade que quer ativar.

  3. Clique no botão Ativar… no painel de detalhes apresentado.

gcloud

Cada funcionalidade ao nível da frota tem o seu próprio comando enable. Por exemplo, para ativar o serviço de identidade do GKE para a sua frota, execute o seguinte comando no projeto anfitrião da frota:

gcloud container fleet identity-service enable

Consulte a documentação de referência do Google Cloud SDK (e os respetivos equivalentes beta e alfa) para ver uma lista completa de comandos ou os conjuntos de documentação de funcionalidades individuais para ver mais detalhes.

Para saber como verificar se uma funcionalidade já foi ativada e ver o estado de outras funcionalidades, consulte o artigo Veja o estado das funcionalidades da frota.

Configure clusters individuais

Os passos de configuração que segue dependem da funcionalidade. Consulte os seguintes guias para mais informações:

Veja o estado das funcionalidades da frota

A forma mais fácil de ver o estado das funcionalidades da frota é usar o painel de controlo do Gestor de funcionalidades na Google Cloud consola.

Aceda ao Gestor de funcionalidades

Para as funcionalidades suportadas, esta página apresenta quantos dos seus clusters de frota têm o seguinte estado:

  • Ter esta funcionalidade ativada
  • Ter esta funcionalidade ativada com êxito
  • Ter um aviso para esta funcionalidade
  • Ter um erro para esta funcionalidade

Também pode ver se as definições predefinidas da frota foram configuradas para a funcionalidade e quantos clusters de membros da frota têm estas definições. Para as funcionalidades ativadas, pode clicar para aceder a uma página de detalhes que apresenta os clusters que usam a funcionalidade e, se configurado, permite-lhe selecionar e sincronizar clusters com as definições predefinidas da sua frota.

Para funcionalidades que não podem ser configuradas através desta página (indicadas em Gerir outras funcionalidades prontas para a empresa), pode ver se a funcionalidade foi ativada para a sua frota e ver um painel de detalhes que mostra quantos clusters têm a funcionalidade instalada e outras informações relevantes.

Veja o estado das funcionalidades através do gcloud

gcloud

Execute o seguinte comando para apresentar uma lista de todas as funcionalidades ativadas:

gcloud container fleet features list

Desative uma funcionalidade ao nível da frota

Para desativar uma funcionalidade ao nível da frota, faça o seguinte no projeto anfitrião da frota.

Consola

Apenas as funcionalidades de frota listadas em Faça a gestão de outras funcionalidades prontas para a empresa podem ser desativadas a partir da Google Cloud consola.

  1. No projeto de anfitrião da frota, aceda à página Gestor de funcionalidades:

    Aceda ao Gestor de funcionalidades

  2. Clique em Detalhes no painel da funcionalidade que quer desativar.

  3. Clique no botão Desativar… no painel de detalhes apresentado.

gcloud

Cada funcionalidade ao nível da frota tem o seu próprio comando disable. Por exemplo, para desativar o Cloud Service Mesh para a sua frota, execute o seguinte comando no projeto anfitrião da frota:

gcloud container fleet mesh disable

Consulte a documentação de referência do Google Cloud SDK (e os respetivos equivalentes beta e alfa) para ver uma lista completa de comandos ou os conjuntos de documentação de funcionalidades individuais para ver mais detalhes.

Para ver o comportamento esperado depois de desativar uma funcionalidade para a sua frota, consulte a documentação da funcionalidade relevante. Em muitos casos, a configuração relevante continua a existir no cluster, mas já não pode gerir centralmente a funcionalidade através de comandos de frota ou da consola Google Cloud .

Autorização de funcionalidades

Para gerir funcionalidades ao nível da frota, estas têm de ser autorizadas através do controlo de acesso baseado em funções para desempenharem as respetivas funções nos clusters. Google Cloud usa um serviço denominado Feature Authorizer que define e atualiza automaticamente as autorizações para funcionalidades ativadas para a frota, o que evita ter de definir autorizações de funcionalidades manualmente em todos os clusters, especialmente quando a Google lança atualizações de funcionalidades.

Quando regista um cluster, o manifesto aplicado ao cluster contém um ClusterRoleBinding que atribui ao Feature Authorizer uma função cluster-admin no cluster, e a função está anexada a uma conta de serviço denominada service-project-number@gcp-sa-gkehub.iam.gserviceaccount.com.

Quando desativa uma funcionalidade ativada para a frota no seu projeto, o Feature Authorizer elimina os objetos ClusterRole e ClusterRoleBinding correspondentes à funcionalidade, o que remove a capacidade da funcionalidade de operar no cluster.

Veja o autorizador de funcionalidades nos registos de auditoria

Para ver a atividade do Feature Authorizer nos registos de auditoria do GKE:

  1. Abra o Explorador de registos na Google Cloud consola.

    Aceder à página Registos

  2. Execute a seguinte consulta avançada:

    resource.type="k8s_cluster"
    resource.labels.cluster_name="CLUSTER_NAME"
    resource.labels.location="CLUSTER_LOCATION"
    protoPayload.authenticationInfo.principalEmail="system:serviceaccount:gke-connect:connect-agent-sa"
    protoPayload.authenticationInfo.authoritySelector="service-PROJECT_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com"
    

    Substitua o seguinte:

    • CLUSTER_NAME: o nome do cluster para o qual quer ver os registos.
    • CLUSTER_LOCATION: a Google Cloud localização em que o cluster foi criado.
    • PROJECT_NUMBER: o Google Cloud número do projeto do projeto proprietário do cluster.

Para clusters não GKE, descubra onde os registos de auditoria do Kubernetes estão armazenados e execute uma consulta semelhante.