第十篇:jenkins配置k8s

本文档详细介绍了如何在jenkins中配置k8s,包括安装Kubernetes插件,配置k8s信息,如命名空间、连接测试、Jenkins地址和通道,以及Pod Templates的详细设置,如容器列表、命名空间、标签列表和服务账户,以实现自动化构建和部署流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明: 总的目标是在k8s集群部署gitlab、jenkins,并且在本地提交代码到gitlab后jenkin流水线可以自动编译打包成为docker镜像然后部署到k8s中并实现客户端外部域名访问,在文档分为多个部分,其中涉及的技术有docker安装、k8s搭建、部署gitlab、部署jenkins、部署sonarqube、gitlab和jenkin联动、jenkins和sonarqube联动、pipline脚本编写、istio部署、istio服务网关等…

此文档接第九篇:搭建docker私有仓库

这篇文档讲解的是如何在jenkins如何配置k8s的节点, 配置完成后jenkins触发流程后k8s将创建一个容器来构建相应项目

1. jenkins安装Kubernetes插件

#点击“系统管理” -> “插件管理” -> “Available Plugins”
#在搜索框中输入Kubernetes搜索相应插件安装即可 (注意:安装完插件后需要重启jenkins才可生效)

2. jenkins配置k8s信息

2.1 进入配置页面

登录jenkins后点击“系统管理” -> “节点管理” ->“Configure Clouds” 进入配置集群页面 如下图:
在这里插入图片描述

2.2 配置Kubernetes Cloud details

2.2.1 Kubernetes 命名空间

配置Kubernetes Cloud details -> Kubernetes 命名空间 如下图:
在这里插入图片描述
注意: 这里配置的命名空间是jenkins部署在k8s中所属的命名空间

2.2.2 测试连接

测试连接k8s, 点击“连接测试” 如连接没有问题则如下图:
在这里插入图片描述

2.2.3 jenkins 地址和Jenkins 通道

配置Kubernetes Cloud details -> Jenkins 地址和Jenkins 通道 如下图:
在这里插入图片描述

2.3 配置Pod Templates

2.3.1 配置 Pod Templates名称

配置Pod Templates -> Pod Templates -> 名称 如下图:
在这里插入图片描述
注意: 这里起的名称是“jnlp”

2.3.2 配置Pod Template details

2.3.2.1 配置命名空间和标签列表

配置Pod Templates -> Pod Templates -> Pod Template details -> 命名空间和标签列表 如下图:
在这里插入图片描述
注意: 命令空间: 指jenkins启动容器所属的命名空间
标签列表: 指此pod模板的标签, 也就是在pipline中配置的agent

2.3.2.2 配置容器列表
2.3.2.2.1 配置Container Template名称和镜像

配置Pod Templates -> Pod Templates -> Pod Template details -> 容器列表 -> Container Template -> 名称和镜像 如下图:
在这里插入图片描述
注意: 这里如果名称使用的不是jnlp,则拉取构建的基础镜像将是默认的,也就是说你下面配置的镜像是不生效的, 如果你想使用自己自定义的镜像, 那么名称必须填写为jnlp

2.3.2.2.2 配置Container Template卷

配置Pod Templates -> Pod Templates -> Pod Template details -> 容器列表 -> Container Template -> 卷 如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意: 这里我们总共挂载了主机的5个卷 起作用如下:

  1. /var/run/docker.sock: 此卷作用是可以在容器内部连接到主机的docker,因为本身容器内是不能安装docker的, 所以如果容器内想打docker镜像,就需要连接到宿主机的docker,而docker.sock是docker的连接窗口
  2. /usr/bin/docker: 此卷作用是可以在容器内部使用docker的可执行文件
  3. /etc/hosts: 这里我们在推送镜像时使用的是域名, 为了解析方便就将域名配置到了hosts文件中, 然后挂载到了容器中使用
  4. /usr/bin/kubectl: 此卷作用是可以在容器内部使用kubectl的可执行文件, 因为我们最后需要部署我们业务容器到k8s, 使用的命令就是kubectl apply -f xx.yaml
  5. /root/.kube/config: 这里的config是连接k8s集群的信息
2.3.2.2 配置Service Account

配置Pod Templates -> Pod Templates -> Pod Template details -> Service Account 如下图:
在这里插入图片描述
注意: 这里配置的jenkins-sa是创建在k8s创建jenkin时添加的sa资源, 因为我们jenkins触发流程创建构建容器时是要连接k8s集群的, 所以我们需要添加sa, 而sa的作用就是部署应用连接k8s所需要的认证信息

至此配置完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kjkdd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值