1.需要先生成阿里云镜像登录凭证
kubectl create secret docker-registry regcred --docker-server=<你的镜像仓库服务器> --docker-username=<你的用户名> --docker-password=<你的密码> --docker-email=<你的邮箱地址>
kubectl create secret docker-registry aliyun --namespace=default --docker-server=registry.cn-qingdao.aliyuncs.com --docker-username=xxx --docker-password=xxx--docker-email=xxx@qq.com
2.上传镜像到aliyun仓库
3.配置yaml文件时,需要配置imagePullSecrets,指定凭证名称
name: aliyun
apiVersion: apps/v1
kind: Deployment
metadata:
# 部署名字
name: mydemo2
spec:
replicas: 2
# 用来查找关联的 Pod,所有标签都匹配才行
selector:
matchLabels:
app: mydemo2
# 定义 Pod 相关数据
template:
metadata:
labels:
app: mydemo2
spec:
# 定义容器,可以多个
imagePullSecrets:
- name: aliyun
containers:
- name: mydemo2 # 容器名字
image: registry.cn-qingdao.aliyuncs.com/charis1/demo:0.0.1 # 镜像
4.也可以更改名字空间的默认服务账号,将该 Secret 用作 imagePullSecret。
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "aliyun"}]}'
apiVersion: apps/v1
kind: Deployment
metadata:
# 部署名字
name: mydemo4
spec:
replicas: 2
# 用来查找关联的 Pod,所有标签都匹配才行
selector:
matchLabels:
app: mydemo4
# 定义 Pod 相关数据
template:
metadata:
labels:
app: mydemo4
spec:
# 定义容器,可以多个
#imagePullSecrets:
# - name: aliyun-secret2
containers:
- name: mydemo4 # 容器名字
image: registry.cn-qingdao.aliyuncs.com/charis1/demo:0.0.2 # 镜像