k8s中yaml部署Jenkins排错

k8s中安装部署Jenkins时遇到的问题和解决的方案

一、yaml文件“: apiVersion: apps/v1beta1” “kind: Deployment” 报错。没有“Deployment”类型。

​ 修改“apiVersion: apps/v1beta1” 为“apiVersion: apps/v1” 。

二、missing required field “name“ in io.k8s.api.apps.v1.DeploymentSpec 圈好关键词“name”

​ 添加selector

源文件:

spec:
replicas: 2

新文件:

spec:
replicas: 2
selector:  
  matchLabels:   
  name: jenkins   

三、yaml中未关联harbor私有仓库

[root@k8s-master-01 ~]# kubectl create secret docker-registry registry-pull-secret --docker-username=admin --docker-password=password@2019k8s --docker-email=admin@chzh.cn --docker-server=www.baidu.com  -n kube-system     

​ 注: 加入 --dry-run参数 相当如sed -r

​ 没有关联harbor仓库,大家的仓库关联自己公司的,这一段不要复制,因为复制了密码也不对 ~

四、contrack 的路径找不到 k8s中yaml部署Jenkins排错

[root@k8s-master-01 ~]# yum -y install contrack
[root@k8s-node-01 ~]# yum -y install contrack
[root@k8s-node-02 ~]# yum -y install contrack
[root@k8s-master-01 ~]# systemctl restart kube-proxy
[root@k8s-node-01 ~]# systemctl restart kube-proxy
[root@k8s-node-02 ~]# systemctl restart kube-proxy

五、no desctination 目标不可达

k8s中yaml部署Jenkins排错

解决思路:

​ a、网络情况确认:

[root@k8s-master-01 ~]# kubectl create deployment nginx --image=nginx 
[root@k8s-master-01 ~]# kubectl expose deployment nginx --port=80 --target-port=80 --type=NodePort   

​ b、demployment标签确认:

[root@k8s-master-01 ~]# kubectl get deployments -A --show-lables	

k8s中yaml部署Jenkins排错

​ 发现缺了标签。没有打标签,service管理不到,pod没办法映射出去。

​ 我是使用yaml文件进行安装部署的,缺少的标签去哪找呢?

[root@k8s-master-01 ~]# kubectl get svc nginx -o yaml 

​ 之前创建的服务,正好利用下他的yaml文件

​ 在service段截取selector

selector:        
  name: jenkins
	pod起来了,得到web界面,得到jenkins密码
[root@k8s-master-01 ~]# kubectl logs $(kubectl get pods -n kube-system | awk '{print $1}' | grep jenkins) -n kube-system 

​ 以上。

上一篇:Kubernetes存储——rook-ceph


下一篇:k8s-yaml详解