Instalar el servicio de Knative fuera de Google Cloud

Consulta cómo instalar Knative Serving en tus clústeres de GKE fuera 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.

Para Knative Serving en VMware, consulta la guía de instalación de disponibilidad general.

La compatibilidad con los siguientes clústeres de GKE está disponible como versión preliminar:

Sigue los pasos de esta página para configurar una nueva instalación o para actualizar una instalación de flota de Knative Serving.

Antes de empezar

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

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 Google Cloud:

  1. Debes crear o tener una cuenta de servicio a la que se le haya concedido el rol Escritor de métricas de Monitoring (monitoring.metricWriter).

    • Para crear una cuenta de servicio y descargar la clave, consulta Usar cuentas de servicio.

    • Si ya tienes una cuenta de servicio con los permisos necesarios, busca la clave que descargaste al crearla.

  2. Asegúrate de que Cloud Monitoring esté habilitado en tu clúster de GKE:

  3. Crea el espacio de nombres knative-serving:

    kubectl create namespace knative-serving
    
  4. Crea un secreto en el espacio de nombres knative-serving que contenga la cuenta de servicio con permisos monitoring.metricWriter:

    kubectl create secret -n knative-serving generic SECRET_NAME --from-file=PATH_TO_KEY_FILE/SECRET_KEY
    

    Sustituye:

    • SECRET_NAME por el nombre que elijas para el secreto.
    • SECRET_KEY con el nombre del archivo que incluye tus credenciales. Ejemplo: key.json
    • PATH_TO_KEY_FILE con la ruta al directorio de la SECRET_KEY.

    Consulta la referencia de kubectl create secret para obtener más información, incluidas las marcas opcionales.

  5. Crea un archivo YAML con los siguientes atributos, por ejemplo, cloudrunanthos.yaml:

    apiVersion: operator.run.cloud.google.com/v1alpha1
    kind: CloudRun
    metadata:
      name: cloud-run
    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 --kubeconfig=KUBECONFIG --context=CONTEXT --config=CONFIG_FILE
    

    Haz los cambios siguientes:

    • KUBECONFIG con la ruta absoluta al archivo de configuración de kubectl.
    • CONTEXT con el nombre del contexto del archivo kubectl config que se va a usar para conectarse.
    • 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.