Instala Knative serving fuera de Google Cloud

Obtén información para instalar Knative serving en tus clústeres de GKE fuera de 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.

Para Knative serving en VMware, consulta la guía de instalación a nivel de DG.

La asistencia para los siguientes clústeres de GKE está disponible como vista previa:

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

Antes de comenzar

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

Configura tu recurso personalizado de CloudRun

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

Si deseas crear de forma manual un recurso personalizado CloudRun para los clústeres de GKE fuera de Google Cloud, haz lo siguiente:

  1. Debes crear una cuenta de servicio o tener una existente a la que se le haya otorgado la función de escritor de métricas de Monitoring (monitoring.metricWriter). requerida.

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

    • Si tienes una cuenta de servicio existente con los permisos necesarios, busca la clave que descargaste cuando creaste esa cuenta.

  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 Secret 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
    

    Reemplaza lo siguiente:

    • SECRET_NAME por el nombre que elijas para el Secret
    • SECRET_KEY por el nombre del archivo que incluye tus credenciales Ejemplo: key.json
    • PATH_TO_KEY_FILE por la ruta de acceso al directorio de 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
    

    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 --kubeconfig=KUBECONFIG --context=CONTEXT --config=CONFIG_FILE
    

    Reemplaza lo siguiente:

    • KUBECONFIG por la ruta de acceso absoluta al archivo de configuración kubectl.
    • CONTEXT por el nombre del contexto en tu archivo de configuración de kubectl que usarás para conectarte.
    • 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.