Kong Gateway のインストール手順 - RHEL

本ソフトウェアには、Kong Software License Agreement が適用されます。Kong Gateway (OSS) は、Apache 2.0 ライセンスの下でライセンスが許諾されています。

必要なもの

Kong のダウンロードとインストール

インストール パッケージをダウンロードするか、YUM リポジトリを使用して Kong Gateway をインストールできます。

オプション 1: パッケージをダウンロード

コマンドラインから RHEL に Kong Gateway をインストールします。

  1. Kong パッケージをダウンロードします。

    curl -Lo kong-enterprise-edition-3.2.1.0.rpm $( rpm --eval "https://download.konghq.com/gateway-3.x-rhel-%{rhel}/Packages/k/kong-enterprise-edition-3.2.1.0.rhel%{rhel}.amd64.rpm")
    
  2. yum または rpm を使用して、パッケージをインストールします。

    rpm を使用する場合、パッケージには Kong Gateway のみが含まれており、依存関係は含まれません。

    sudo yum install kong-enterprise-edition-3.2.1.0.rpm
    

    rpm を使用した直接インストールは、最軽量の Red Hat Universal Base Image に適しています。別途 microdnf を利用して、Kong の依存関係をインストールする必要があります。

オプション 2: YUM リポジトリを使用

コマンドラインから YUM リポジトリ経由でインストールします。

  1. Kong YUM リポジトリをダウンロードします。
    curl $(rpm --eval "https://download.konghq.com/gateway-3.x-rhel-%{rhel}/config.repo") | sudo tee /etc/yum.repos.d/kong.repo
    
  2. Kong をインストールします。

    sudo yum install kong-enterprise-edition-3.2.1.0
    

設定ファイルのセットアップ

Kong Gateway には、デフォルトの設定プロパティ ファイルが同梱されており、公式パッケージのいずれかを使用して Kong Gateway をインストールした場合、/etc/kong/kong.conf.default にあります。この設定ファイルは、起動時に Kong Gateway の設定プロパティを設定します。

Kong Gateway のすべての設定済みエンティティの設定プロパティは、データベースまたは yaml 宣言型設定ファイルに保存できます。Kong Gateway を起動する前に、データ ストアへの参照を含む kong.conf.default 設定プロパティ ファイルを更新する必要があります。

kong.conf.default ファイルにリストされているデフォルトのプロパティを変更して Kong Gateway を設定するには、ファイルのコピーを作成して名前を変更し (例: kong.conf)、更新を行ってから同じ場所に保存します。

データベースの使用

最初に、kong.conf 設定ファイルを使用して Kong Gateway を設定し、データベースに接続できるようにします。関連するすべての設定パラメーターについては、「設定プロパティ リファレンス」のデータ ストアのセクションを参照してください。

以下の手順では、Kong の設定を保存するデータベースとして PostgreSQL を使用します。

Kong Gateway で Cassandra は使用しないでください。Cassandra は非推奨であり、サポートが終了する予定です。

  1. Kong Gateway を起動する前に、データベースとユーザーをプロビジョニングします。

    CREATE USER kong WITH PASSWORD 'super_secret'; CREATE DATABASE kong OWNER kong;
  2. 次のいずれかの方法で、Kong Gateway を移行します。

    • ENTERPRISE Enterprise 環境では、kong migrations コマンドで Super Admin ユーザーのパスワードを設定することを強く推奨します。これにより、必要に応じて、後でロールベースのアクセス制御 (RBAC) を使用できます。Super Admin のパスワードで環境変数を作成し、そのパスワードを安全な場所に保存してください。
      KONG_PASSWORD={PASSWORD} kong migrations bootstrap -c {PATH_TO_KONG.CONF_FILE}

      重要: 4 つのティック (例: KONG_PASSWORD="a''a'a'a'a") を含む値を使用して Kong パスワード (KONG_PASSWORD) を設定すると、ブートストラップで PostgreSQL 構文エラーになります。この問題を回避するには、パスワードに特殊文字を使用しないでください。

    • Enterprise を使用していない場合は、以下のコマンドを実行します。
       kong migrations bootstrap -c {PATH_TO_KONG.CONF_FILE}

注: 古いバージョンの PostgreSQL はデフォルトで ident 認証を使用し、新しいバージョン (PSQL 10 以降) は scram-sha-256 を使用します。kong ユーザーがローカルでデータベースと通信できるようにするには、PostgreSQL 設定ファイルを編集して認証方法を md5 に変更します。

yaml 宣言型設定ファイルの使用

Kong Gateway のすべての設定済みエンティティの設定プロパティを yaml 宣言型設定ファイルに保存する場合 (DB レス モード)、kong.yml ファイルを作成し、kong.yml ファイルのパスを kong.conf 設定ファイルに含める必要があります。

まず、以下のコマンドで、現在のフォルダーに kong.yml 宣言型設定ファイルを生成します。

kong config init

生成された kong.yml ファイルには、このファイルを使用して Kong Gateway を設定する方法が記載されています。

次に、宣言型設定ファイルを認識させるため、kong.conf 設定ファイルを使用して Kong Gateway を設定する必要があります。

以下の例のように、database オプションを off に設定し、declarative_config オプションに kong.yml ファイルのパスを設定します。

database = off
declarative_config = {PATH_TO_KONG.CONF_FILE}

Kong Gateway の起動

重要: Kong Gateway を起動すると、NGINX マスター プロセスは root として実行され、ワーカー プロセスはデフォルトで kong として実行されます。この動作が望ましくない場合は、Kong Gateway を起動する前に、NGINX マスター プロセスをビルトインの kong ユーザーまたはカスタムの非 root ユーザーで実行するように切り替えることができます。

詳細は、「Kong を非 root ユーザーで実行する」を参照してください。

以下のコマンドを使用して Kong Gateway を起動します。

kong start -c {PATH_TO_KONG.CONF_FILE}

インストールの検証

正常に処理が完了すると、Kong Gateway が動作していることを通知するメッセージ (Kong started) が表示されます。

また、Admin API を使用して確認することもできます。

curl -i http://localhost:8001

200 ステータス コードが表示されるはずです。

デフォルトでは、以下のポートを listen します。

インストール後の設定

以下の手順はすべてオプションであり、必要に応じて選択できます。

Enterprise ライセンスの適用 ENTERPRISE

Kong Gateway の Enterprise ライセンスをお持ちの場合は、環境に応じて以下のいずれかの方法で適用してください。

オプション 1: データベースを使用する場合

Admin API を使用してライセンスを適用します。ライセンス データには、ストレート クォート ('") を使用する必要があります。スマートクォート () は有効な JSON と見なされません。

提供された license.json ライセンスの内容を Kong Gateway インスタンスに POST します。

注: 以下のライセンスは例を示すことを目的としています。この形式に従って、お持ちのライセンスの情報を指定してください。

cURL HTTPie
curl -i -X POST http://localhost:8001/licenses \
  -d payload='{"license":{"payload":{"admin_seats":"1","customer":"Example Company, Inc","dataplanes":"1","license_creation_date":"2017-07-20","license_expiration_date":"2017-07-20","license_key":"00141000017ODj3AAG_a1V41000004wT0OEAU","product_subscription":"Konnect Enterprise","support_plan":"None"},"signature":"6985968131533a967fcc721244a979948b1066967f1e9cd65dbd8eeabe060fc32d894a2945f5e4a03c1cd2198c74e058ac63d28b045c2f1fcec95877bd790e1b","version":"1"}}'

オプション 2: データベースを使用しない場合

Kong Gateway をインストールしたファイル システム上のホーム ディレクトリに、license.json ファイルをコピーします。

$ scp license.json <system_username>@<server>:~

次に、/etc/kong ディレクトリにもライセンス ファイルをコピーします。

$ scp license.json /etc/kong/license.json

Kong Gateway は、この場所にある有効なライセンスを探します。

Kong Manager の有効化 FREE

従来のモードまたはハイブリッド モードでデータベースを使用して Kong Gateway を実行している場合、Kong Gateway のグラフィカル ユーザー インターフェイス (GUI) である Kong Manager を有効にすることができます。詳細は、「Kong Manager セットアップ ガイド」を参照してください。

Dev Portal の有効化 ENTERPRISE

従来のモードまたはハイブリッド モードでデータベースを使用して Kong Gateway を実行している場合、Dev Portal を有効にすることができます。

  1. kong.conf ファイルで portal プロパティを on に設定し、portal_gui_host プロパティをシステムの DNS または IP アドレスに設定して、Dev Portal を有効にします。以下に例を示します。

    portal = on
    portal_gui_host = localhost:8003
    
  2. 次のコマンドを使用して、設定を有効にするため Kong Gateway を再起動します。

    kong restart -c {PATH_TO_KONG.CONF_FILE}
  3. ワークスペースの Dev Portal を有効にするには、以下のコマンドを実行し、DNSorIP を更新して、システムの IP または有効な DNS を反映します。

    curl -X PATCH http://localhost:8001/workspaces/default \
     --data "config.portal=true"
    
  4. 以下の URL を使用して、デフォルトのワークスペースの Dev Portal にアクセスします。DNS または IP は、独自のものに置き換えてください。

    http://localhost:8003/default

トラブルシューティングとサポート ENTERPRISE

ライセンスに関する問題のトラブルシューティングは、以下を参照してください。

HTTP/1.1 200 OK メッセージを受信しなかった場合、またはセットアップの完了にサポートが必要な場合は、サポート担当者に連絡するか、サポート ポータルにアクセスしてください。

次のステップ

Kong Gateway を最大限に活用するため、Kong Gateway の「入門ガイド」を確認してください。