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
- Debe crear el proyecto y el proyecto debe estar en estado
active(Preparado). - Instale la CLI de Kubernetes (
kubectl) y la CLI de Knative (kn).
Puede configurar el entorno de las formas siguientes.
-
Puede añadir la opción
--kubecfga su mandatoproject select. Por ejemplo:ibmcloud ce project select --name PROJECT_NAME --kubecfg -
Puede exportar el archivo
kubeconfigdirectamente. Ejecute el mandatoibmcloud ce project currentpara localizar su proyecto de destino actual. Este mandato también devuelve el mandatoexportpara el archivokubeconfig. Por ejemplo:ibmcloud ce project currentSalida 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.yamlA 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.
| 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 |