Utilización de Knative con Code Engine

IBM Cloud® Code Engine está diseñado para que no necesite interactuar con la tecnología subyacente en la que se basa. Sin embargo, si tiene herramientas existentes basadas en Knative, puede seguir utilizándolas con Code Engine. Code Engine da soporte a las API de Knative (y Kubernetes) y a sus mandatos de CLI. Para obtener más información sobre Kubernetes, consulte Utilización de Kubernetes con Code Engine.

¿Cuál es la versión soportada de Knative?

Code Engine soporta la versión 1.15 de las APIs de Knative y sus comandos CLI.

Instalación de la interfaz de línea de mandatos de Knative

Para instalar Knative kn), descargue e instale Knative CLI.

Para utilizar Knative con Code Engine, primero debe configurar el entorno para que pueda interactuar con la API Kubernetes de Code Engine. Para obtener más información, consulte Instalación de la interfaz de línea de mandatos de Kubernetes.

Para obtener más información sobre Kubernetes y Knative y cómo funcionan con la arquitectura de Code Engine, consulte Información sobre la arquitectura de Code Engine y el aislamiento de cargas de trabajo.

Interacción con la API de Kubernetes

Para interactuar con el proyecto desde la interfaz de línea de mandatos de Kubernetes, kubectl, o con Knative, kn debe configurar el entorno para interactuar con la API de Kubernetes de Code Engine.

Antes de empezar

Puede configurar el entorno de las formas siguientes.

  • Puede añadir la opción --kubecfg a su mandato project select. Por ejemplo:

    ibmcloud ce project select --name PROJECT_NAME --kubecfg
    
  • Puede exportar el archivo kubeconfig directamente. Ejecute el mandato ibmcloud ce project current para localizar su proyecto de destino actual. Este mandato también devuelve el mandato export para el archivo kubeconfig. Por ejemplo:

    ibmcloud ce project current
    

    Salida de ejemplo

    Getting the current project context...
    OK
    
    Name:       myproject
    ID:         01234567-abcd-abcd-abcd-abcdabcd1111
    Subdomain:  aabon2dfwa0
    Domain:     us-south.codeengine.appdomain.cloud
    Region:     us-south
    Kubectl Context:  4svg40kna19
    
    Kubernetes Config:
    Context:             aabon2dfwa0
    Environment Variable: export KUBECONFIG=/user/myusername/.bluemix/plugins/code-engine/myproject-01234567-abcd-abcd-abcd-abcdabcd1111.yaml
    

    A continuación, copie el mandato de exportación, péguelo en la interfaz de línea de mandatos y ejecútelo.

Verifique el entorno esté correctamente configurado ejecutando el mandato kubectl config.

kubectl config current-context

Si el contexto está correctamente establecido, la salida coincide con el valor de Kubectl Context del proyecto. Por ejemplo, si el valor de Kubectl Context del proyecto es 4svg40kna19, el mandato devuelve 4svg40kna19.

Para obtener más información sobre Kubernetes y cómo funciona con la arquitectura Code Engine, consulte Información sobre la arquitectura de Code Engine y el aislamiento de cargas de trabajo.

Autorizaciones de acceso necesarias para trabajar con la API de Knative

Después de configurar el entorno, puede interactuar con la API de Knative. Debe tener el nivel de autorización correcto para tareas específicas. Estos roles se establecen en la gestión de identidad y acceso. Consulte roles de servicio de IBM Cloud.

Autoridades knativas
Recurso Rol de gestor Rol de escritor Rol de lector
services.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
configurations.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
routes.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
revisions.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
pingsource.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
kafkasource.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch