Mantener clústeres de Kubernetes

Google Distributed Cloud (GDC) air-gapped te permite gestionar tus clústeres de Kubernetes después de crearlos con GKE en GDC. Este servicio te permite adaptarte a los requisitos cambiantes de tus cargas de trabajo de contenedores y mantener tus nodos de clúster con los siguientes flujos de trabajo:

Este documento está dirigido a los administradores de TI del grupo de administradores de la plataforma que gestionan cargas de trabajo de contenedores alojadas en clústeres que abarcan varios proyectos, así como a los desarrolladores del grupo de operadores de aplicaciones que se encargan de crear cargas de trabajo de aplicaciones en un solo proyecto. Para obtener más información, consulta Audiencias de la documentación aislada de GDC.

Antes de empezar

Para completar las tareas de este documento, debes tener los siguientes recursos y roles:

  • Para ver y gestionar grupos de nodos en un clúster de Kubernetes compartido, pide al administrador de IAM de tu organización que te conceda los siguientes roles:

    • Administrador de clústeres de usuario (user-cluster-admin)
    • Lector de nodos de clúster de usuario (user-cluster-node-viewer)

    Estos roles no están vinculados a un espacio de nombres de proyecto.

  • Para ver y gestionar grupos de nodos en un clúster de Kubernetes estándar, pide al administrador de gestión de identidades y accesos de tu organización que te asigne el rol Administrador de clúster estándar (standard-cluster-admin). Este rol está vinculado al espacio de nombres de tu proyecto.

  • Para ejecutar comandos en un clúster de Kubernetes, asegúrate de que tienes los siguientes recursos:

    • Busca el nombre del clúster de Kubernetes o pregunta a un miembro del grupo de administradores de la plataforma cuál es el nombre del clúster.

    • Inicia sesión y genera el archivo kubeconfig del clúster de Kubernetes si no tienes uno.

    • Usa la ruta kubeconfig del clúster de Kubernetes para sustituir KUBERNETES_CLUSTER_KUBECONFIG en estas instrucciones.

Mover clústeres en la jerarquía de proyectos

Los proyectos proporcionan una agrupación lógica de instancias de servicio. Puedes añadir y quitar clústeres de Kubernetes compartidos de la jerarquía de proyectos de GDC para agrupar tus servicios de forma adecuada. No puedes mover clústeres estándar en la jerarquía de proyectos, ya que solo se limitan a un proyecto.

Adjuntar un proyecto a un clúster compartido

Cuando creas un clúster compartido desde la consola de GDC, debes adjuntar al menos un proyecto para poder desplegar cargas de trabajo de contenedores en él. Si tienes que añadir más proyectos a un clúster, sigue estos pasos:

  1. En el menú de navegación, selecciona Kubernetes Engine > Clústeres.
  2. En la lista de clústeres, haz clic en el que quieras para abrir la página Detalles del clúster.
  3. Selecciona Adjuntar proyecto.
  4. Selecciona los proyectos disponibles que quieras añadir de la lista de proyectos. Haz clic en Guardar.

Desvincular un proyecto de un clúster compartido

Para separar un proyecto de un clúster compartido, sigue estos pasos:

  1. En el menú de navegación, selecciona Kubernetes Engine > Clústeres.
  2. En la lista de clústeres, haz clic en el que quieras para abrir la página Detalles del clúster.
  3. Haz clic en Desasociar para que el proyecto se desasocie del clúster.

Ver todos los clústeres de una organización

Puede ver todos los clústeres de Kubernetes disponibles en una organización, incluidos sus estados, versiones de Kubernetes y otros detalles.

Como los clústeres de Kubernetes son un recurso zonal, solo puedes enumerar los clústeres por zona.

Consola

  • En el menú de navegación, selecciona Kubernetes Engine > Clústeres.

    Se muestran todos los clústeres compartidos disponibles en la organización, junto con sus estados y otra información:

    Página de detalles del clúster con los estados y otra información de cada clúster compartido de la organización.

gdcloud

  • Lista los clústeres compartidos disponibles de una zona en una organización:

    gdcloud clusters list
    

    El resultado debería ser similar al siguiente:

    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

  • Lista de los clústeres de Kubernetes disponibles en una zona de una organización:

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

    Haz los cambios siguientes:

    • MANAGEMENT_API_SERVER: la ruta kubeconfig del servidor de la API zonal. Si aún no has generado un archivo kubeconfig para el servidor de la API en tu zona de destino, consulta Iniciar sesión para obtener más información.
    • KUBERNETES_CLUSTER_NAMESPACE: el espacio de nombres del clúster. En el caso de los clústeres compartidos, usa el espacio de nombres platform. En el caso de los clústeres estándar, usa el espacio de nombres del proyecto del clúster.

    El resultado debería ser similar al siguiente:

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

Lista de versiones de Kubernetes disponibles para un clúster

Puedes enumerar las versiones de Kubernetes disponibles en tu zona de GDC para verificar las funciones de Kubernetes a las que puedes acceder en el clúster.

  • Lista las versiones de Kubernetes disponibles en tu zona:

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

    Sustituye MANAGEMENT_API_SERVER por el archivo kubeconfig del servidor de la API zonal de tu clúster.

    El resultado es similar al siguiente:

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

Ver propiedades actualizables

En cada clúster de Kubernetes, hay un conjunto de propiedades que se pueden cambiar después de crearlo. Solo puede cambiar las propiedades mutables que se encuentran en el spec de el recurso personalizado Cluster. No todas las propiedades de spec se pueden actualizar después de aprovisionar el clúster. Para ver estas propiedades actualizables, sigue estos pasos:

Consola

  1. En el menú de navegación, selecciona Kubernetes Engine > Clústeres.

  2. En la lista de clústeres de Kubernetes, haz clic en el nombre de un clúster para ver sus propiedades.

  3. Las propiedades editables tienen el icono Editar.

kubectl

  • Consulta la lista de propiedades de la especificación Cluster y los valores válidos correspondientes a cada propiedad:

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

    Sustituye MANAGEMENT_API_SERVER por la ruta de kubeconfig del servidor de la API zonal. Si aún no has generado un archivo kubeconfig para el servidor de la API en tu zona de destino, consulta Iniciar sesión para obtener más información.

    El resultado debería ser similar al siguiente:

    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.
    

    Para actualizar estos ajustes, usa la consola de GDC o la CLI de kubectl. Por ejemplo, puedes cambiar el tamaño de un grupo de nodos.

Siguientes pasos