0

私はしばらく探していましたが、カスタマイズするのはかなり新しいです。オーバーレイなどの概念を理解するのに時間がかかりました。

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

上記のデプロイ時にエラーが発生します。深く掘り下げる前に、適切なツリーに吠えているかどうかを考えてみてください。

4

1 に答える 1

1

私は多くのいじくり回してこれを修正することができました。

インスタンスの基本仕様をオーバーレイに移動し、その方法でパッチを追加しました。

ありがとう

于 2021-01-08T14:34:08.020 に答える