kubernetes - 将独立补丁定义为YAML

标签 kubernetes fluxcd

我需要将独立补丁定义为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/

相关文章:

dns - Kubernetes headless 服务 A Record 循环

kubernetes - 使用 Prometheus 获取总磁盘空间和可用磁盘空间

docker - Flux V2 ImagePolicy 版本列表参数不能为空

kubernetes - Helm 错误 : release requires a rollback before it can be upgraded

git - 首次访问后 FluxCD 失败

kubernetes - 错误 - 无法附加或安装卷 : unmounted volumes=[data]

API 组的 Kubernetes 资源

apache-spark - 在 kubernetes(版本 1.8.*)集群上提交 Spark2.3 的 Rest API

azure - 从 Azure ACR 部署 FluXCD Helm - 未找到图表名称错误

amazon-eks - EKS 上的 FluxCD 无法读取 GitHub 上的私有(private)存储库