21-使用私有仓库
2022-01-16 本文已影响0人
紫荆秋雪_文
一、使用私有仓库
1、在 Pod 中设置 ImagePullSecrets
- 运行使用私有仓库中镜像的容器时,建议使用这种方法。
只有提供自己密钥的 Pod 才能访问私有仓库
- 使用 Docker Config 创建 Secret
kubectl create secret docker-registry <名称> \
--docker-server=DOCKER_REGISTRY_SERVER \
--docker-username=DOCKER_USER \
--docker-password=DOCKER_PASSWORD \
--docker-email=DOCKER_EMAIL
- 在 Pod 中引用 ImagePullSecrets
在创建 Pod 时,可以在 Pod 定义中增加 imagePullSecrets 部分来引用该 Secret
apiVersion: v1
kind: Pod
metadata:
name: foo
namespace: awesomeapps
spec:
containers:
- name: foo
image: janedoe/awesomeapp:v1
imagePullSecrets:
- name: myregistrykey
二、实践
1、使用私有镜像
apiVersion: v1
kind: Pod
metadata:
name: private-nginx
namespace: raven
labels:
app: private-nginx
spec:
containers:
- name: private-nginx-pod
image: registry.cn-hangzhou.aliyuncs.com/raven_test/nginx:v2
2、使用yaml文件创建pod
kubectl apply -f private-registry.yaml
拉取私有仓库中的镜像.png
3、创建Secret
- 给指定命名空间创建 Secret
kubectl create secret -n raven docker-registry raven-aliyun \
--docker-server=registry.cn-hangzhou.aliyuncs.com \
--docker-username=用户名 \
--docker-password=密码 \
--docker-email=zjqx1991@163.com
4、修改yaml
apiVersion: v1
kind: Pod
metadata:
name: private-nginx
namespace: raven
labels:
app: private-nginx
spec:
imagePullSecrets:
- name: raven-aliyun
containers:
- name: private-nginx-pod
image: registry.cn-hangzhou.aliyuncs.com/raven_test/nginx:v2
imagePullPolicy: Always