k8s中下载镜像的凭据

如何创建secret

1.首先docker login到regesity,此时会在~/.docker/config.json生成配置如下
2.
a.cat ~/.docker/config.json|base64,将输出作为data.dockercfg中的内容编辑secret。

apiVersion: v1
kind: Secret
metadata:
  name: regsecret
  namespace: default
data:
    .dockerconfigjson: ewoJImF1dGhjNWdlpHVnVaenB5Wld4aFFFeFdUa2xCVGtBeU1ERTMiCgkJfSwKCQkidXJlZy5rOHMueXVud2VpLnJlbGEubWUiOiB7CgkJCSJhdXRoIjogIloyRnZaM1Z2WkdWdVp6cHlaV3hoUUV4V1RrbEJUa0F5TURFMyIKCQl9Cgl9LAoJIkh0dHBIZWFkZXJzIjogewoJCSJVc2VyLUFnZW50IjogIkRvY2tlci1DbGllbnQvMTguMDYuMS1jZSAobGludXgpIgoJfQp9
type: kubernetes.io/dockerconfigjson

b.直接通过文件生成(已测试)

kubectl create secret generic xxx-key \
    --from-file=.dockerconfigjson=/root/.docker/config.json> \
    --type=kubernetes.io/dockerconfigjson

c.命令行生成

kubectl create secret docker-registry xxx-key \
    --docker-server=registry.xxxxxx.com \
    --docker-username='xxxxxx' \
    --docker-password='xxxxxx' 

如何使用这个secret

1.在创建资源时指定

2.在命名空间的默认serviceaccout账户指定。
kubectl patch serviceaccount default -p "{"imagePullSecrets": [{"name": "image-pull-secret"}]}" -n
这里会多点东西,默认没有的

posted on 2021-09-10 16:06  yangras  阅读(196)  评论(0编辑  收藏  举报

导航