k8s-私有云镜像库使用
2021-05-14 本文已影响0人
李哈哈_2c85
k8s集群环境安装完毕,创建pod时报错repository does not exist or may require 'docker login',node节点已经登录过docker镜像库、可以正常拉取镜像,k8s调度就不行!
私有镜像库需要添加 imagePullSecrets:---其实就是给k8s创建一个连接私有镜像库的地址、账号、密码
默认命名空间为default 其他命名空间认证需要添加 --namespaces=名称空间
kubectl create secret docker-registry 名字 --docker-server=registry.gag.cn --docker-username=admin --docker-password=密码 -n 命名空间
pod-yaml文件中加入参数
imagePullSecrets:
- name: 名字
apiVersion: apps/v1
kind: Deployment #控制器
metadata:
name: jenkins-tomcat #这个标签为启动pod时候的名字
namespace: jenkins
spec:
replicas: 1 #启动副本数
selector: #设置标签
matchLabels:
app: jenkins-tomcat #这个标签相当于分组,查看(kubectl get pods --show-labels)
minReadySeconds: 5 #等待设置的时间后才进行升级,(如果没有设置该值,在某些极端情况下可能会造成服务不正常运行)
revisionHistoryLimit: 2 #要保留以允许回滚的旧复制集数
strategy: #策略
type: RollingUpdate #默认为滚动更新(可以不写)
rollingUpdate: #滚动更新
maxSurge: 1 #升级过程中最多可以比原先设置多出的POD数量
maxUnavailable: 1 #升级过程中最多有多少个POD处于无法提供服务的状态(该不为0)
template: #模板(相当于定义好的一个python中的模块)
metadata:
labels:
app: jenkins-tomcat #这个标签需要selector定义的标签一个,划分在同一个组
spec:
containers: #模板(容器模板)
- name: jenkins-tomcat #node节点启动的容器名字(kind控制器名字+标签名)
image: 192.168.11.128:4430/library/mogodb:20200303104829 #镜像名
imagePullPolicy: Always #拉取镜像(选择方式——直接使用本地拥有的镜像)
ports:
- containerPort: 80 #容器开放的监听端口
imagePullSecrets: #拉镜像使用参数
- name: docek-harbor
restartPolicy: Always #重新启动pod中所有容器的策略
---
apiVersion: v1
kind: Service
metadata:
name: jenkins-tomcat
spec:
type: NodePort
ports:
- port: 8080
targetPort: 8080
nodePort: 30110
selector:
app: jenkins-tomcat