kubernetes - 禁用 Kubernetes kustomize 构建中的顺序/排序
问题描述
尝试使用kustomize
来修补 Kubernetes 资源。但是,initContainers
列表的顺序/顺序在输出中是不同的。
例如,输入是
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
labels:
app: myapp
spec:
containers:
- name: myapp-container
image: busybox:1.28
command: ['sh', '-c', 'echo The app is running! && sleep 3600']
initContainers:
- name: init-mydb
image: busybox:1.28
command: ['sh', '-c', "sleep 3600"]
- name: init-myservice
image: busybox:1.28
command: ['sh', '-c', "sleep 7200"]
补丁后,输出变为
apiVersion: v1
kind: Pod
metadata:
labels:
app: myapp
name: myapp-pod
spec:
containers:
- command:
- sh
- -c
- echo The app is running! && sleep 3600
image: busybox:1.28
name: myapp-container
initContainers:
- command:
- sh
- -c
- sleep 7200
env:
- name: HTTP_ADDR
value: https://[$(HOST_IP)]:8501
image: busybox:1.28
name: init-myservice
- command:
- sh
- -c
- sleep 3600
env:
- name: HTTP_ADDR
value: https://[$(HOST_IP)]:8501
image: busybox:1.28
name: init-mydb
尝试过--reorder
争论但没有帮助。
测试版本:
{Version:kustomize/v4.1.3 GitCommit:0f614e92f72f1b938a9171b964d90b197ca8fb68 BuildDate:2021-05-20T20:52:40Z GoOs:linux GoArch:amd64}
自定义.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- source.yaml
patches:
- path: ./pod-patch.yaml
target:
kind: Pod
name: ".*"
pod-patch.yaml
apiVersion: apps/v1
kind: Pod
metadata:
name: doesNotMatter
spec:
initContainers:
- name: init-myservice
env:
- name: HTTP_ADDR
value: https://[$(HOST_IP)]:8501
- name: init-mydb
env:
- name: HTTP_ADDR
value: https://[$(HOST_IP)]:8501
解决方案
推荐阅读
- machine-learning - Mel Spectrogram 特征提取到 CNN
- html - 覆盖引导 CSS
- html - 添加新元素时HTML UL跳起来
- c++ - 为什么这个为右值赋值的 C++ 代码片段会编译?
- python - Django rest 框架 - 为类设置默认序列化程序
- c++ - C ++函数`getline()`对于char []不能正常工作
- excel - 范围和 .End(xlDown).Offset(1,0) 运行时错误 '1004'
- python - 使用熊猫和字典的 Python 查找和替换工具
- java - 连接到 Solace 时出现 CertificateException
- r - dplyr summarise 然后 summarise_at 在同一个管道中