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 pouvez configurer votre environnement selon les méthodes suivantes :

  • Vous pouvez ajouter l'option --kubecfg à votre commande project select. Par exemple :

    ibmcloud ce project select --name PROJECT_NAME --kubecfg
    
  • Vous pouvez exporter le fichier kubeconfig directement. Exécutez la commande ibmcloud ce project current pour rechercher le projet que vous ciblez actuellement. Cette commande renvoie également la commande export pour votre fichier kubeconfig. Par exemple :

    ibmcloud ce project current
    

    Exemple 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.yaml
    

    Ensuite, 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.

Autorités natives
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