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 と対話するように環境をセットアップしなければなりません。
開始前に
- プロジェクトを作成し、プロジェクトの状況が
activeになっている必要があります。 - Kubernetes の CLI (
kubectl) と Knative の CLI (kn) をインストールします。
以下の方法で環境をセットアップできます。
-
--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 |