微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 [email protected] --docker-server=www.baidu.com  -n kube-system     

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

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

四、contrack 的路径找不到

[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 目标不可达

解决思路:

​ 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	

​ 发现缺了标签。没有打标签,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 

​ 以上。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐