3.5. Docker コンテナー環境への APIcast のデプロイ


ここでは、Docker コンテナーエンジン内部に Red Hat 3scale API Management API ゲートウェイとして使用する準備が整っている APIcast をデプロイする方法を、手順をおって説明します。

注記

Docker コンテナー環境に APIcast をデプロイする場合、サポートされる Red Hat Enterprise Linux (RHEL) および Docker のバージョンは以下のとおりです。

  • RHEL 7.7
  • Docker 1.13.1

前提条件

Docker コンテナー環境に APIcast をデプロイするには、以下のセクションに概略を示す手順を実施します。

3.5.1. Docker コンテナー環境のインストール

本セクションでは、RHEL 7 に Docker コンテナー環境を設定する手順を説明します。

Red Hat が提供する Docker コンテナーエンジンは、RHEL の Extras チャンネルの一部としてリリースされています。追加のリポジトリーを有効にするには、Subscription Manager または yum-config-manager オプションを使用できます。詳細は、RHEL の製品ドキュメント を参照してください。

Amazon Web Services (AWS)、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに RHEL 7 をデプロイするには、以下の手順を実施します。

手順

  1. sudo yum repolist all ですべてのリポジトリーを一覧表示します。
  2. *-extras リポジトリーを探します。
  3. sudo yum-config-manager --enable rhui-REGION-rhel-server-extras を実行し、extras リポジトリーを有効にします。
  4. sudo yum install docker を実行し、Docker コンテナー環境のパッケージをインストールします。

関連情報

他のオペレーティングシステムをお使いの場合は、以下の Docker ドキュメントを参照してください。

3.5.2. Docker コンテナー環境ゲートウェイの実行

重要

3scale 2.11 では、RHEL7 および Docker のコンテナーとして実行されている APIcast デプロイメントのサポートは非推奨になりました。今後のリリースでは、3scale は RHEL8 および Podman のみをサポートします。Self-managed APIcast をコンテナーとして実行している場合は、インストールをサポート対象の設定にアップグレードしてください。

Docker コンテナー環境ゲートウェイを実行するには、以下の手順を実施します。

手順

  1. Docker デーモンを開始します。

    sudo systemctl start docker.service
  2. Docker デーモンが実行されているか確認します。

    sudo systemctl status docker.service
  3. Red Hat レジストリーから、そのまま使用できる Docker コンテナーエンジンのイメージをダウンロードします。

    sudo docker pull registry.redhat.io/3scale-amp2/apicast-gateway-rhel8:3scale2.11
  4. Docker コンテナーエンジンで APIcast を実行します。

    sudo docker run --name apicast --rm -p 8080:8080 -e THREESCALE_PORTAL_ENDPOINT=https://<access_token>@<domain>-admin.3scale.net registry.redhat.io/3scale-amp2/apicast-gateway-rhel8:3scale2.11

    ここで、<access_token> は 3scale Account Management API のアクセストークンに置き換えます。アクセストークンの代わりにプロバイダーキーを使用することもできます。<domain>-admin.3scale.net は 3scale 管理ポータルの URL です。

このコマンドは、apicastという Docker コンテナーエンジンをポート 8080 で実行し、3scale 管理ポータルから JSON 設定ファイルを取得します。その他の設定オプションについては、APIcast のインストール を参照してください。

3.5.2.1. docker コマンドのオプション

docker run コマンドでは、以下のオプションを使用できます。

  • --rm: 終了時にコンテナーを自動的に削除します。
  • -d または --detach: コンテナーをバックグラウンドで実行し、コンテナー ID を出力します。このオプションを指定しないと、コンテナーはフォアグラウンドモードで実行され、CTRL+c を使用して停止することができます。デタッチモードで起動された場合、docker attach コマンド (例: docker attach apicast) を使用するとコンテナーに再アタッチすることができます。
  • -p または --publish: コンテナーのポートをホストに公開します。値の書式は <host port="">:<container port=""> とする必要があります。したがって、-p 80:8080 の場合は、コンテナーのポート 8080 をホストマシンのポート 80 にバインドします。たとえば、Management API はポート 8090 を使用するため、-p 8090:8090docker run コマンドに追加してこのポートを公開します。
  • -e または --env: 環境変数を設定します。
  • -v または --volume: ボリュームをマウントします。値は通常 <host path="">:<container path="">[:<options>] で表されます。<options> はオプションの属性で、ボリュームを読み取り専用に指定するには、:ro に設定します (デフォルトでは読み取り/書き込みモードでマウントされます)。たとえば、-v /host/path:/container/path:ro と設定します。

3.5.2.2. APIcast のテスト

以下の手順は、Docker コンテナーエンジンが独自の設定ファイルと、3scale レジストリーからの Docker コンテナーイメージで実行されるようにします。呼び出しは APIcast を介してポート 8080 でテストでき、3scale アカウントから取得できる正しい認証クレデンシャルを提供できます。

テストコールは、APIcast が適切に実行されていることを確認するだけでなく、認証とレポートが正常に処理されたことも確認します。

注記

呼び出しに使用するホストが Integration ページの Public Base URL フィールドに設定されたホストと同じであるようにしてください。

関連情報

  • 使用できるオプションの詳細については、Docker run reference を参照してください。

3.5.3. 関連情報

3.5.4. Podman への APIcast のデプロイ

ここでは、Pod Manager (Podman) コンテナー環境に Red Hat 3scale API Management API ゲートウェイとして使用される APIcast をデプロイする方法を、手順を追って説明します。

注記

Podman コンテナー環境に APIcast をデプロイする場合、サポートされる Red Hat Enterprise Linux (RHEL) および Podman のバージョンは以下のとおりです。

  • RHEL 8
  • Podman 1.4.2

前提条件

Podman コンテナー環境に APIcast をデプロイするには、以下のセクションに概略を示す手順を実施します。

3.5.4.1. Podman コンテナー環境のインストール

本セクションでは、RHEL 8 に Podman コンテナー環境を設定する手順を説明します。Docker は RHEL 8 に含まれていないため、コンテナーの操作には Podman を使用します。

Podman と RHEL 8 の使用については、コンテナーのコマンドに関するリファレンスドキュメント を参照してください。

手順

  • Podman コンテナー環境パッケージをインストールします。

    sudo dnf install podman

関連情報

他のオペレーティングシステムをお使いの場合は、以下の Podman のドキュメントを参照してください。

3.5.4.2. Podman 環境の実行

Podman コンテナー環境を実行するには、以下の手順に従います。

手順

  1. Red Hat レジストリーから、そのまま使用できる Podman コンテナーのイメージをダウンロードします。

    podman pull registry.redhat.io/3scale-amp2/apicast-gateway-rhel8:3scale2.11
  2. Podman で APIcast を実行します。

    podman run --name apicast --rm -p 8080:8080 -e THREESCALE_PORTAL_ENDPOINT=https://<access_token>@<domain>-admin.3scale.net registry.redhat.io/3scale-amp2/apicast-gateway-rhel8:3scale2.11

    ここで、<access_token> は 3scale Account Management API のアクセストークンに置き換えます。アクセストークンの代わりにプロバイダーキーを使用することもできます。<domain>-admin.3scale.net は 3scale 管理ポータルの URL です。

このコマンドは、apicastという Podman コンテナーエンジンをポート 8080 で実行し、3scale 管理ポータルから JSON 設定ファイルを取得します。その他の設定オプションについては、APIcast のインストール を参照してください。

3.5.4.2.1. Podman による APIcast のテスト

以下の手順は、Podman コンテナーエンジンが独自の設定ファイルと、3scale レジストリーからの Podman コンテナーイメージで実行されるようにします。呼び出しは APIcast を介してポート 8080 でテストでき、3scale アカウントから取得できる正しい認証クレデンシャルを提供できます。

テストコールは、APIcast が適切に実行されていることを確認するだけでなく、認証とレポートが正常に処理されたことも確認します。

注記

呼び出しに使用するホストが Integration ページの Public Base URL フィールドに設定されたホストと同じであるようにしてください。

3.5.4.3. podman コマンドのオプション

podman コマンドでは、以下に例を示すオプションを使用することができます。

  • -d: デタッチモード でコンテナーを実行し、コンテナー ID を出力します。このオプションを指定しないと、コンテナーはフォアグラウンドモードで実行され、CTRL+c を使用して停止することができます。デタッチモードで起動された場合、podman attach コマンド (例: podman attach apicast) を使用するとコンテナーに再アタッチすることができます。
  • ps および -a: Podman ps を使用して、作成中および実行中のコンテナーを一覧表示します。ps コマンドに -a を追加すると (例: podman ps -a)、すべてのコンテナー (実行中および停止中の両方) が表示されます。
  • inspect および -l: 実行中のコンテナーを調べます。たとえば、inspect を使用して、コンテナーに割り当てられた ID を表示します。-l を使用すると、最新のコンテナーの詳細を取得できます (たとえば podman inspect -l | grep Id\":)。

3.5.4.4. 関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.