Knative und Code Engine zusammen verwenden

IBM Cloud® Code Engine ist so konzipiert, dass Sie nicht mit der zugrundeliegenden Technologie interagieren müssen, auf der es basiert. Wenn Sie jedoch vorhandene Tools haben, die auf Knative basieren, können Sie sie weiterhin mit Code Engine verwenden. Code Engine unterstützt die Knative-APIs (und Kubernetes) und ihre CLI-Befehle. Weitere Informationen zu Kubernetes finden Sie unter Kubernetes mit Code Engine verwenden.

Welche Version von Knative wird unterstützt?

Code Engine unterstützt die Version 1.15 der Knative APIs und deren CLI-Befehle.

Knative-Befehlszeilenschnittstelle installieren

Um Knative kn) zu installieren, laden Sie die Knative CLI herunter und installieren Sie sie.

Um Knative mit Code Engine verwenden zu können, müssen Sie zunächst Ihre Umgebung für die Interaktion mit der Kubernetes-API von Code Engine einrichten. Weitere Informationen finden Sie im Abschnitt Kubernetes-Befehlszeilenschnittstelle installieren.

Weitere Informationen zu Kubernetes und Knative sowie deren Funktionsweise mit der Code Engine-Architektur finden Sie unter Informationen zur Code Engine-Architektur und -Workloadisolation.

Mit der Kubernetes-API interagieren

Um mit Ihrem Projekt über die Kubernetes-Befehlszeilenschnittstelle kubectl oder mit Knative kn zu interagieren, müssen Sie Ihre Umgebung so einrichten, dass sie mit der Kubernetes-API von Code Engine interagiert.

Vorbereitende Schritte

Sie können die Umgebung auf die folgenden Arten einrichten.

  • Sie können die Option --kubecfg zum Befehl project select hinzufügen. Beispiel:

    ibmcloud ce project select --name PROJECT_NAME --kubecfg
    
  • Sie können die Datei kubeconfig direkt exportieren. Führen Sie den Befehl ibmcloud ce project current aus, um das Projekt zu finden, das Sie gerade als Ziel angeben. Mit diesem Befehl wird auch der Befehl export für Ihre Datei kubeconfig zurückgegeben. Beispiel:

    ibmcloud ce project current
    

    Beispielausgabe

    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
    

    Kopieren Sie anschließend den Exportbefehl, fügen Sie ihn in die Befehlszeilenschnittstelle ein und führen Sie ihn aus.

Überprüfen Sie durch Ausführen des Befehls kubectl config, ob die Umgebung ordnungsgemäß konfiguriert ist.

kubectl config current-context

Wenn der Kontext ordnungsgemäß konfiguriert ist, stimmt die Ausgabe mit dem Wert von Kubectl Context des Projekts überein. Beispiel: Wenn der Wert von Kubectl Context für das Projekt 4svg40kna19 beträgt, wird vom Befehl 4svg40kna19 zurückgegeben.

Weitere Informationen zu Kubernetes und zur Zusammenarbeit mit der Code Engine-Architektur finden Sie unter Lernen Sie die Code Engine-Architektur und Workloadisolation kennen.

Erforderliche Zugriffsberechtigungen für die Arbeit mit der Knative-API

Nachdem Sie Ihre Umgebung eingerichtet haben, können Sie mit der Knative-API interagieren. Für bestimmte Tasks müssen Sie die richtige Berechtigungsstufe besitzen. Diese Rollen werden in Identity and Access Management festgelegt. Weitere Informationen enthält der Abschnitt IBM Cloud-Servicerollen.

Knative Behörden
Ressource Rolle für Managementaufgaben Schreibberechtigter (Autor) Leserrolle
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