基于已有docker 密钥创建secret
- 首先通过docker login 获取docker登录信息
docker login --username=[username]
- 创建secret存储credentials(注意替换config.json文件路径)
kubectl create secret generic regcred \--from-file=.dockerconfigjson=<path/to/.docker/config.json> \--type=kubernetes.io/dockerconfigjson
- 在部署中使用secret
apiVersion: v1kind: Podmetadata:name: private-regspec:containers:- name: private-reg-containerimage: <your-private-image>imagePullSecrets:- name: regcred
直接通过yaml配置文件创建secret
注意修改namespace, 其中dockerconfigjson内容是经过base64 编码过的
apiVersion: v1data:.dockerconfigjson: ewoJImF1dGhzIjogewoJCSJjY3IuY2NzLnRlbmNlbnR5dW4uY29tIjogewoJCQkiYXV0aCI6ICJNVEF3TURBME1qSTRNekUwT25kdmNtdG9kV0l0TWpBeE5nPT0iCgkJfSwKCQkicmVnaXN0cnkuY24taGFuZ3pob3UuYWxpeXVuY3MuY29tIjogewoJCQkiYXV0aCI6ICJkMjl5YTJoMVlqcGtiMk5yWlhJdGQyOXlhMmgxWWkweU1ERTUiCgkJfQoJfSwKCSJIdHRwSGVhZGVycyI6IHsKCQkiVXNlci1BZ2VudCI6ICJEb2NrZXItQ2xpZW50LzE4LjA5LjIgKGxpbnV4KSIKCX0KfQ==kind: Secretmetadata:name: regcrednamespace: customtype: kubernetes.io/dockerconfigjson
refs
Pull an Image from a Private Registry
