基于 kubernetes 的动态 jenkins slave

安装 Jenkins

  1. 应用资源清单
~]# git clone https://github.com/imirsh/kube-jenkins.git
~]# cd kube-jenkins/
kube-jenkins]# kubectl  apply -f .
  1. 查看服务
kube-jenkins]# kubectl  get pod -n  kube-ops
NAME        READY   STATUS    RESTARTS   AGE
jenkins-0   1/1     Running   0          42s
  1. 查看日志,第一次启动提示需要完成初始化设置
kube-jenkins]# kubectl  logs -f pod/jenkins-0 -n kube-ops  |tee jenkin.log
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

2d8bfbb547824e07895eea90fe8be06c

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

*************************************************************

基于 kubernetes 的动态 jenkins slave

  1. 插件安装

选择安装推荐的插件,因为此 Jenkins 镜像 是定制的,插件已经内置了,选择后会直接进入Jenkins。

基于 kubernetes 的动态 jenkins slave

默认的插件地址安装非常慢,我们可以替换成国内清华的源,进入 jenkins 工作目录,目录下面有一个 updates 的目录,下面有一个default.json 文件(在NFS动态存储卷上),我们执行下面的命令替换插件地址:

~]# cd /ifs/kubernetes/kube-ops-jenkins-home-jenkins-0-pvc-728367b2-de3d-4e37-ba0e-56e9fed96359/updates/
updates]# sed -i ‘s/http:\/\/updates.jenkins- ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g‘ default.json
updates]# sed -i ‘s/http:\/\/www.google.com/https:\/\/www.baidu.com/g‘ default.json

集成 Kubernetes

  1. 安装 Kubernetes 插件。 [系统管理] -> [插件管理] -> [搜索kubernetes]->直接安装

基于 kubernetes 的动态 jenkins slave

  1. 设置集群。[系统管理] -> [系统配置] -> [Add a new cloud]
  • Kubernetes 地址: https://kubernetes.default.svc.cluster.local
  • Kubernetes 命名空间:kube-ops
  • 服务证书不用写(我们在安装Jenkins的时候已经指定过serviceAccount),均使用默认
  • 连接测试,成功会提示:Connection test successful
  • Jenkins地址:http://jenkins.kube-ops.svc.cluster.local:8080
  • Jenkins 通道: jenkins.kube-ops.svc.cluster.local:50000

基于 kubernetes 的动态 jenkins slave

  1. 配置 Pod 模板
  • 名称:jnlp-slave
  • 命名空间:kube-ops
  • 标签列表:jnlp-slave,作为agent的label选择用

基于 kubernetes 的动态 jenkins slave

配置完成,点击 save 保存。

新建*风格的项目

基于 kubernetes 的动态 jenkins slave

基于 kubernetes 的动态 jenkins slave

基于 kubernetes 的动态 jenkins slave

配置完成,保存退出

执行 Job 并查看结果

基于 kubernetes 的动态 jenkins slave

基于 kubernetes 的动态 jenkins slave

基于 kubernetes 的动态 jenkins slave

上一篇:mySQL数据库中.frm和.myi和.myd和.ibd文件是什么文件?


下一篇:webpack warning : 入口点大小超过了建议的限制(244kB)