メインコンテンツへスキップ
Azure Key Vault を使用する Azure Kubernetes Service (AKS) は、Vantage 3.0 セルフホスト型で検証済みのプロバイダーです。このページでは、Azure へのインストールに必要な一連の内容をまとめて説明します。具体的には、前提条件、identity の設定、Helm のインストール コマンド、運用上の注意事項です。各コンポーネントでは、CRD が対応している場合、Kubernetes Secrets providercustom storage などの Kubernetes ネイティブな代替手段も利用できます。

前提条件

このページの手順を進める前に、プラットフォームの前提条件が満たされていることを確認してください。Kubernetes、ArgoCD、Helm、および基盤となる SQL / Redis / SMTP / OCI レジストリ / オブジェクト ストレージ サービスが必要です。以下の Azure 固有の項目は、それらに追加して必要となります。 インストール前に、さらに 2 つのセットアップ作業を完了する必要があります。どちらも、参照先となるインストール変数の説明の後に以下で扱っています。ArgoCD を OCI レジストリに接続するおよび イメージ プル アクセスです。

Azure Key Vault シークレット

Vantage operator は、エイリアスでシークレットを参照します。Azure で最も簡単な構成は、各エイリアスと同じ名前の Key Vault シークレットを作成することです。プロビジョニング処理で別の名前を使用する場合は、vantage.secrets.azure 配下に objects マッピングを指定して対応付けを変更してください。identityMode で選択した ID (インストール変数を参照) には、以下に示すすべてのシークレットに対する読み取りアクセス権が必要です。 エイリアスの完全な一覧 (プラットフォーム、Storage、Databases、OAuth) は、シークレットと Key Vault に記載されています。以下の一覧はこれと同じもので、Azure のインストール向けにここへ再掲しています。

プラットフォーム

ストレージ アカウント接続文字列

各ストレージ型の意味については、Vantage の基本 Documentation を参照してください。

データベース接続文字列

データベースごとに一意のエイリアスを 1 つ設定します。以下のデータベース名はあくまで例です。接続文字列が正しいデータベースを指していれば、プロビジョニング プロセスで生成された任意の名前を使用できます。

OAuth

Azure Key Vault の TLS シークレット

以下の PEM 形式の TLS 関連データは、Azure Key Vault に シークレット として保存する必要があります (Key Vault の証明書オブジェクトではありません) 。identityMode で選択した identity には、4 つすべてのシークレットエイリアスに対する読み取りアクセス権が必要です。 最も簡単な方法は、Key Vault に auth-signingauth-deactivated という名前の自己署名証明書を 2 つ作成し (Common Name = Vantage の dnsRecord の値) 、その後、上記のエイリアス名に一致する 4 つの Key Vault シークレットを作成することです。別の名前を使用する場合は、secrets 構成で objects マッピングを指定してください。 Secrets Store CSI driver がこれらをどのように pod で利用可能にするかという概念モデルについては、Secrets and Key Vault を参照してください。

インストール変数

インストールコマンドを実行する前に、次の値を用意しておいてください。

ArgoCD を OCI レジストリに接続する

ArgoCD は OCI レジストリから Vantage コンポーネントのチャートを取得するため、そのレジストリにアクセスできるよう ArgoCD で接続を設定します。ArgoCD はお客様がインストールして保守するサードパーティ ソフトウェアであるため、この接続は、お客様自身でレジストリを ArgoCD のリポジトリとして登録して作成します。詳しくは、ArgoCD のドキュメントの Private Repositories を参照してください。 Azure では、ArgoCD のドキュメントに記載されている Azure Workload Identity を使用することを推奨します。

イメージ プル アクセス

ワークロードがレジストリからイメージをプルできるようにする必要があります。プル アクセスは、次の 2 つの方法のいずれかで設定します。以下の my-pull-secretmy-service-account は例として使用している名前です。実際の環境に合わせて置き換えてください。 方法 1 (Azure) : AKS の managed identity に AcrPull を付与する。 Azure でのデプロイでは、プル シークレットを設定する代わりに、AKS の managed identity (kubelet ID) に Azure Container Registry への AcrPull を付与することで、設定を簡略化できます。これにより、Step 1 と Step 2 のプル シークレット用 --set フラグは省略できます。 方法 2: Kubernetes のイメージプルシークレット。 レジストリのプル シークレットを作成し (Kubernetes Documentation) 、その後、コンポーネントごとに関連付けます。 ロール割り当て、ServiceAccount、プル シークレットは、お客様自身で作成および管理します。

Step 1: Vantage operator をインストールする

Vantage operator 用の名前空間を選択し (app である必要はありません) 、チャートをインストールします。
AcrPull の代わりに pull secrets (イメージ プル アクセスを参照) を使用する場合は、以下を追記します:
追加で指定できる値については、vantage-operator チャートの値を参照してください。

ステップ 2: Vantage をインストールする

選択した名前空間に vantage-selfhosted チャートをインストールし、シークレット構成と OCI 移行設定を指定します:
AcrPull の代わりに pull secrets を使用する場合 (イメージ プル アクセスを参照) 、Vantage のワークロードと移行ジョブ用の pull 構成を追記します:
my-service-account は、$install_namespace に作成する ServiceAccount で、imagePullSecrets にレジストリの pull secret を指定します。migration job では、代わりに source エントリでその pull secret を参照することもできます。
SendGrid はデフォルトのメールプロバイダーです。Key Vault に sendgridApiKey を指定すれば、追加のメール設定は不要です。代わりに SMTP を使用するには、次を追記します:
vantage.secrets.azure.identityMode のデフォルトは workloadIdentity です。従来の pod-identity または VM-managed-identity モデルを使用する場合は、Secrets and Key Vault を参照してください。
上記の --set フラグは、Vantage カスタムリソースvantage-selfhosted チャート の fields に直接マッピングされます。

ステップ 3: インストールの進行状況を確認する

Vantage のカスタムリソースが Ready になるまで待ちます:
これは大まかな指標であり、Vantage Core のインストールが完了したことを示します。Skill のインストールは別のジョブで管理されているため、まだ実行中の可能性があります (以下を参照) 。 artifact の移行状況をより詳細に確認するには、OCI 移行ジョブを個別に監視してください:
移行が完了すると、ArgoCD (API または UI) で個々のチャートの同期ステータスを最も詳しく確認できます。唯一の例外は Skill のインストールです。Skill は、ArgoCD には表示されない別個の Kubernetes ジョブによってインストールされます。 Skill のインストール中でも、Vantage は使用できます。ジョブを直接監視してください:

Step 4: Vantage にアクセスする

リソースが Ready になったら、Vantage インスタンスには次の場所からアクセスできます。
この時点では、Skill インストーラーのジョブがまだ実行中の可能性があります。Skill のインストール中でも、サインインして Vantage を利用できます。ジョブの進行状況は、ステップ 3 のコマンドで確認してください。

Azure 固有の運用上の注意

  • 監視: AKS では、推奨される構成は、Azure Monitor Workspace と Azure Managed Grafana に、Istio mTLS 経由で Vantage をスクレイプする in-mesh Prometheus を組み合わせることです。設定全体については、Azure Managed Monitoringを参照してください。
  • Workload Identity: Secrets Store CSI driver の既定の認証モードです。また、OCI 移行ジョブでサポートされている認証シナリオ (Workload Identity + Azure RBAC) の 1 つでもあり、Azure Monitor に remote-write する in-mesh Prometheus でも使用されます。Secrets and Key Vaultを参照してください。

次のステップ

アーキテクチャ

operator + ArgoCD + CRD パターンの仕組み。

監視

in-mesh Prometheus を使用する Azure Monitor Workspace + Managed Grafana。

アップグレード

Vantage 3.0 の各バージョン間を移行するための手動アップグレード ワークフロー。

トラブルシューティング

operator、ArgoCD、Istio、Key Vault でよくある問題。