前言
最近使用ansible搭建了一套kunernetes集群,想装一个Jenkins-Operator来玩玩,安装的过程遇到了一些问题在此记录一下。
安装Jenkins Operator
kubectl apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/deploy/all-in-one-v1alpha2.yaml
部署jenkins
apiVersion: jenkins.io/v1alpha2
kind: Jenkins
metadata:
name: example
spec:
master:
containers:
- name: jenkins-master
image: jenkins/jenkins:lts
imagePullPolicy: Always
livenessProbe:
failureThreshold: 12
httpGet:
path: /login
port: http
scheme: HTTP
initialDelaySeconds: 80
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
readinessProbe:
failureThreshold: 3
httpGet:
path: /login
port: http
scheme: HTTP
initialDelaySeconds: 30
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources:
limits:
cpu: 1500m
memory: 3Gi
requests:
cpu: "1"
memory: 500Mi
seedJobs:
- id: jenkins-operator
targets: "cicd/jobs/*.jenkins"
description: "Jenkins Operator repository"
repositoryBranch: master
repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git
使用上面的yaml部署Jenkins,在这个过程中出现了问题。
[root@k8s-master1 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
jenkins-example 0/1 Running 0 19h
jenkins-operator-5f7979f97b-nhvtr 1/1 Running 0 3d17h
jenkins-example这个pod一直不能达到ready状态。查看整个启动过程的日志,在启动过程中会下载很多的插件感觉比较耗时,于是我把上面yaml中存活探针、和就绪探针的时间 改长,又出现了如下错误:
java.io.IOException: Failed to load: Pipeline: Declarative Extension Points API (1.7.1)
- Update required: Pipeline: Job (2.38) to be updated to 2.39 or higher
at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:934)
at hudson.PluginManager$2$1$1.run(PluginManager.java:548)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
at jenkins.model.Jenkins$5.runTask(Jenkins.java:1131)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
不断google后在jenkinsci/kubernetes-operator的issues中找到了解决的方法,这是一个bug在jenkinsci/kubernetes-operator的pull中已经修复。
总结
解决问题还是要多看github的issues