如何创建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
这里会多点东西,默认没有的