Code Engine での Knative の使用

IBM Cloud® Code Engine は、その上に構築されている基礎にあるテクノロジーと対話する必要がないように設計されています。 ただし、Knative に基づく既存のツールがある場合でも、Code Engine で使用できます。Code Engine は、Knative API (および Kubernetes) とその CLI コマンドをサポートします。 Kubernetes について詳しくは、Code Engine での Kubernetes の使用を参照してください。

サポートされている Knative のバージョンは何ですか?

Code Engineはバージョン1.15のKnative APIとそのCLIコマンドをサポートしています。

Knative コマンド・ライン・インターフェースのインストール

Knativeをインストールするには kn)、Knative CLIをダウンロードしてインストールしてください。

Code Engineで Knative を使用するには、まず、Code Engineの Kubernetes API と対話するように環境をセットアップしなければなりません。 詳しくは、Kubernetes コマンド・ライン・インターフェースのインストールを参照してください。

Kubernetes と Knative について、およびそれらがCode Engineアーキテクチャーでどのように機能するかについての詳細は、Code Engine のアーキテクチャーとワークロードの分離についてを参照してください。

上級者向け: Kubernetes API との対話

Kubernetes コマンド・ライン・インターフェース kubectl、または Knative kn からプロジェクトと対話するには、Code Engineの Kubernetes API と対話するように環境をセットアップしなければなりません。

開始前に

以下の方法で環境をセットアップできます。

  • --kubecfg コマンドに project select オプションを追加します。 以下に例を示します。

    ibmcloud ce project select --name PROJECT_NAME --kubecfg
    
  • kubeconfig ファイルを直接エクスポートします。 ibmcloud ce project current コマンドを実行して、現在ターゲットに設定しているプロジェクトを確認します。 このコマンドは、kubeconfigファイルの**export**コマンドも返します。 以下に例を示します。

    ibmcloud ce project current
    

    出力例

    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
    

    このエクスポート・コマンドをコピーし、コマンド・ライン・インターフェースに貼り付けて実行します。

kubectl config コマンドを実行して、環境が正しく設定されていることを確認します。

kubectl config current-context

コンテキストが正しく設定されていれば、出力がプロジェクトの Kubectl Context 値と一致します。 例えば、プロジェクトの Kubectl Context 値が 4svg40kna19 の場合、コマンドは 4svg40kna19 を返します。

Kubernetes に関する詳細情報と、それが Code Engine アーキテクチャーと連携する方法については、Code Engine アーキテクチャーとワークロードの分離についてを参照してください。

Knative API の操作に必要なアクセス権限

環境をセットアップした後、Knative API と対話できます。 特定のタスクに適したレベルの権限が必要です。 これらの役割は、「ID およびアクセス管理」で設定されます。 IBM Cloud サービス役割を参照してください。

国交当局
リソース マネージャー役割 ライター役割 リーダー役割
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