3.7. OpenShift Serverless Functions の設定
アプリケーションコードのデプロイプロセスを改善するために、OpenShift Serverless を使用して、ステートレスでイベント駆動型の関数を Knative サービスとして OpenShift Container Platform にデプロイできます。関数を開発する場合は、セットアップ手順を完了する必要があります。
3.7.1. 前提条件
クラスターで OpenShift Serverless Functions の使用を有効にするには、以下の手順を実行する必要があります。
OpenShift Serverless Operator および Knative Serving がクラスターにインストールされている。
注記関数は Knative サービスとしてデプロイされます。関数でイベント駆動型のアーキテクチャーを使用する必要がある場合は、Knative Eventing もインストールする必要があります。
-
oc
CLI がインストールされている。 -
Knative (
kn
) CLI がインストールされている。Knative CLI をインストールすると、関数の作成および管理に使用できるkn func
コマンドを使用できます。 - Docker Container Engine または Podman バージョン 3.4.7 以降がインストールされている。
- OpenShift Container Registry などの利用可能なイメージレジストリーにアクセスできる。
- Quay.io をイメージレジストリーとして使用する場合は、リポジトリーがプライベートではないか確認するか、OpenShift Container Platform ドキュメント Pod が他のセキュアなレジストリーからイメージを参照できるようにする設定 に従っていることを確認する必要があります。
- OpenShift Container レジストリーを使用している場合には、クラスター管理者は レジストリーを公開する 必要があります。
3.7.2. Podman の設定
高度なコンテナー管理機能を使用するには、OpenShift Serverless Functions で Podman を使用することをお勧めします。そのためには、Podman サービスを開始し、それに接続するように Knative (kn
) CLI を設定する必要があります。
手順
${XDG_RUNTIME_DIR}/podman/podman.sock
で、UNIX ソケットで Docker API を提供する Podman サービスを起動します。$ systemctl start --user podman.socket
注記多くのシステムでは、このソケットは
/run/user/$(id -u)/podman/podman.sock
にあります。関数のビルドに使用する環境変数を確立します。
$ export DOCKER_HOST="unix://${XDG_RUNTIME_DIR}/podman/podman.sock"
-v
フラグを指定して、関数プロジェクトディレクトリー内で build コマンドを実行し、詳細な出力を表示します。ローカルの UNIX ソケットへの接続が表示されるはずです。$ kn func build -v
3.7.3. macOS での Podman のセットアップ
高度なコンテナー管理機能を使用するには、OpenShift Serverless Functions で Podman を使用することをお勧めします。macOS でこれを行うには、Podman マシンを起動し、それに接続するように Knative (kn
) CLI を設定する必要があります。
手順
Podman マシンを作成します。
$ podman machine init --memory=8192 --cpus=2 --disk-size=20
UNIX ソケットで Docker API を提供する Podman マシンを開始します。
$ podman machine start Starting machine "podman-machine-default" Waiting for VM ... Mounting volume... /Users/myuser:/Users/user [...truncated output...] You can still connect Docker API clients by setting DOCKER_HOST using the following command in your terminal session: export DOCKER_HOST='unix:///Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock' Machine "podman-machine-default" started successfully
注記ほとんどの macOS システムでは、このソケットは
/Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock
にあります。関数のビルドに使用する環境変数を確立します。
$ export DOCKER_HOST='unix:///Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock'
-v
フラグを指定して、関数プロジェクトディレクトリー内で build コマンドを実行し、詳細な出力を表示します。ローカルの UNIX ソケットへの接続が表示されるはずです。$ kn func build -v
3.7.4. 次のステップ
- Docker Container Engine または Podman の詳細は、コンテナービルドツールのオプション を参照してください。
- 関数を使い始めるを参照してください。