このトピックでは、Apigee ハイブリッドのランタイム プレーン コンポーネントの構成と管理方法について説明します。
オーバーライド ファイルについて
クラスタに初めてハイブリッド ランタイムをインストールするときに、構成のオーバーライド ファイルを作成する必要があります。このファイルを使用すると、Google プロジェクトの名前、組織名、環境の詳細、証明書ファイルなど、ハイブリッドのインストールに必要な必須プロパティ値を指定できます。オーバーライド ファイルでは、ほとんどのハイブリッド コンポーネントの特定のデフォルト値をオーバーライドすることもできます。構成可能なプロパティの一覧については、構成プロパティのリファレンスをご覧ください。
ハイブリッドのインストール手順を見ると、オーバーライド ファイルを作成してクラスタに構成を適用するプロセスがわかります。後で構成を変更する場合は、作成したオーバーライド ファイルを変更して再度適用します。構成の変更をご覧ください。
構成の変更
ハイブリッド ランタイム プレーン コンポーネントの構成を変更するには、オーバーライド ファイルを編集し、apigeectl
を使用して変更を適用します。構成可能なプロパティの一覧については、構成プロパティのリファレンスをご覧ください。
たとえば、logger
コンポーネントを有効にするには、オーバーライド ファイルを更新して再適用します。
- オーバーライド ファイルを開きます。ハイブリッド ランタイムをクラスタにインストールしたときに使用したオーバーライド ファイルを使用してください。
- ファイル内で
logger
要素を探します。次に例を示します。... logger: enabled: false ...
-
プロパティ値を
true
に変更します。... logger: enabled: true ...
apigeectl
を使用して変更をクラスタに適用します。$APIGEECTL_HOME/apigeectl apply -f $HYBRID_FILES/overrides/OVERRIDES.yaml --telemetry
--telemetry
フラグは、ロガー コンポーネントのみを更新するようapigeectl
に指示します。--telemetry
などのスコープ設定パラメータの詳細については、apigeectl を適用するためのスコープをご覧ください。
変更可能な構成プロパティ
構成可能なプロパティの一覧については、構成プロパティのリファレンスをご覧ください。このリファレンスに記載されているのは変更可能なプロパティだけです。ここにないプロパティを変更しようとしても、その変更は無視されます。
構成リファレンスの使用方法
構成プロパティのリファレンスでは、構成要素をドット表記で記述しています。最初の項目は最上位の要素名で、その後ろにプロパティと子プロパティが続いています。次に例を示します。
authz.image.pullPolicy
オーバーライド ファイルでは、プロパティは適切な YAML 形式で記述します。上記の例では、最上位の authz
要素が左にインデントされ、下位要素のプロパティはその下にインデントされています。YAML では、各要素と下位要素の末尾にコロンを付ける必要があります。
たとえば、authz.image.pullPolicy
プロパティを Always
に設定するには、オーバーライド ファイル内で該当する YAML スタンザを探して次のように設定します。
authz: image: pullPolicy: Always
次の例では、プロパティ cassandra.auth.admin.password
(構成プロパティのリファレンスの表記に準拠)を使用して Cassandra の管理者パスワードを設定しています。これを変更するには、オーバーライド ファイルで次の YAML を探して、次のように設定します。
cassandra: auth: admin: password: abc123
構成プロパティのリファレンスには、ハイブリッド ランタイム プレーン コンポーネントで設定可能なすべてのプロパティが記載されています。クラスタに変更を適用する前に、上のパターンに従ってオーバーライド ファイルでこの要素を変更します。
構成のデフォルトについて
Apigee のデフォルトのコンポーネント構成は $HYBRID_FILES/config/values.yaml
というファイルに保持されています。このファイルでは、可能であれば、各ハイブリッド コンポーネントにデフォルトを指定します。
オーバーライド ファイルは values.yaml
と同じ YAML 構造です。ただし、オーバーライド ファイルには values.yaml
に記述された構成プロパティの一部だけが含まれます。すべてのプロパティが編集可能なわけではありません。クラスタに構成を適用すると、オーバーライドがデフォルトと結合され、完全な Kubernetes クラスタ構成が作成されます。
事前定義のサンプル オーバーライド ファイルを使用する
Apigee ハイブリッドには、ハイブリッド デプロイメントの設定に役立つサンプル オーバーライド ファイルがいくつか用意されています。インストール要件に最も近いオーバーライド ファイルをコピーして、そのファイルを変更することをおすすめします。
次のサンプル ファイルが $APIGEECTL_HOME/examples
ディレクトリにあります。
サンプル オーバーライド ファイル | 説明 |
---|---|
overrides-small.yaml |
このサンプルはすぐに使い始める場合に適しています。最小限の推奨フットプリントでハイブリッド ランタイム コンポーネントが起動します。このサンプル構成は、デフォルトの設定と値に可能な限り従っています。レプリカの最小数はすべて 1 に設定されています。 |
overrides-medium.yaml |
このサンプルは、テスト環境や QA 環境の出発点として適しています。追加のトラフィックを処理できるように、より高レベルのリソースが個々のコンポーネントに与えられています。パフォーマンスを考慮して、Cassandra では SSD が使用されます。この環境では、ステートフル コンポーネントとステートレス コンポーネントを別々のノードにインストールすることをおすすめします。専用ノードを構成するをご覧ください。 |
overrides-large.yaml |
このサンプルは、本番前環境や本番環境などの高パフォーマンス環境の出発点として適しています。このサンプルには、暗号鍵やパスワードなどを設定するプロパティが含まれています。個々のコンポーネントには、少なくとも 2 つのレプリカがあります。 |
private-overrides.yaml |
このサンプルは、非公開イメージ リポジトリのイメージを使用する方法を示しています。非公開イメージ リポジトリを使用するをご覧ください。 |
カスタム アノテーション
アノテーションは、Kubernetes Pod にメタデータを追加するために使用する Key-Value マップです。カスタム アノテーションは、構成プロパティのリファレンスに記載されている次のハイブリッド コンポーネント プロパティに作成できます。
カスタムの名前と値のペアのアノテーションを追加するには、オーバーライド ファイルを開き、各コンポーネントの annotations
スタンザを追加してから、apigeectl
を使用して変更を適用します。次に例を示します。
runtime: annotations: businessunit: "bu1"
ドライランを使用して構成の変更をテストする
apigeectl
で --dry-run
フラグを使用すると、オーバーライド構成ファイルを実際にクラスタに適用せずにテストできます。この方法を使用すると、何がクラスタに適用されるかが正確に示されるため、インストールに関する問題のデバッグに役立ちます。
Apigee ハイブリッドでは、実行する kubectl
のバージョンによって --dry-run
フラグの構文が異なります。次のコマンドで kubectl
のバージョンを確認します。
kubectl version
kubectl バージョン 1.17 以前:
$APIGEECTL_HOME/apigeectl init -f $HYBRID_FILES/overrides/OVERRIDES.yaml --dry-run=true
kubectl バージョン 1.18 以降:
$APIGEECTL_HOME/apigeectl init -f $HYBRID_FILES/overrides/OVERRIDES.yaml --dry-run=client
必要に応じて複数のオーバーライド ファイルを作成する
それぞれが特定の要件を満たすことができるよう、複数のオーバーライド ファイルを作成できます。たとえば、本番環境クラスタを調整するためのオーバーライド ファイルと、テスト用のクラスタを作成するためのオーバーライド ファイルを別々に用意できます。こうしたファイルはソース管理システムで管理できます。
apigeectl apply コマンドを使用して、オーバーライド ファイルをクラスタに適用します。次に例を示します。
$APIGEECTL_HOME/apigeectl apply -f $HYBRID_FILES/overrides/test_env_override.yaml
ランタイム コンポーネントを削除する
apigeectl delete コマンドには、インストールされているハイブリッド ランタイム コンポーネントの一部またはすべてを削除できるフラグが用意されています。コマンドの使用方法については、apigeectl リファレンス ページをご覧ください。ハイブリッド ランタイムのアンインストールもご覧ください。
環境の削除
環境を完全に削除するには、ランタイム(ローカル)プレーンと管理(クラウド)プレーンの両方を削除する必要があります。詳細については、環境を削除するをご覧ください。