第6章 関数


6.1. OpenShift Serverless Functions の設定

アプリケーションコードのデプロイプロセスを改善するために、OpenShift Serverless を使用して、ステートレスでイベント駆動型の関数を Knative サービスとして OpenShift Container Platform にデプロイできます。関数を開発する場合は、セットアップ手順を完了する必要があります。

6.1.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 レジストリーを使用している場合には、クラスター管理者は レジストリーを公開する 必要があります。

6.1.2. Podman の設定

高度なコンテナー管理機能を使用するには、OpenShift Serverless Functions で Podman を使用することをお勧めします。そのためには、Podman サービスを開始し、それに接続するように Knative (kn) CLI を設定する必要があります。

手順

  1. ${XDG_RUNTIME_DIR}/podman/podman.sock で、UNIX ソケットで Docker API を提供する Podman サービスを起動します。

    $ systemctl start --user podman.socket
    注記

    多くのシステムでは、このソケットは /run/user/$(id -u)/podman/podman.sock にあります。

  2. 関数のビルドに使用する環境変数を確立します。

    $ export DOCKER_HOST="unix://${XDG_RUNTIME_DIR}/podman/podman.sock"
  3. -v フラグを指定して、関数プロジェクトディレクトリー内で build コマンドを実行し、詳細な出力を表示します。ローカルの UNIX ソケットへの接続が表示されるはずです。

    $ kn func build -v

6.1.3. macOS での Podman のセットアップ

高度なコンテナー管理機能を使用するには、OpenShift Serverless Functions で Podman を使用することをお勧めします。macOS でこれを行うには、Podman マシンを起動し、それに接続するように Knative (kn) CLI を設定する必要があります。

手順

  1. Podman マシンを作成します。

    $ podman machine init --memory=8192 --cpus=2 --disk-size=20
  2. 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 にあります。

  3. 関数のビルドに使用する環境変数を確立します。

    $ export DOCKER_HOST='unix:///Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock'
  4. -v フラグを指定して、関数プロジェクトディレクトリー内で build コマンドを実行し、詳細な出力を表示します。ローカルの UNIX ソケットへの接続が表示されるはずです。

    $ kn func build -v

6.1.4. 次のステップ

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.