Personaliza la instalación de Google Cloud

Obtén más información para instalar Knative serving en tus clústeres de GKE en Google Cloud. Knative serving ahora usa Cloud Service Mesh y las flotas de GKE Enterprise. Obtén información sobre las novedades y los cambios en las instalaciones de flota de Knative serving.

Usa esta página para personalizar una instalación nueva o configurar una instalación de flota existente de Knative serving. Por ejemplo, puedes configurarlos para clústeres privados o establecer credenciales de Cloud Monitoring.

Los pasos de instalación predeterminados implementan de forma automática el siguiente recurso personalizado CloudRun que habilita las métricas en los clústeres de GKE Enterprise en Google Cloud:

  apiVersion: operator.run.cloud.google.com/v1alpha1
  kind: CloudRun
  metadata:
    name: cloud-run

Para obtener información sobre los recursos personalizados en general, consulta Recursos personalizados.

Antes de comenzar

  • Debes asegurarte de cumplir con los requisitos de instalación.

  • Si Knative serving está instalada en tu clúster, debes asegurarte de que el “complemento de GKE” no exista antes de realizar estos pasos de instalación del componente de flota. Si tienes instalado el "complemento", debes seguir los pasos para actualizar a las flotas de GKE Enterprise.

    Verifica si el "complemento de GKE" está instalado.

    Para verificar si la instalación de Knative serving es el “complemento de GKE”, ejecuta el siguiente comando:

    gcloud container clusters describe \
    CLUSTER_NAME \
    --region CLUSTER_LOCATION \
    --project PROJECT_ID --format='get(addonsConfig.cloudRunConfig)'

    Reemplaza lo siguiente:

    • CLUSTER_NAME por el nombre del clúster.
    • CLUSTER_LOCATION por la ubicación en la que se encuentra el clúster.
    • PROJECT_ID por el ID del proyecto de Google Cloud.

    Resultados:

    • Complemento de GKE” no instalado:
      • No se muestra nada en tu terminal si nunca se instaló el complemento.
      • Se muestra disabled=true si el complemento se desinstaló antes.
    • "Complemento de GKE" está instalado: Si el complemento está instalado en tu clúster, los detalles de configuración del complemento se muestran. Ejemplo: loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    Ejemplo:
    En el siguiente ejemplo, se muestra que Knative serving se instaló en el clúster my-addon-cluster a través del “Complemento de GKE”, que está configurado para controlar tráfico externo:
    gcloud container clusters describe my-addon-cluster \
    --region us-central1-c --project my-gcp-project \
    --format='get(addonsConfig.cloudRunConfig)'

    Respuesta:

    loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL

Configura tu recurso personalizado de CloudRun

Para configurar la instalación, debes crear y configurar los recursos personalizados CloudRun de forma manual.

A fin de crear de forma manual un recurso personalizado CloudRun para los clústeres de Anthos en Google Cloud, haz lo siguiente:
  1. Crea un archivo YAML y, luego, incluye la configuración predeterminada, por ejemplo cloudrunanthos.yaml:

    apiVersion: operator.run.cloud.google.com/v1alpha1
    kind: CloudRun
    metadata:
      name: cloud-run
    
  2. En cloudrunanthos.yaml, puedes personalizar la instalación si configuras uno o más de los siguientes atributos en una sección spec:

    • Clústeres privados: Debes agregar los conjunto de atributos clusterConfig y isPrivate para instalar Knative serving en clústeres privados en Google Cloud.

      Los atributos clusterConfig y isPrivate realizan las siguientes acciones:

      spec:
        clusterConfig:
          isPrivate: true
      

      Ten en cuenta que esta configuración inhabilita la TLS administrada porque los clústeres privados no pueden comunicarse con la autoridad certificadora de forma predeterminada.

    • Métricas: Agrega el conjunto de atributos metricscollector para configurar Cloud Monitoring. De forma predeterminada, las métricas están habilitadas para los clústeres de GKE Enterprise en Google Cloud.

      spec:
        metricscollector:
          stackdriver:
            projectid: PROJECT_ID
            gcpzone: CLUSTER_LOCATION
            clustername: CLUSTER_NAME
            secretname: SECRET_NAME
            secretkey: SECRET_KEY
      

      Reemplaza lo siguiente:

      • PROJECT_ID por el ID del proyecto de Google Cloud.
      • CLUSTER_LOCATION por la región o zona en la que se encuentra el clúster.
      • CLUSTER_NAME por el ID del clúster o el identificador completamente calificado del clúster.
      • SECRET_NAME por el nombre del Secret de la cuenta de servicio del espacio de nombres knative-serving
      • SECRET_KEY por la clave del Secret de la cuenta de servicio del espacio de nombres knative-serving Por ejemplo: key.json

        Para obtener detalles sobre las cuentas de servicio, consulta lo siguiente:

Ejemplo

En este recurso personalizado CloudRun de ejemplo, los detalles de configuración de Cloud Monitoring se especifican para usar el Secret my-gcp-logging-secret y la clave key.json:

 apiVersion: operator.run.cloud.google.com/v1alpha1
 kind: CloudRun
 metadata:
   name: cloud-run
 spec:
   metricscollector:
     stackdriver:
       projectid: my-gcp-project-id
       gcpzone: us-central1-c
       clustername: my-anthos-cluster-name
       secretname: my-gcp-logging-secret
       secretkey: key.json
 ```

Habilita e instala Knative serving

Habilita el componente de Knative serving en tu flota de GKE Enterprise y, luego, implementa tu recurso personalizado CloudRun:

  1. Habilita Knative serving en tu flota:

    gcloud container fleet cloudrun enable --project=PROJECT_ID
    

    Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud.

    Para obtener detalles y opciones adicionales, consulta la referencia de gcloud container fleet cloudrun enable.

  2. Verifica que el componente de la función Knative serving esté habilitado (opcional):

    Console

    Verifica si el componente de Knative serving está Habilitado en la consola de Google Cloud:

    Ir a Administrador de funciones

    Línea de comandos

    Comprueba si el estado appdevexperience es ACTIVE:

    gcloud container fleet features list  --project=PROJECT_ID
    

    Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud.

    Para obtener detalles y opciones adicionales, consulta la referencia de gcloud container fleet features list.

    Resultado:

    NAME               STATE
    appdevexperience   ACTIVE
    
  3. Para cada clúster de GKE Enterprise en el que desees instalar Knative serving, debes implementar tu recurso personalizado CloudRun:

    gcloud

    gcloud container fleet cloudrun apply --gke-cluster=CLUSTER_LOCATION/CLUSTER_NAME --config=CONFIG_FILE
    

    Reemplaza lo siguiente:

    • CLUSTER_LOCATION por la región o zona en la que se encuentra el clúster.
    • CLUSTER_NAME por el ID del clúster o el identificador completamente calificado del clúster.
    • CONFIG_FILE por la ruta de acceso relativa al nombre de archivo del recurso personalizado cloudRun. Ejemplo cloudrunanthos.yaml

    Para obtener detalles y opciones adicionales, consulta la referencia de gcloud container fleet cloudrun apply.

    kubectl

    kubectl apply --kubeconfig=KUBECONFIG --filename CONFIG_FILE
    

    Reemplaza lo siguiente:

    • KUBECONFIG por la ruta de acceso absoluta al archivo de configuración kubectl.
    • CONFIG_FILE por la ruta de acceso relativa al nombre de archivo del recurso personalizado cloudRun. Ejemplo cloudrunanthos.yaml

    Para obtener detalles y opciones adicionales, consulta la referencia de kubectl apply.

  4. Verifica que Knative serving esté habilitada en tu clúster:
    1. Abre la consola de Google Cloud:

      Ir a los clústeres de GKE

    2. Haz clic en el nombre de tu clúster para abrir el panel de detalles.

    3. Ejecuta este comando para verificar si puedes ver los detalles de la versión de Knative serving: kubectl get namespace knative-serving -o 'go-template={{index .metadata.labels "serving.knative.dev/release"}}'
    4. Verifica que todas las implementaciones específicas de Knative serving estén en estado de ejecución en los espacios de nombres knative-serving y appdevexperience.

¿Qué sigue?

Configura la instalación de Knative serving.