Secret 对象类型用来保存敏感信息,例如密码、OAuth 令牌和 SSH 密钥。 将这些信息放在 Secret 中比放在 Pod 的定义或者容器镜像中相对更加安全和灵活。
这里假设已有一个私有的docker仓库地址,用于存放镜像的。
1. 新建密钥
(1)命令格式
kubectl create secret docker-registry \
--docker-server=<你的镜像仓库服务器> \
--docker-username=<你的用户名> \
--docker-password=<你的密码> \
--docker-email=<你的邮箱地址>
(2)实践一下
kubectl create secret docker-registry docker-secret-key
--docker-server=my-test.harbor.com
--docker-username=harbor
--docker-password=Harbor12345
--docker-email=000000111111@qq.com
(3)查看一下
kubectl get secret
2. 拉取镜像创建Pod
(1)新建一个 my-pod.yaml 文件,内容如下
apiVersion: v1
kind: Pod
metadata:
name: private-nginx
spec:
containers:
- name: private-nginx
image: yuhuofei/nginx:v1.1
imagePullSecrets: # 指定拉取镜像的密钥,该密钥包含镜像仓库地址、用户名密码等信息
- name: docker-secret-key # 前面创建的密钥
(2)创建一下
kubectl apply -f my-pod.yaml
(3)查看 Pod
kubect get pod