Faça a manutenção dos clusters do Kubernetes

O Google Distributed Cloud (GDC) air-gapped permite-lhe gerir os seus clusters Kubernetes após a criação através do GKE no GDC. Este serviço permite-lhe adaptar-se aos requisitos de carga de trabalho de contentores em evolução e manter os nós do cluster existentes com os seguintes fluxos de trabalho:

Este documento destina-se a administradores de TI no grupo de administradores da plataforma que gerem cargas de trabalho de contentores alojadas em clusters que abrangem vários projetos, e a programadores no grupo de operadores de aplicações responsáveis pela criação de cargas de trabalho de aplicações num único projeto. Para mais informações, consulte a documentação sobre públicos-alvo para GDC com isolamento de ar.

Antes de começar

Para concluir as tarefas neste documento, tem de ter os seguintes recursos e funções:

  • Para ver e gerir node pools num cluster do Kubernetes partilhado, peça ao administrador de IAM da organização que lhe conceda as seguintes funções:

    • Administrador do cluster de utilizadores (user-cluster-admin)
    • Visualizador de nós de cluster de utilizadores (user-cluster-node-viewer)

    Estas funções não estão associadas a um espaço de nomes do projeto.

  • Para ver e gerir node pools num cluster Kubernetes padrão, peça ao administrador de IAM da organização que lhe conceda a função de administrador do cluster padrão (standard-cluster-admin). Esta função está associada ao espaço de nomes do seu projeto.

  • Para executar comandos num cluster do Kubernetes, certifique-se de que tem os seguintes recursos:

    • Localize o nome do cluster do Kubernetes ou pergunte a um membro do grupo de administradores da plataforma qual é o nome do cluster.

    • Inicie sessão e gere o ficheiro kubeconfig para o cluster do Kubernetes, se não tiver um.

    • Use o caminho kubeconfig do cluster Kubernetes para substituir KUBERNETES_CLUSTER_KUBECONFIG nestas instruções.

Mova clusters na hierarquia do projeto

Os projetos oferecem o agrupamento lógico de instâncias de serviços. Pode adicionar e remover clusters do Kubernetes partilhados da hierarquia do projeto GDC para agrupar os seus serviços de forma adequada. Não pode mover clusters padrão na hierarquia do projeto, uma vez que estão limitados apenas a um único projeto.

Anexe o projeto a um cluster partilhado

Quando cria um cluster partilhado a partir da consola do GDC, tem de anexar, pelo menos, um projeto antes de poder implementar com êxito cargas de trabalho de contentores no mesmo. Se tiver de adicionar projetos adicionais a um cluster existente, conclua os seguintes passos:

  1. No menu de navegação, selecione Kubernetes Engine > Clusters.
  2. Clique no cluster na lista de clusters para abrir a página Detalhes do cluster.
  3. Selecione Anexar projeto.
  4. Selecione os projetos disponíveis para adicionar na lista de projetos. Clique em Guardar.

Desassocie o projeto de um cluster partilhado

Para desassociar um projeto de um cluster partilhado existente, conclua os seguintes passos:

  1. No menu de navegação, selecione Kubernetes Engine > Clusters.
  2. Clique no cluster na lista de clusters para abrir a página Detalhes do cluster.
  3. Clique em Desassociar para desassociar o projeto do cluster.

Veja todos os clusters numa organização

Pode ver todos os clusters do Kubernetes disponíveis numa organização, incluindo os respetivos estados, versões do Kubernetes e outros detalhes.

Uma vez que os clusters do Kubernetes são um recurso zonal, só pode listar clusters por zona.

Consola

  • No menu de navegação, selecione Kubernetes Engine > Clusters.

    São apresentados todos os clusters partilhados disponíveis na organização com os respetivos estados e outras informações:

    Página de detalhes do cluster para ver estados e outras informações de cada cluster partilhado na organização.

gdcloud

  • Liste os clusters partilhados disponíveis da zona numa organização:

    gdcloud clusters list
    

    O resultado é semelhante ao seguinte:

    CLUSTERREF.NAME   READINESS.STATE   TYPE   CURRENTVERSION.USERCLUSTERVERSION     CURRENTVERSION.SUPPORT.STATUS
    user-vm-1         Ready             user   1.15.0-gdch.394225-1.28.15-gke.1200   In Support
    user-vm-2         Ready             user   1.15.0-gdch.394225-1.29.12-gke.800    In Support
    

API

  • Liste os clusters Kubernetes disponíveis na zona numa organização:

    kubectl get clusters.cluster.gdc.goog -n KUBERNETES_CLUSTER_NAMESPACE \
        --kubeconfig MANAGEMENT_API_SERVER
    

    Substitua o seguinte:

    • MANAGEMENT_API_SERVER: o caminho kubeconfig do servidor da API zonal. Se ainda não gerou um ficheiro kubeconfig para o servidor da API na sua zona segmentada, consulte Iniciar sessão para ver detalhes.
    • KUBERNETES_CLUSTER_NAMESPACE: o espaço de nomes do cluster. Para clusters partilhados, use o espaço de nomes platform. Para clusters padrão, use o espaço de nomes do projeto do cluster.

    O resultado é semelhante ao seguinte:

    NAME        STATE     K8S VERSION
    user-vm-1   Running   1.25.10-gke.2100
    user-test   Running   1.26.5-gke.2100
    

Liste as versões do Kubernetes disponíveis para um cluster

Pode listar as versões do Kubernetes disponíveis na sua zona do GDC para verificar as funcionalidades do Kubernetes às quais pode aceder no cluster.

  • Liste as versões do Kubernetes disponíveis na sua zona:

    kubectl get userclustermetadata.upgrade.private.gdc.goog \
        -o=custom-columns=K8S-VERSION:.spec.kubernetesVersion \
        --kubeconfig MANAGEMENT_API_SERVER
    

    Substitua MANAGEMENT_API_SERVER pelo ficheiro kubeconfig do servidor da API zonal do cluster.

    O resultado tem um aspeto semelhante ao seguinte:

    K8S-VERSION
    1.25.10-gke.2100
    1.26.5-gke.2100
    1.27.4-gke.500
    

Veja as propriedades atualizáveis

Para cada cluster do Kubernetes, está disponível um conjunto de propriedades para alterar depois de ser criado. Só pode alterar as propriedades mutáveis que se encontram no spec de recurso personalizado Cluster. Nem todas as propriedades em spec são elegíveis para atualização após o aprovisionamento do cluster. Para ver estas propriedades atualizáveis, conclua os seguintes passos:

Consola

  1. No menu de navegação, selecione Kubernetes Engine > Clusters.

  2. Na lista de clusters do Kubernetes, clique no nome de um cluster para ver as respetivas propriedades.

  3. As propriedades editáveis têm um ícone Editar.

kubectl

  • Veja a lista de propriedades da especificação Cluster e os valores válidos correspondentes a cada propriedade:

    kubectl explain clusters.cluster.gdc.goog.spec \
        --kubeconfig MANAGEMENT_API_SERVER
    

    Substitua MANAGEMENT_API_SERVER pelo caminho kubeconfig do servidor da API zonal. Se ainda não gerou um ficheiro kubeconfig para o servidor da API na sua zona segmentada, consulte Iniciar sessão para ver detalhes.

    O resultado é semelhante ao seguinte:

    KIND:     Cluster
    VERSION:  cluster.gdc.goog/v1
    
    RESOURCE: spec <Object>
    
    DESCRIPTION:
        <empty>
    
    FIELDS:
      clusterNetwork    <Object>
        The cluster network configuration. If unset, the default configurations
        with pod and service CIDR sizes are used. Optional. Mutable.
    
      initialVersion    <Object>
        The GDC air-gapped version information of the user cluster during cluster creation.
        Optional. Default to use the latest applicable version. Immutable.
    
      loadBalancer  <Object>
        The load balancer configuration. If unset, the default configuration with
        the ingress service IP address size is used. Optional. Mutable.
    
      nodePools <[]Object>
        The list of node pools for the cluster worker nodes. Optional. Mutable.
    
      releaseChannel    <Object>
        The release channel a cluster is subscribed to. When a cluster is
        subscribed to a release channel, GDC maintains the cluster versions for
        users. Optional. Mutable.
    

    Atualize estas definições através da consola do GDC ou da CLI kubectl. Por exemplo, pode redimensionar um conjunto de nós.

O que se segue?