我需要将独立补丁定义为YAML。
更具体地说,我想执行以下操作:
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "registry-my-registry"}]}'
问题是我不能使用kubectl patch
。我正在使用带有通量的GitOps工作流程,并且我要修补的资源是在通量之外创建的默认资源。换句话说,我需要执行与上述命令相同的操作,但仅使用
kubectl apply
:kubectl apply patch.yaml
我无法弄清楚是否可以定义这样的补丁。关键是我无法预测新集群上的默认 secret token 的名称(因为名称是随机的,即
default-token-uudge
)
最佳答案
假设您的服务帐户YAML如下所示:
$ kubectl get sa demo -o yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: demo
namespace: default
secrets:
- name: default-token-uudge
现在,您要为该服务帐户添加或更改imagePullSecrets
。为此,请编辑YAML文件并添加imagePullSecrets
。apiVersion: v1
kind: ServiceAccount
metadata:
name: demo
namespace: default
secrets:
- name: default-token-uudge
imagePullSecrets:
- name: myregistrykey
最后,应用更改:$ kubectl apply -f service-account.yaml
关于kubernetes - 将独立补丁定义为YAML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62671872/