Azure Kubernetes Service (AKS) を使用する場合、このチュートリアルでは、Azure App Configuration とその Kubernetes プロバイダーを利用して、AKS でワークロードの動的構成を有効にする方法について説明します。 このチュートリアルでは、クイックスタートを実行し、App Configuration Kubernetes プロバイダーを設定していることを前提としています。そのため、先に進む前に、 Azure Kubernetes Service での Azure App Configuration の使用 に関するクイックスタートを完了してください。
ヒント
Azure App Configuration にアクセスするために Kubernetes でホストされているワークロードのオプションを参照してください。
[前提条件]
「クイック スタート: Azure Kubernetes Service で Azure App Configuration を使用する」を完了します。
App Configuration からデータを再度読み込む
デプロイ ディレクトリにある appConfigurationProvider.yaml ファイルを開きます。 次に、
refresh
プロパティの下にconfiguration
セクションを追加します。 これにより、Kubernetes プロバイダーは、選択したキー値の変更 ( [設定 ] で始まり、ラベルがない値) が検出されるたびに、構成全体を再読み込みできます。 構成の変更の監視の詳細については、「 構成の更新のベスト プラクティス」を参照してください。apiVersion: azconfig.io/v1 kind: AzureAppConfigurationProvider metadata: name: appconfigurationprovider-sample spec: endpoint: <your-app-configuration-store-endpoint> target: configMapName: configmap-created-by-appconfig-provider configMapData: type: json key: mysettings.json auth: workloadIdentity: managedIdentityClientId: <your-managed-identity-client-id> configuration: refresh: enabled: true
ヒント
interval
のrefresh
プロパティを設定して、構成の更新間隔の最小時間を指定できます。 今回の例では既定の値である 30 秒を使用します。 App Configuration ストアに対する要求の数を減らす必要がある場合は、より大きな値に調整します。Deployment ディレクトリで deployment.yaml ファイルを開き、次の内容を
spec.containers
セクションに追加します。 アプリケーションは、App Configuration Kubernetes プロバイダーによって生成されるボリューム マウント ファイルから構成を読み込みます。 この環境変数を設定することで、アプリケーションは ポーリングを使用してマウントされたファイルの変更を監視できます。env: - name: DOTNET_USE_POLLING_FILE_WATCHER value: "true"
次のコマンドを実行して、変更をデプロイします。 既存の AKS アプリケーションを使用している場合は、名前空間を置き換えます。
kubectl apply -f ./Deployment -n appconfig-demo
ブラウザー ウィンドウを開き、 前の手順で取得した IP アドレスに移動します。 Web ページは次のようになります。
App Configuration ストアで次のキー値を更新します。
鍵 価値 設定:メッセージ Azure App Configuration からこんにちは - ライブ更新機能が追加されました。 ブラウザーを数回更新すると、ConfigMap が 30 秒で更新されると、更新されたコンテンツが表示されます。
ConfigMap とシークレットの再読み込み
App Configuration Kubernetes プロバイダーは、環境変数またはボリューム マウント ファイルとして使用できる ConfigMap またはシークレットを生成します。 このチュートリアルでは、マウントされたファイルで変更が検出されるたびに構成を自動的に再読み込みする .NET JSON 構成プロバイダーを使用して JSON ファイルから構成を読み込む方法について説明しました。 その結果、App Configuration Kubernetes プロバイダーが ConfigMap を更新するたびに、アプリケーションは更新された構成を自動的に取得します。
アプリケーションが構成の環境変数に依存している場合は、更新された値を取得するために再起動が必要になる場合があります。 Kubernetes では、対応するポッドまたはコンテナーでローリング更新を使用して、アプリケーションの再起動を調整できます。 構成の更新を自動化するには、 stakater/Reloader などのサードパーティ製ツールを利用できます。このツールを使用すると、ConfigMaps またはシークレットに加えられた変更に応じてローリング更新を自動的にトリガーできます。
次のステップ
Azure App Configuration Kubernetes プロバイダーの詳細については、「Azure App Configuration Kubernetes プロバイダー リファレンス」を参照してください。