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 müssen Ihr Projekt erstellen und das Projekt muss den Status
activeaufweisen. - Installieren Sie die Kubernetes-Befehlszeilenschnittstelle (
kubectl) und die Knative-Befehlszeilenschnittstelle (kn).
Sie können die Umgebung auf die folgenden Arten einrichten.
-
Sie können die Option
--kubecfgzum Befehlproject selecthinzufügen. Beispiel:ibmcloud ce project select --name PROJECT_NAME --kubecfg -
Sie können die Datei
kubeconfigdirekt exportieren. Führen Sie den Befehlibmcloud ce project currentaus, um das Projekt zu finden, das Sie gerade als Ziel angeben. Mit diesem Befehl wird auch der Befehlexportfür Ihre Dateikubeconfigzurückgegeben. Beispiel:ibmcloud ce project currentBeispielausgabe
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.yamlKopieren 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.
| 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 |