私はしばらく探していましたが、カスタマイズするのはかなり新しいです。オーバーレイなどの概念を理解するのに時間がかかりました。
kustomization ファイルを使用して、既存のシークレットをポッドにマウントしようとしています。デプロイメントの 3 つの異なるバージョンが kustomize によって処理されている単一のデプロイメントであるため、デプロイメントでは実行できません。それぞれに異なる秘密のマウントが必要です。
したがって、明白な答えは、ベースまたはオーバーレイの kustomize ファイルを使用してシークレットをボリュームとしてマウントすることです。
kustomize を使用したシークレットの生成に関する情報を見つけましたが、シークレットは既に存在し、別の場所で kubernetes シークレットとして渡されています。
要約すると...
base/
├─ kustomization.yaml
├─ statefulset.yaml
├─ service.yaml
├─ instance1/
│ ├─ kustomization.yaml
├─ instance2/
│ ├─ kustomization.yaml
├─ instance3/
│ ├─ kustomization.yaml
シークレットはインスタンス 1、2、および 3 で異なるため、インスタンスの場所にあるボリュームへのシークレットのマウントを処理しようとしています。
これは可能ですか?
ティア
編集:
シークレット用のファイルを追加しました (これは証明書用であるため、インスタンスごとに異なります)。
base/
├─ kustomization.yaml
├─ statefulset.yaml
├─ service.yaml
├─ instance1/
│ ├─ kustomization.yaml
│ ├─ pki.yaml
├─ instance2/
│ ├─ kustomization.yaml
├─ instance3/
│ ├─ kustomization.yaml
私のパッチ ファイル (pki.yaml) は次のようになります。
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: de
spec:
template:
containers:
- name: de
volumeMounts:
- mountPath: "/opt/de/pki"
name: pki
readOnly: true
volumes:
- name: pki
secret:
secretName: de_1_pki
それから./base/instance1/kustomization.yaml
私は持っています:
commonLabels:
app: de-1
resources:
- ../base
nameSuffix: -1
images:
- newName: de-1
name: de
patches:
- pki.yaml
完全を期すために、私の./base/kustomization.yaml
ファイル:
kind: Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
commonLabels:
app: de
affinity: directory
resources:
- service.yaml
- statefulset.yaml
上記のデプロイ時にエラーが発生します。深く掘り下げる前に、適切なツリーに吠えているかどうかを考えてみてください。