アプリケーションの更新
新しいリソースが作成または更新されると、アプリケーション設定はこれらの新しいリソースを利用するように調整する必要があることがよくあります。環境変数はアプリケーション開発者が設定を保存するために人気の ある選択肢であり、Kubernetesでは、デプロイメントを作成する際にcontainer 仕様のenvフィールドを通じてコンテナに環境変数を渡すことができます。
Kubernetesでこれを実現するための主な方法は2つあります:
- ConfigMap:これらはKubernetesのコアリソースであり、環境変数、テキストフィールド、その他のアイテムをキーと値の形式でポッド仕様で使用するように渡すことができます。
- Secret:デフォルトでは暗号化されていませんが(これは覚えておくことが重要です)、シークレットはパスワードなどの機密情報を保存するために使用されます。
このラボでは、cartsコンポーネントのConfigMapの更新に焦点を当てます。ローカルのDynamoDBを指す設定を削除し、代わりにCrossplaneによって作成されたDynamoDBテーブルの名前を使用します:
- Kustomize Patch
- ConfigMap/carts
- Diff
~/environment/eks-workshop/modules/automation/controlplanes/crossplane/app/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../../../../base-application/carts
patches:
- path: carts-serviceAccount.yaml
configMapGenerator:
- name: carts
namespace: carts
env: config.properties
behavior: replace
options:
disableNameSuffixHash: true