11.2.5. クラスターでの関数のビルドとデプロイ
Knative (kn
) CLI を使用して、関数プロジェクトのビルドを開始し、関数をクラスターに直接デプロイできます。この方法で関数プロジェクトをビルドするには、関数プロジェクトのソースコードが、クラスターにアクセスできる Git リポジトリーブランチに存在する必要があります。
OpenShift Serverless Functions は、テクノロジープレビュー機能としてのみご利用いただけます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
前提条件
- Red Hat OpenShift パイプラインをクラスターにインストールする必要がある。
-
OpenShift CLI (
oc
) がインストールされている。 -
Knative (
kn
) CLI をインストールしている。
手順
パイプラインを実行して関数をデプロイする各 namespace で、次のリソースを作成する必要があります。
関数 buildpacks Tekton タスクを作成して、関数イメージをビルドできるようにします。
$ oc apply -f https://raw.githubusercontent.com/openshift-knative/kn-plugin-func/serverless-1.22.0/pipelines/resources/tekton/task/func-buildpacks/0.1/func-buildpacks.yaml
kn func
deploy Tekton タスクを作成して、パイプラインに関数をデプロイできるようにします。$ oc apply -f https://raw.githubusercontent.com/openshift-knative/kn-plugin-func/serverless-1.22.0/pipelines/resources/tekton/task/func-deploy/0.1/func-deploy.yaml
関数を作成します。
$ kn func create <function_name> -l <runtime>
-
新しい関数プロジェクトを作成したら、プロジェクトを Git リポジトリーに追加し、リポジトリーがクラスターで使用可能であることを確認する必要があります。この Git リポジトリーに関する情報は、次のステップで
func.yaml
ファイルを更新するために使用されます。 関数プロジェクトの
func.yaml
ファイルの設定を更新して、Git リポジトリーのクラスター上ビルドを有効にします。... build: git 1 git: url: <git_repository_url> 2 revision: main 3 contextDir: <directory_path> 4 ...
- 関数のビジネスロジックを実装します。次に、Git を使用して変更をコミットしてプッシュします。
関数をデプロイします。
$ kn func deploy
関数設定で参照されているコンテナーレジストリーにログインしていない場合は、関数イメージをホストするリモートコンテナーレジストリーの資格情報を入力するように求められます。
出力例とプロンプト
🕕 Creating Pipeline resources Please provide credentials for image registry used by Pipeline. ? Server: https://index.docker.io/v1/ ? Username: my-repo ? Password: ******** Function deployed at URL: http://test-function.default.svc.cluster.local
-
関数を更新するには、Git を使用して新しい変更をコミットしてプッシュしてから、
kn func deploy
コマンドを再度実行します。