基於 kubernetes 的動態 jenkins slave
阿新 • • 發佈:2020-07-17
安裝 Jenkins
- 應用資源清單
~]# git clone https://github.com/imirsh/kube-jenkins.git
~]# cd kube-jenkins/
kube-jenkins]# kubectl apply -f .
- 檢視服務
kube-jenkins]# kubectl get pod -n kube-ops
NAME READY STATUS RESTARTS AGE
jenkins-0 1/1 Running 0 42s
- 檢視日誌,第一次啟動提示需要完成初始化設定
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 *************************************************************
- 外掛安裝
選擇安裝推薦的外掛,因為此 Jenkins 映象 是定製的,外掛已經內建了,選擇後會直接進入Jenkins。
預設的外掛地址安裝非常慢,我們可以替換成國內清華的源,進入 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
- 安裝 Kubernetes 外掛。 [系統管理] -> [外掛管理] -> [搜尋kubernetes]->直接安裝
- 設定叢集。[系統管理] -> [系統配置] -> [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
- 配置 Pod 模板
- 名稱:
jnlp-slave
- 名稱空間:
kube-ops
- 標籤列表:jnlp-slave,作為agent的label選擇用
配置完成,點選 save 儲存。
新建自由風格的專案
配置完成,儲存退出