Personalizar la instalación de Google Cloud

Consulta cómo instalar Knative Serving en tus clústeres de GKE en Google Cloud. Knative Serving ahora usa Cloud Service Mesh y flotas de GKE Enterprise. Consulta las novedades y los cambios en las instalaciones de flotas de Knative Serving.

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

Los pasos de instalación predeterminados despliegan automáticamente 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 general sobre los recursos personalizados, consulta Recursos personalizados.

Antes de empezar

  • Debes asegurarte de que cumples los requisitos previos de instalación.

  • Si Knative Serving está instalado en tu clúster, debes asegurarte de que el complemento de GKE no exista antes de seguir estos pasos para instalar el componente de flota. Si tienes instalado el complemento, debes seguir los pasos para actualizar a flotas de GKE Enterprise.

    Comprueba si el complemento de GKE está instalado.

    Para comprobar si tu 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)'

    Sustituye:

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

    Resultados:

    • El complemento GKE no está instalado:
      • No se devuelve nada a tu terminal si el complemento nunca se ha instalado.
      • Se devuelve disabled=true si el complemento se había desinstalado anteriormente.
    • Se ha instalado el complemento de GKE: si el complemento está instalado en tu clúster, se devuelven los detalles de configuración del complemento. Ejemplo: loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    Ejemplo:
    En el siguiente ejemplo se muestra que Knative Serving se ha instalado en el clúster my-addon-cluster mediante el complemento de GKE, que se ha configurado para gestionar el 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

Configurar el CloudRun recurso personalizado

Debe crear y configurar manualmente el recurso personalizado CloudRun para configurar su instalación.

Para crear manualmente un CloudRunrecurso personalizado para clústeres de GKE en Google Cloud:
  1. Crea un archivo YAML e 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, puede personalizar la instalación configurando uno o varios de los siguientes atributos en una sección spec:

    • Clústeres privados: debes añadir el conjunto de atributos clusterConfig y isPrivate para instalar Knative Serving en un clúster privado en Google Cloud.

      Atributos clusterConfig y isPrivate:

      spec:
        clusterConfig:
          isPrivate: true
      

      Ten en cuenta que este ajuste inhabilita TLS gestionado porque los clústeres privados no pueden comunicarse con la autoridad de certificación de forma predeterminada.

    • Métricas: añade el metricscollector conjunto de atributos para configurar Cloud Monitoring. De forma predeterminada, las métricas están habilitadas en 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
      

      Haz los cambios siguientes:

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

        Para obtener más información sobre las cuentas de servicio, consulta los siguientes artículos:

Ejemplo

En este ejemplo de recurso personalizado CloudRun, se especifican los detalles de configuración de Cloud Monitoring para usar el secreto 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
 ```

Habilitar e instalar Knative Serving

Habilita el componente de servicio de Knative en tu flota de GKE Enterprise y, a continuación, implementa tu recurso personalizado CloudRun:

  1. Habilita el servicio de Knative en tu flota:

    gcloud container fleet cloudrun enable --project=PROJECT_ID
    

    Sustituye PROJECT_ID por el ID de tu Google Cloud proyecto.

    Para obtener más información y ver otras opciones, consulta la referencia de gcloud container fleet cloudrun enable.

  2. Opcional: Verifica que el componente de la función de servicio de Knative esté habilitado:

    Consola

    Comprueba si el componente de servicio de Knative está habilitado en la Google Cloud consola:

    Ir a Gestor de funciones

    Línea de comandos

    Para ver si el estado appdevexperience es ACTIVE, haz lo siguiente:

    gcloud container fleet features list  --project=PROJECT_ID
    

    Sustituye PROJECT_ID por el ID de tu Google Cloud proyecto.

    Para obtener más información y ver otras opciones, consulta la lista de funciones de gcloud container fleet.

    Resultado:

    NAME               STATE
    appdevexperience   ACTIVE
    
  3. En cada clúster de GKE Enterprise en el que quieras instalar Knative Serving, debes desplegar tu CloudRun recurso personalizado:

    gcloud

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

    Haz los cambios siguientes:

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

    Para obtener más información y ver otras opciones, consulta la referencia de gcloud container fleet cloudrun apply.

    kubectl

    kubectl apply --kubeconfig=KUBECONFIG --filename CONFIG_FILE
    

    Haz los cambios siguientes:

    • KUBECONFIG con la ruta absoluta al archivo de configuración de kubectl.
    • CONFIG_FILE con el nombre de archivo y la ruta relativa a tu cloudRun recurso personalizado. Ejemplo cloudrunanthos.yaml.

    Para obtener más información y opciones, consulta la referencia de kubectl apply.

  4. Comprueba que Knative Serving se haya habilitado en tu clúster:
    1. Abre la Google Cloud consola:

      Ir a 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 comprobar si puedes ver los detalles de la versión de Knative Serving: kubectl get all -n knative-serving -o 'go-template={{index .metadata.labels "serving.knative.dev/release"}}'
    4. Verifica que todas las implementaciones específicas de Knative Serving tengan el estado "Running" en los espacios de nombres knative-serving y appdevexperience.

Siguientes pasos

Configura tu instalación de Knative serving.