kustomize バイナリを使用して、特定の kubernetes 展開 yaml ファイルを作成しています。
{バージョン:kustomize/v3.8.1 GitCommit:0b359d0ef0272e6545eda0e99aacd63aef99c4d0 BuildDate:2020-07-16T00:58:46Z GoOs:linux GoArch:amd64}
これが私のディレクトリ構造です:
overlays
├── parser
│ ├── dev
│ │ └── nonsec
│ │ ├── dev-patches-parsers-tests.yaml
│ │ ├── dev-patches-parsers.yaml
│ │ └── kustomization.yaml
│ ├── prod
│ │ ├── nonsec
│ │ │ ├── kustomization.yaml
│ │ │ ├── prod-patches-parsers-tests.yaml
│ │ │ └── prod-patches-parsers.yaml
│ │ ├── sec
│ │ │ ├── kustomization.yaml
│ │ │ ├── prod-patches-parsers-sec-tests.yaml
│ │ │ ├── prod-patches-parsers-sec.yaml
│ │ │ ├── prod-patches-parsers-tests.yaml
│ │ │ └── prod-patches-parsers.yaml
│ │ └── v3r
│ │ └── empty.txt
│ ├── stage
│ └── suit
overlays/parser/prod/nonsec と /overlays/parser/prod/sec には、2 つの同一のパッチ ファイル セットが含まれていることに注意してください。共通ファイルを取り出して、prod の下の 1 レベルにプッシュしたい - 複数のディレクトリに同じパッチのコピーを入れたくない。nonsec ビルドと sec ビルドの両方で同じ prod-patches のセットを使用したいのですが、kustomize でそれを行う方法がわかりません。上記のディレクトリにそれらを配置しようとしましたが、kustomize は上記のディレクトリ内のパッチ ファイルへの参照を許可しません。これは私が行う必要があることです。
これらの prod-patches*.yaml ファイルが複数のディレクトリで重複しないようにするにはどうすればよいですか?!
これが私のnonsec kustomization.yamlです
# Use this as the base code
resources:
- ../../../../base
# Decorate the base code with the following components
components:
- ../../../../components/common-all
- ../../../../components/common-prod
- ../../../../components/parser
# Then finally, patch the results from above with this:
patchesStrategicMerge:
- prod-patches-parsers.yaml
- prod-patches-parsers-tests.yaml
そして、これは私の kustomization.yaml です。
# Use this as the base code
resources:
- ../../../../base
# Decorate the base code with the following components
components:
- ../../../../components/common-all
- ../../../../components/common-prod
- ../../../../components/parser
# Then finally, patch the results from above with this:
patchesStrategicMerge:
- prod-patches-parsers.yaml
- prod-patches-parsers-tests.yaml
- prod-patches-parsers-sec.yaml
- prod-patches-parsers-sec-tests.yaml