このステップでは、apigeectl をダウンロードしてインストールし、インストール ディレクトリを設定し、ハイブリッド コンポーネントの通信に必要な GCP サービス アカウントと、Apigee ハイブリッドの動作に必要な TLS 認証情報を作成する手順を説明します。
apigeectl のダウンロードとインストール
apigeectl
は、Apigee ハイブリッドを Kubernetes クラスタにインストールして管理するためのコマンドライン インターフェース(CLI)です。
apigeectl
を取得するには:
ご使用のオペレーティング システムに対応したリリース パッケージをダウンロードします。
Mac 64 ビット:
curl -LO https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.1.1/apigeectl_mac_64.tar.gz
Linux 64 ビット
curl -LO https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.1.1/apigeectl_linux_64.tar.gz
Mac 32 ビット:
curl -LO https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.1.1/apigeectl_mac_32.tar.gz
Linux 32 ビット
curl -LO https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.1.1/apigeectl_linux_32.tar.gz
- システム上に Apigee ハイブリッド インストールのベース ディレクトリとして機能するディレクトリを作成します。
-
ダウンロードした gzip ファイルの内容を、先ほど作成したベース ディレクトリに展開します。次に例を示します。
tar xvzf filename.tar.gz -C path-to-base-directory
cd
でベース ディレクトリに移動します。-
デフォルトでは、tar の内容が展開されるディレクトリの名前には、バージョンとプラットフォームが含まれています。たとえば、
./apigeectl_1.0.0-f7b96a8_linux_64
のようになります。このディレクトリの名前をapigeectl
に変更します。mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
cd
でこのディレクトリに移動します。次に例を示します。- このホーム ディレクトリ パスを保持する環境変数を作成します。
export APIGEECTL_HOME=$PWD
- 変数が正しいパスを保持していることを確認します。
echo $APIGEECTL_HOME
cd ./apigeectl
このディレクトリは apigeectl
ホーム ディレクトリになります。apigeectl
実行可能コマンドはこのディレクトリに配置されます。
プロジェクト ディレクトリ構造を設定する
以下で説明するディレクトリ構造は推奨案です。Apigee ハイブリッド リリース ソフトウェアは、作成する必要がある構成ファイルから分離されています。$APIGEECTL_HOME
変数とシンボリック リンクを使用すると、必要に応じて新しいソフトウェア バージョンに簡単に切り替えることができます。Apigee ハイブリッドのアップグレードに関する記事もご覧ください。
- 現在のディレクトリがベース ディレクトリ(
apigeectl
ディレクトリが含まれているディレクトリ)であることを確認してください。 hybrid-files
という名前の新しいフォルダを作成します。ディレクトリに任意の名前を付けることができますが、ドキュメントではhybrid-files
という名前が常に使用されます。後で、このフォルダに構成ファイル、サービス アカウント キー、TLS 証明書を保存します。このフォルダには、apigeectl
ソフトウェアのインストールとは切り離して構成ファイルを保持できます。mkdir hybrid-files
- 現在のディレクトリ構造は次のようになります。
pwd && ls
/hybrid-base-directory apigeectl hybrid-files cd
でhybrid-files
フォルダに移動します。cd hybrid-files
- 後で作成するファイルを整理するため、
hybrid-files
ディレクトリ内に次の 3 つのサブディレクトリを作成します。mkdir overrides
mkdir service-accounts
mkdir certs
hybrid-files
ディレクトリ内で$APIGEECTL_HOME
へのシンボリック リンクを作成します。これらのシンボリック リンクにより、hybrid-files
ディレクトリ内からapigeectl
コマンドを実行できるようになります。ln -s
$APIGEECTL_HOME
/tools toolsln -s
$APIGEECTL_HOME
/config configln -s
$APIGEECTL_HOME
/templates templatesln -s
$APIGEECTL_HOME
/plugins plugins- シンボリック リンクが正しく作成されたことを確認するには、このコマンドを実行してリンクパスが正しい場所を指していることを確認します。
ls -l | grep ^l
サービス アカウントを作成する
Apigee ハイブリッドは、GCP サービス アカウントを使用して、承認された API 呼び出しによるハイブリッド コンポーネント間の通信を許可します。このステップでは、Apigee ハイブリッド コマンドライン ツールを使用して、一連のサービス アカウントを作成します。また、このツールを使ってサービス アカウントの秘密鍵をダウンロードします。次に、これらの鍵を Apigee ハイブリッド クラスタ構成ファイルに追加する必要があります。
キーを作成します。
- 現在のディレクトリが
base_directory/hybrid-files
ディレクトリであることを確認します。 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.
- 次に、残りのサービス アカウントを作成します。
./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
- サービス アカウント キーが作成されたことを確認します。これらの秘密鍵は安全に保存する必要があります。鍵ファイル名前の先頭に、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 認証情報を作成する
ランタイム Ingress ゲートウェイ(API プロキシ トラフィックを処理するゲートウェイ)には、TLS 証明書と鍵のペアが必要です。このクイックスタートのインストールでは、自己署名認証情報を使用できます。以降のステップでは、openssl を使用して認証情報を生成します。
- 現在のディレクトリが
base_directory/hybrid-files
であることを確認します。 hybrid-files
ディレクトリ内から次のコマンドを実行します。openssl req -nodes -new -x509 -keyout ./certs/keystore.key -out \ ./certs/keystore.pem -subj '/CN=mydomain.net' -days 3650
このコマンドにより、クイックスタートのインストールで使用できる自己署名証明書と鍵のペアが作成されます。CN
mydomain.net
には、自己署名認証情報に使用する任意の値を指定できます。- ファイルが
./certs
ディレクトリにあることを確認します。ls ./certs
keystore.pem keystore.keykeystore.pem
は自己署名 TLS 証明書ファイル、keystore.key
は鍵ファイルです。
MART ゲートウェイ用の TLS 認証情報を作成する
始める前にで説明するように、MART ゲートウェイ構成には承認済みの TLS 証明書と鍵のペアを使用する必要があります。これらをまだ取得または作成していない場合は、今すぐ取得または作成してください。
- 認証局によって承認された TLS 証明書と鍵のペアを取得または作成します。Let's Encrypt CA を使用してこれらの認証情報を取得する例が用意されています。証明書の共通名(CN)は有効な DNS 名である必要があるので注意してください。手順の例については、TLS 証明書を取得する: 例をご覧ください。
- 認証情報を
base_directory/hybrid-files/certs
ディレクトリにコピーします。 - 完了したら、
./certs
ディレクトリに 2 つの認証情報ファイルペアが含まれています。次に例を示します。ls ./certs
fullchain.pem privkey.key keystore.pem keystore.keyここで
fullchain.pem
は承認済み TLS 証明書ファイルであり、privkey.key
は承認済み鍵ファイルです。
まとめ
これで、Kubernetes クラスタで Apigee ハイブリッドを構成、デプロイ、管理するためのホームベースが準備されました。次に、Kubernetes がハイブリッド ランタイム コンポーネントをクラスタにデプロイするときに使用するファイルを作成します。