ステップ 2: GKE をインストールして設定する

このステップでは、apigeectl をダウンロードしてインストールし、インストール ディレクトリを設定し、GCP サービス アカウントと、Apigee ハイブリッドの動作に必要な TLS 認証情報を作成する手順を説明します。

apigeectl をダウンロードしてインストールする

apigeectl は、Kubernetes クラスタに Apigee ハイブリッドをインストールして管理するためのコマンドライン インターフェース(CLI)です。

apigeectl を取得するには:

  1. ご使用のオペレーティング システムに対応したリリース パッケージをダウンロードします。

    Mac 64 ビット:

    curl -LO \
        https://storage.googleapis.com/apigee-public/apigee-hybrid-setup/$(curl -s \
        https://storage.googleapis.com/apigee-public/apigee-hybrid-setup/current-version.txt?ignoreCache=1)/apigeectl_mac_64.tar.gz

    Linux 64 ビット

    curl -LO \
        https://storage.googleapis.com/apigee-public/apigee-hybrid-setup/$(curl -s \
        https://storage.googleapis.com/apigee-public/apigee-hybrid-setup/current-version.txt?ignoreCache=1)/apigeectl_linux_64.tar.gz

    Mac 32 ビット:

    curl -LO \
        https://storage.googleapis.com/apigee-public/apigee-hybrid-setup/$(curl -s \
        https://storage.googleapis.com/apigee-public/apigee-hybrid-setup/current-version.txt?ignoreCache=1)/apigeectl_mac_32.tar.gz

    Linux 32 ビット

    curl -LO \
        https://storage.googleapis.com/apigee-public/apigee-hybrid-setup/$(curl -s \
        https://storage.googleapis.com/apigee-public/apigee-hybrid-setup/current-version.txt?ignoreCache=1)/apigeectl_linux_32.tar.gz
  2. Apigee ハイブリッドをインストールするベース ディレクトリとして使用するディレクトリをシステム上に作成します。
  3. ダウンロードした gzip ファイルの内容を、先ほど作成したベース ディレクトリに展開します。例:

    tar xvzf filename.tar.gz -C path-to-base-directory
  4. ベース ディレクトリに cd します。
  5. デフォルトでは、tar の内容が展開されるディレクトリの名前には、バージョンとプラットフォームが含まれています。例: ./apigeectl_1.0.0-f7b96a8_linux_64。このディレクトリの名前を apigeectl に変更します。

    mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
  6. cd でこのディレクトリに移動します。例:
  7. cd ./apigeectl

    このディレクトリは apigeectl ホーム ディレクトリになります。apigeectl 実行可能コマンドはこのディレクトリに配置されます。

  8. このホーム ディレクトリ パスを保持する環境変数を作成します。

    export APIGEECTL_HOME=$PWD

  9. 変数が正しいパスを保持していることを確認します。
    echo $APIGEECTL_HOME

プロジェクト ディレクトリ構造を設定する

以下で説明するディレクトリ構造は推奨案です。この構造では、Apigee ハイブリッド リリース ソフトウェアと、作成する必要がある構成ファイルが切り離されています。作成する $APIGEECTL_HOME 変数とシンボリック リンクを使用すると、必要に応じて新しいソフトウェア バージョンに簡単に切り替えることができます。Apigee ハイブリッドのアップグレードもご覧ください。

  1. 現在のディレクトリがベース ディレクトリ(apigeectl ディレクトリが含まれているディレクトリ)であることを確認してください。
  2. hybrid-files という名前の新しいフォルダを作成します。ディレクトリには任意の名前を付けることができますが、ドキュメントでは hybrid-files という名前が常に使用されます。後でこのフォルダに構成ファイル、サービス アカウントキー、TLS 証明書を格納します。このフォルダでは、apigeectl ソフトウェアのインストールとは切り離して構成ファイルを保持できます。
    mkdir hybrid-files
  3. 現在のディレクトリ構造は次のようになります。
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. cdhybrid-files フォルダに移動します。
    cd hybrid-files
  5. 後で作成するファイルを整理するため、hybrid-files ディレクトリ内に次の 3 つのサブディレクトリを作成します。
    mkdir overrides
    mkdir service-accounts
    mkdir certs
  6. hybrid-files ディレクトリ内で $APIGEECTL_HOME へのシンボリック リンクを作成します。これらのシンボリック リンクにより、hybrid-files ディレクトリ内から apigeectl コマンドを実行できるようになります。
    ln -s $APIGEECTL_HOME/tools tools
    ln -s $APIGEECTL_HOME/config config
    ln -s $APIGEECTL_HOME/templates templates
    ln -s $APIGEECTL_HOME/plugins plugins
  7. シンボリック リンクが正しく作成されたことを確認するには、次のコマンドを実行してリンクパスが正しい場所を指していることを確認します。
    ls -l | grep ^l
    

サービス アカウントを作成する

Apigee ハイブリッドは GCP サービス アカウントを使用して、承認済みの API 呼び出しによるハイブリッド コンポーネント間の通信を許可します。このステップでは、Apigee ハイブリッド コマンドライン ツールを使用して、一連のサービス アカウントを作成します。また、このツールを使ってサービス アカウントの秘密鍵をダウンロードします。次に、これらの鍵を Apigee ハイブリッド クラスタ構成ファイルに追加する必要があります。

キーを作成します。

  1. base_directory/hybrid-files ディレクトリ内にいることを確認します。
  2. hybrid-filesディレクトリ内で次のコマンドを実行します。このコマンドを実行すると、apigee-metrics コンポーネントのサービス アカウントが作成され、ダウンロードされたキーが ./service-accounts ディレクトリに配置されます。
    ./tools/create-service-account apigee-metrics ./service-accounts

    このプロンプトが表示されたら、「y」と入力します。

    [INFO]: gcloud configured project ID is project_id.
     Press: y to proceed with creating service account in project: project_id
     Press: n to abort.

    ツールにより割り当てられた名前で SA が初めて作成された場合には、他の操作は不要です。

    ただし次のメッセージとプロンプトが表示される場合は、y を選択して新しいキーを生成してください。

    [INFO]: Service account apigee-metrics@project_id.iam.gserviceaccount.com already exists.
    ...
     [INFO]: The service account might have keys associated with it. It is recommended to use existing keys.
     Press: y to generate new keys.(this does not de-activate existing keys)
     Press: n to skip generating new keys.
     
  3. 次に、残りのサービス アカウントを作成します。
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts
  4. サービス アカウント キーが作成されたことを確認します。これらの秘密鍵は安全に保存する必要があります。キーファイルの名前の先頭に、GCP プロジェクトの名前が付加されます。例:
    ls ./service-accounts
    gcp-project-id-apigee-cassandra.json
    gcp-project-id-apigee-logger.json
    gcp-project-id-apigee-mart.json
    gcp-project-id-apigee-metrics.json
    gcp-project-id-apigee-synchronizer.json
    gcp-project-id-apigee-udca.json

TLS 証明書を作成する

Apigee ハイブリッド構成では、MART ゲートウェイおよびランタイム Ingress ゲートウェイの TLS 証明書を指定する必要があります。MART ゲートウェイに使用する認証情報は、認証局(CA)により承認されている必要があります。このクイックスタートの目的(非本番環境トライアル インストール)上、ランタイム ゲートウェイは自己署名認証情報を受け入れることができます。

このステップでは、TLS 認証情報ファイルを作成して base_directory/hybrid-files/certs ディレクトリに追加します。ステップ 3: クラスタを構成するでは、クラスタ構成ファイルにファイルパスを追加します。

ランタイム ゲートウェイの TLS 認証情報を作成する

ランタイム内向きゲートウェイ(API プロキシ トラフィックを処理するゲートウェイ)には、TLS 証明書と鍵のペアが必要です。このクイックスタート インストールでは、自己署名認証情報を使用できます。以降のステップでは、openssl を使用して認証情報を生成します。

  1. base_directory/hybrid-files ディレクトリに移動します。
  2. hybrid-files ディレクトリ内から次のコマンドを実行します。
    openssl req  -nodes -new -x509 -keyout ./certs/keystore.key -out \
        ./certs/keystore.pem -subj '/CN=mydomain.net' -days 3650

    このコマンドは、クイックスタート インストールに使用できる自己署名証明書と鍵のペアを作成します。CN mydomain.net には、自己署名認証情報に使用する任意の値を指定できます。

  3. ファイルが ./certs ディレクトリにあることを確認します。
    ls ./certs
      keystore.pem
      keystore.key

    ここで keystore.pem は自己署名 TLS 証明書ファイルであり、keystore.key はキーファイルです。

MART ゲートウェイ用の TLS 認証情報を作成する

はじめにで説明するように、MART ゲートウェイ構成には承認済みの TLS 証明書と鍵のペアを使用する必要があります。これらの認証情報をまだ取得または作成していない場合は、今すぐ取得または作成してください。

  1. 認証局によって承認済みの TLS 証明書と鍵のペアを取得または作成します。Let's Encrypt CA を使用してこれらの認証情報を取得する例が用意されています。証明書の共通名(CN)は有効な DNS 名である必要があるので注意してください。手順の例については、TLS 認証情報の取得: 例をご覧ください。
  2. 認証情報を base_directory/hybrid-files/certs ディレクトリにコピーします。
  3. 完了したら、./certs ディレクトリに 2 つの認証情報ファイルペアが含まれています。例:
    ls ./certs
      fullchain.pem
      privkey.key
      keystore.pem
      keystore.key

    ここで fullchain.pem は承認済み TLS 証明書ファイルであり、privkey.key は承認済み鍵ファイルです。

概要

これで、Kubernetes クラスタで Apigee ハイブリッドを構成、デプロイ、管理するためのホームベースが準備されました。次に、Kubernetes がハイブリッド ランタイム コンポーネントをクラスタにデプロイするときに使用するファイルを作成します。

次のステップ

1 2 次のステップ: (3)クラスタを構成する 4