Utilizzo di Knative con Code Engine

IBM Cloud® Code Engine è progettato in modo da non dover interagire con la tecnologia sottostante su cui si basa. Tuttavia, se hai degli strumenti esistenti basati su Knative, puoi ancora utilizzarli con Code Engine. Code Engine supporta le API Knative (e Kubernetes) e i loro comandi CLI. Per ulteriori informazioni su Kubernetes, vedi Utilizzo di Kubernetes con Code Engine.

Qual è la versione supportata di Knative?

Code Engine supporta la versione 1.15 delle API Knative e i suoi comandi CLI.

Installazione dell'interfaccia a riga di comando di Knative

Per installare Knative (kn), scaricare e installare la CLI Knative.

Per utilizzare Knative con Code Engine, devi prima impostare il tuo ambiente per interagire con l'API Kubernetes di Code Engine. Per ulteriori informazioni, vedi Installazione della CLI Kubernetes.

Per ulteriori informazioni sull'architettura Kubernetes e Knative e su come funzionano con Code Engine, vedi Informazioni su Code Engine architettura e isolamento del carico di lavoro.

Interazione con API Kubernetes

Per interagire con il tuo progetto dall'interfaccia riga di comando Kubernetes, kubectl o con Knative, kn devi configurare il tuo ambiente per interagire con l'API Kubernetes di Code Engine.

Prima di iniziare

Puoi configurare il tuo ambiente nei seguenti modi.

  • È possibile aggiungere l'opzione --kubecfg al comando project select. Ad esempio,

    ibmcloud ce project select --name PROJECT_NAME --kubecfg
    
  • È possibile esportare direttamente il file kubeconfig. Eseguire il comando ibmcloud ce project current per trovare il progetto che si sta attualmente destinando. Questo comando restituisce anche il comando export per il file kubeconfig. Ad esempio,

    ibmcloud ce project current
    

    Output di esempio

    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
    

    Quindi, copiare il comando di esportazione, incollarlo nella CLI (command - line interface) ed eseguirlo.

Verificare che il proprio ambiente sia impostato correttamente eseguendo il comando kubectl config.

kubectl config current-context

Se il contesto è impostato correttamente, l'output corrisponde al valore Kubectl Context del progetto. Ad esempio, se il valore Kubectl Context del progetto è 4svg40kna19, il comando restituisce 4svg40kna19.

Per ulteriori informazioni su Kubernetes e su come funziona con architettura Code Engine, vedi Informazioni su Code Engine architettura e isolamento del carico di lavoro.

Autorizzazioni di accesso richieste per utilizzare l'API Knative

Dopo aver configurato il tuo ambiente, puoi interagire con l'API Knative. È necessario disporre del corretto livello di autorizzazione per attività specifiche. Questi ruoli sono impostati in Identity and Access Management. Vedi Ruoli del servizioIBM Cloud.

Autorità di controllo
Risorsa Ruolo gestore Ruolo scrittore Ruolo lettore
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