Utilisation de Knative avec Code Engine
IBM Cloud® Code Engine est conçu de telle sorte que vous n'ayez pas besoin d'interagir avec la technologie sous-jacente sur laquelle il s'appuie. Toutefois, si vous disposez d'outils existants basés sur Knative, vous pouvez toujours les utiliser avec Code Engine. Code Engine prend en charge les API Knatives (et Kubernetes) et leurs commandes CLI. Pour plus d'informations sur Kubernetes, voir Utilisation de Kubernetes avec Code Engine.
Quelle est la version prise en charge de Knative?
Code Engine supporte la version 1.15 des API Knative et ses commandes CLI.
Installation de l'interface de ligne de commande Knative
Pour installer Knative kn), téléchargez et installez le CLI Knative.
Pour utiliser Knative avec Code Engine, vous devez d'abord configurer votre environnement pour interagir avec l'API Kubernetes de Code Engine. Pour plus d'informations, voir Installation de l'interface de ligne de commande Kubernetes.
Pour plus d'informations sur Kubernetes et Knative et sur leur fonctionnement avec l'architecture Code Engine, voir En apprendre plus sur l'architecture Code Engine et l'isolement de la charge de travail.
Interaction avec l'API Kubernetes
Pour interagir avec votre projet à partir de l'interface de ligne de commande Kubernetes, kubectl, ou avec Knative, kn vous devez configurer votre environnement pour interagir avec l'API Kubernetes de Code Engine.
Avant de commencer
- Vous devez créer votre projet (celui-ci devant être à l'état
active). - Installez l'interface de ligne de commande Kubernetes (
kubectl) et l'interface de ligne de commande Knative (kn).
Vous pouvez configurer votre environnement selon les méthodes suivantes :
-
Vous pouvez ajouter l'option
--kubecfgà votre commandeproject select. Par exemple :ibmcloud ce project select --name PROJECT_NAME --kubecfg -
Vous pouvez exporter le fichier
kubeconfigdirectement. Exécutez la commandeibmcloud ce project currentpour rechercher le projet que vous ciblez actuellement. Cette commande renvoie également la commandeexportpour votre fichierkubeconfig. Par exemple :ibmcloud ce project currentExemple de sortie
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.yamlEnsuite, copiez la commande export et collez-la dans votre interface de ligne de commande, puis exécutez-la.
Vérifiez que votre environnement a été correctement configuré en exécutant la commande kubectl config.
kubectl config current-context
Si le contexte est correctement défini, la sortie correspond à la valeur Kubectl Context de votre projet. Par exemple, si la valeur Kubectl Context de votre projet est 4svg40kna19, la commande renvoie 4svg40kna19.
Pour plus d'informations sur Kubernetes et son fonctionnement avec l'architecture Code Engine, voir Découvrir l'architecture de Code Engine et l'isolement des charges de travail.
Droits d'accès requis pour l'utilisation de l'API Knative
Après avoir configuré votre environnement, vous pouvez interagir avec l'API Knative. Vous devez disposer du niveau d'accès approprié pour effectuer certaines tâches. Ces rôles sont définis dans Identity and Access Management. Voir Rôles de service IBM Cloud.
| Ressource | Rôle Gestionnaire | Rôle Auteur | Rôle Lecteur |
|---|---|---|---|
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 |