首页 > 解决方案 > 如何从命令行传递 imagePullSecrets

问题描述

我正在使用 kubernetes 命令式方式而不是声明式方式。由于有很多参数会定期更改,并且无法每次都更新 yaml 文件。

为了创建部署,我们使用这个

kubectl create deployment nginx --image=nginx:1.7.1

这对于公共图像来说很好。但是对于证明图像,我们需要使用秘密传递凭证数据。如链接中的 如果它是 yaml 文件,我们将保留在文件下面的行中。

 imagePullSecrets:
  - name: regcred

但是,如何为以下类型的行传递这些数据。?

kubectl create deployment nginx --image=nginx:1.7.1

标签: kubernetes

解决方案


可以将 ImagePullSecrets 添加到服务帐户

这可能会帮助您:

如果 pod 没有设置 ServiceAccount,它会将 ServiceAccount 设置为默认值。它确保 pod 引用的 ServiceAccount 存在,否则拒绝它。如果 pod 不包含任何 ImagePullSecrets,则将 ServiceAccount 的 ImagePullSecrets 添加到 pod。

修补您使用的服务帐户并将 imagePullSecrets 设置为您选择的秘密。

kubectl patch serviceaccount <account> -p '{"imagePullSecrets": [{"name": "regcred"}]}'

您可能还会发现有趣的从私有注册表线程中提取时自动使用秘密。


推荐阅读