官方文档: Secret | Kubernetes
创建Secrets资源
# Docker Config 创建 Secret
kubectl create secret docker-registry \
harbor-secret \
--docker-server=harbor.codemiracle.com \
--docker-username=admin \
--docker-password=Harbor12345
kubectl create secret docker-registry <secret名字> \
--docker-server=<镜像仓库服务器> \
--docker-username=<用户名> \
--docker-password=<密码> \
--docker-email=<邮箱地址>
# 使用 kubernetes.io/dockerconfigjson 类型的 Secret 来通过镜像仓库的身份验证
服务器上我们 docker login 一个镜像仓库,会生成一个文件:~/.docker/config.json>
kubectl create secret generic <secret名字> \
--from-file=.dockerconfigjson=<path/to/.docker/config.json> \
--type=kubernetes.io/dockerconfigjson
kubectl create secret generic harbor-secret \
--from-file=.dockerconfigjson=~/.docker/config.json \
--type=kubernetes.io/dockerconfigjson
查看secrets资源
kubectl get secrets
引入imagePullSecrets
apiVersion: v1
kind: Pod
metadata:
name: private-reg
spec:
containers:
- name: private-reg-container
image: <your-private-image>
imagePullSecrets:
- name: harbor-secret
注意:secret需要各自添加下namespace,只针对各自的命名空间生效
apiVersion: v1
kind: Secret
metadata:
name: harbor-secret
namespace: public
data:
.dockerconfigjson: UmVhbGx5IHJlYWxseSByZWVlZWVlZWVlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGx5eXl5eXl5eXl5eXl5eXl5eXl5eSBsbGxsbGxsbGxsbGxsbG9vb29vb29vb29vb29vb29vb29vb29vb29vb25ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2cgYXV0aCBrZXlzCg==
type: kubernetes.io/dockerconfigjson