Migra tu clúster que cumpla con la convención CNCF

La versión predecesora de los clústeres conectados de GKE se conoce como clústeres conectados de GKE (generación anterior). Migrar desde la versión anterior de clústeres de GKE conectados a la generación actual te da acceso a esta funcionalidad, incluida la administración del ciclo de vida y el registro de flotas. La migración es una operación unidireccional: una vez que migras a la generación actual de clústeres conectados de GKE, no hay manera de volver a los clústeres conectados de GKE (generación anterior).

Política de numeración de versiones

En estos documentos se hace referencia a la versión de los clústeres adjuntos de GKE como la versión de la plataforma para distinguirla de la versión de Kubernetes. Los clústeres adjuntos de GKE usan la misma convención de numeración de versiones que GKE, por ejemplo, 1.21.5-gke.1. Cuando adjuntas o actualizas tu clúster, debes elegir una versión de plataforma cuya versión secundaria sea igual o un nivel inferior a la versión de Kubernetes de tu clúster. Por ejemplo, puedes conectar un clúster que ejecute la versión 1.22.* de Kubernetes con Versión 1.21.* o 1.22.* de la plataforma de clústeres conectados de GKE.

Esto te permite actualizar el clúster a la siguiente versión secundaria antes de actualizar clústeres conectados de GKE.

Asegúrate de que Workload Identity esté habilitado

Los clústeres existentes de los clústeres conectados de GKE (generación anterior) deben tener habilitado Workload Identity antes de migrarse a la generación actual de los clústeres conectados de GKE.

Para determinar si la WI está habilitada, ejecuta el siguiente comando y verifica el resultado de cualquier campo de Workload Identity:

gcloud container hub memberships describe MEMBERSHIP_NAME

Si Workload Identity no está habilitado, la membresía debe actualizarse para habilitarla.

El comando para actualizar la membresía de tu clúster varía un poco en función de si tu clúster tiene una entidad emisora de OIDC pública o privada. Elige la pestaña que se aplica a tu clúster:

Emisor de OIDC privado

gcloud container hub memberships register MEMBERSHIP_NAME \
--context=KUBECONFIG_CONTEXT \
--kubeconfig=KUBECONFIG_PATH \
--enable-workload-identity \
--has-private-issuer

Reemplaza lo siguiente:

  • MEMBERSHIP_NAME: Es el nombre de la membresía de tu clúster.
  • KUBECONFIG_CONTEXT: contexto en kubeconfig para acceder al clúster de AKS
  • KUBECONFIG_PATH: es la ruta de acceso a tu archivo kubeconfig.

Emisor público de OIDC

  • Recupera la URL del emisor de OIDC del clúster. Las instrucciones específicas varían según la distribución.

El resultado de este comando será la URL de tu entidad emisora de OIDC. Guarda este valor para usarlo más adelante.

  • Actualiza la membresía:
gcloud container fleet memberships register MEMBERSHIP_NAME \
--context=KUBECONFIG_CONTEXT \
--kubeconfig=KUBECONFIG_PATH \
--enable-workload-identity \
--public-issuer-url=OIDC_URL

Reemplaza lo siguiente:

  • MEMBERSHIP_NAME: Es el nombre de la membresía de tu clúster.
  • KUBECONFIG_CONTEXT: contexto en kubeconfig para acceder al clúster de AKS
  • KUBECONFIG_PATH: es la ruta de acceso a tu kubeconfig.
  • OIDC_URL: La URL de OIDC que se recuperó antes

Migra el clúster

Para migrar tu clúster de clústeres conectados de GKE (generación anterior) a clústeres conectados de GKE, sigue estos pasos:

  1. Extrae el contexto de kubeconfig de tu clúster y almacénalo en la variable de entorno KUBECONFIG_CONTEXT:

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  2. Ejecuta el siguiente comando para migrar tu clúster a la generación actual de clústeres conectados de GKE. Este comando extrae los detalles relevantes de la configuración de tu clúster y lo registra en Google Fleet Management y, luego, instala o actualiza cualquier software necesario, como el agente de ciclo de vida, en tu clúster.

    gcloud container attached clusters import \
      --location=GOOGLE_CLOUD_REGION \
      --fleet-membership=FLEET_MEMBERSHIP \
      --platform-version=PLATFORM_VERSION \
      --distribution=CLUSTER_DISTRIBUTION \
      --context=KUBECONFIG_CONTEXT \
      [--kubeconfig=KUBECONFIG_PATH]
    

    Reemplaza lo siguiente:

    • GOOGLE_CLOUD_REGION: Es la ubicación de Google Cloud desde la que se administra tu clúster
    • FLEET_MEMBERSHIP: El designador de membresía completamente calificado de tu clúster registrado (consulta a continuación)
    • PLATFORM_VERSION: Es la versión de los clústeres adjuntos de GKE a la que deseas migrar (por ejemplo: v1.22.0-gke.1)
    • CLUSTER_DISTRIBUTION: El tipo de clúster: eks para el servicio Elastic de Kubernetes de AWS, aks para Azure Kubernetes Service o generic para cualquier otra distribución
    • KUBECONFIG_CONTEXT: el nombre del contexto en tu kubeconfig con el que te conectarás al clúster.
    • KUBECONFIG_PATH: Es la ubicación de tu archivo kubeconfig. Si no se especifica, el valor predeterminado es ~/.kube/config.

    El nombre de la membresía es una cadena que identifica de manera inequívoca el clúster adjunto y tiene el formato projects/PROJECT_NUMBER/locations/global/memberships/MEMBERSHIP_ID, donde

    • PROJECT_NUMBER es el número de proyecto host de la flota. Debes especificar el mismo número de proyecto que el que pertenece tu clúster actualmente

    • MEMBERSHIP_ID: debe ser el ID de membresía de la flota de tu clúster existente. Los clústeres adjuntos de GKE usarán este valor como el nombre de tu clúster.