seb*_*ian 8 kubernetes kustomize
我在尝试使用 kustomize 来替换列表中项目的内容时遇到困难。
我的自定义文件
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- resource.yaml
patches:
- patch.yaml
Run Code Online (Sandbox Code Playgroud)
我的 patch.yaml 文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-service
spec:
template:
spec:
initContainers:
- name: web-service-migration
env:
- name: PG_DATABASE
value: web-pgdb
Run Code Online (Sandbox Code Playgroud)
我的资源.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-service
spec:
template:
spec:
initContainers:
- name: web-service-migration
env:
- name: PG_DATABASE
valueFrom:
secretKeyRef:
name: web-pgdb
key: database
Run Code Online (Sandbox Code Playgroud)
自定义构建返回
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-service
spec:
template:
spec:
initContainers:
- env:
- name: PG_DATABASE
value: web-pgdb
valueFrom:
secretKeyRef:
key: database
name: web-pgdb
name: web-service-migration
Run Code Online (Sandbox Code Playgroud)
我想要 kustomize 构建返回什么
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-service
spec:
template:
spec:
initContainers:
- env:
- name: PG_DATABASE
value: web-pgdb
name: web-service-migration
Run Code Online (Sandbox Code Playgroud)
如果我没记错的话 kustomize 中的补丁默认使用策略合并,所以你需要 nullify valueFrom
,所以你的补丁应该如下所示:
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-service
spec:
template:
spec:
initContainers:
- name: web-service-migration
env:
- name: PG_DATABASE
value: web-pgdb
valueFrom: null
Run Code Online (Sandbox Code Playgroud)
有关战略合并补丁以及如何删除地图的更多详细信息:https://github.com/kubernetes/community/blob/master/contributors/devel/sig-api-machinery/strategic-merge-patch.md#maps
归档时间: |
|
查看次数: |
4677 次 |
最近记录: |