K8s 从私有仓库拉取镜像
登录 docker 镜像仓库
使用命令行登录仓库
1 | docker login |
登录过程会创建或更新保存有授权令牌的 config.json
文件
1 | cat ~/.docker/config.json |
创建一个基于现有凭证的 Secret
命令行的形式
1 | kubectl create secret generic regcred \ |
如果需要更多的设置(例如,为新 Secret 设置名字空间或标签), 则可以在存储 Secret 之前对它进行自定义。
注意的点:
- 将 data 项中的名称设置为
.dockerconfigjson
- 使用 base64 编码方法对 Docker 配置文件进行编码,然后粘贴该字符串的内容,作为字段
data[".dockerconfigjson"]
的值 - 将
type
设置为kubernetes.io/dockerconfigjson
1 | # 示例: |
检查 Secret regcred
用 yaml 格式去查看
1 | kubectl get secret regcred --output=yaml |
.dockerconfigjson
字段的值是 Docker 凭证的 base64 表示。
要了解 dockerconfigjson
字段中的内容,请将 Secret 数据转换为可读格式:
1 | kubectl get secret regcred --output="jsonpath={.data.\.dockerconfigjson}" | base64 --decode |
要了解 auth
字段中的内容,请将 base64 编码过的数据转换为可读格式:
1 | echo "c3R...zE2" | base64 --decode |
使用 Secret
示例:
1 | apiVersion: v1 |