成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

在K8S上安裝Jenkins有哪些常見問題-創(chuàng)新互聯(lián)

這篇文章主要介紹在K8S上安裝Jenkins有哪些常見問題,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

10年建站經(jīng)驗(yàn), 成都網(wǎng)站制作、做網(wǎng)站客戶的見證與正確選擇。創(chuàng)新互聯(lián)提供完善的營銷型網(wǎng)頁建站明細(xì)報(bào)價(jià)表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。

常見問題

1. Jenkins版本不對:

最開始用的是jenkins:2.60.3-alpine(這個(gè)已經(jīng)是Jenkins鏡像的高版本了),這個(gè)版本太低,在安裝插件時(shí)基本上都不成功,如下圖

在K8S上安裝Jenkins有哪些常見問題

后來換成jenkins:latest,這個(gè)應(yīng)該是新的吧,結(jié)果 版本還是一樣的,只不過Linux不是Apline的。

后來終于明白了是鏡像錯(cuò)了(而不是版本的問題),是要用Jenkinsci, 而不是Jenkins。我用了當(dāng)時(shí)排在第一位的jenkinsci/jenkins:2.150.1-slim,安裝之后,上面的插件錯(cuò)誤全部消失了,真不容易。

2. 不支持Kubernetes Plugin

但當(dāng)安裝Kubernetes Plugin插件時(shí),提示需要 2.150.3(我的是2.150.1),這也太坑了。只好再次重裝,這次用的是jenkinsci/jenkins:2.154-slim,還好終于成功了。不過這個(gè)其實(shí)還是以前的鏡像,新的在“jenkins/jenkins”。

3. 不能訪問Kubernetes

錯(cuò)誤信息如下:

Forbidden!Configured service account doesn't have access. Service account may have been revoked. User "system:serviceaccount:default:default" cannot get services in the namespace "default"

錯(cuò)誤原因是沒有建立service account。解決辦法是先創(chuàng)建“service-account.yaml”文件,然后運(yùn)行如下命令:


kubectl create clusterrolebinding service-reader-pod --clusterrole=service-reader  --serviceaccount=default:default

再次運(yùn)行,錯(cuò)誤消失。

4. Jenkins URL地址不對

在Jenkins主頁面,進(jìn)入Manage Jenkins-》System Log-》All Jenkins Logs, 錯(cuò)誤信息如下。

SEVERE: http://192.168.50.4:30080/ provided port:50000 is not reachable
java.io.IOException: http://192.168.50.4:30080/ provided port:50000 is not reachable
     at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:303)
     at hudson.remoting.Engine.innerRun(Engine.java:527)
     at hudson.remoting.Engine.run(Engine.java:488)

這個(gè)錯(cuò)誤主要是和Kubernetes-plugin配置有關(guān)。在Jenkins主頁面,進(jìn)入Manage Jenkins-》Configure System》,在“http://192.168.50.4:30080/configure” 里有兩個(gè)“Jenkins URL”,不要弄混了。
第一個(gè)是“Jenkins Location”下的“Jenkins URL”, 它是宿主機(jī)訪問Jenkins的地址。

在K8S上安裝Jenkins有哪些常見問題

第二個(gè)是“Cloud”下的“Jenkins URL”, 它是從虛擬機(jī)訪問Jenkins的地址。

在K8S上安裝Jenkins有哪些常見問題

在上圖中,我開始時(shí)用的是“http://192.168.50.4:30080/” ,但這個(gè)是從宿主機(jī)訪問Jenkins的Url,不是從虛機(jī)內(nèi)部訪問的Url。
你可以用如下命令,找到Kubernetes的“Jenkins Url”

vagrant@ubuntu-xenial:~$  sudo minikube service k8sdemo-jenkins-service  --url
http://10.0.2.15:30080
http://10.0.2.15:32289

鍵入如下命令測試URL。

vagrant@ubuntu-xenial:~$ curl http://10.0.2.15:30080
Authentication required 

這就說明URL是好的。

5. 不能連接slave

“Jenkins Url”改了之后,地址是對的,但還是不通。運(yùn)行項(xiàng)目時(shí),頁面顯示如下信息:

在K8S上安裝Jenkins有哪些常見問題

“Console Output”(在Jenkins->salve-test->#13中,其中#13是build #)顯示如下信息:

Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline[Pipeline] podTemplate[Pipeline] {[Pipeline] node
Still waiting to schedule task
‘testpod-d56038a0-45a2-41d1-922d-2879e3610900-0hr0m-sfv8s’ is offline

后來發(fā)現(xiàn)還有一個(gè)參數(shù)要填寫,就是“Jenkins tunnel”。如下圖所示。

在K8S上安裝Jenkins有哪些常見問題

填寫之后原來的信息沒有了,而且出現(xiàn)了“Agent discovery successful”,這個(gè)信息是原來沒有的。但又有新的錯(cuò)誤。
可用如下方法查看系統(tǒng)日志,在Jenkins主頁面,選擇Manage Jenkins-》System Log-》All Jenkins Logs, 信息是這樣的:

INFO: Agent discovery successful
  Agent address: http://10.0.2.15
  Agent port:    50000
  Identity:      3e:1b:5f:48:f7:5b:f8:6d:ea:49:1d:b9:44:9a:2f:6c
Oct 30, 2019 12:18:51 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
Oct 30, 2019 12:18:51 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to http://10.0.2.15:50000
Oct 30, 2019 12:18:51 AM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: null
java.nio.channels.UnresolvedAddressException
     at sun.nio.ch.Net.checkAddress(Net.java:101)
     at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:622)
     at java.nio.channels.SocketChannel.open(SocketChannel.java:189)
     at org.jenkinsci.remoting.engine.JnlpAgentEndpoint.open(JnlpAgentEndpoint.java:203)
     at hudson.remoting.Engine.connectTcp(Engine.java:678)
     at hudson.remoting.Engine.innerRun(Engine.java:556)
     at hudson.remoting.Engine.run(Engine.java:488)

它的原因是“JenkinsTunnel”的地址還是不對,可用如下方法找到“Jenkins tunnel”地址:

vagrant@ubuntu-xenial:~$ docker ps -a
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS                      PORTS               NAMES
d15e30169568        f793ea0abe00            "/sbin/tini -- /usr/…"   15 minutes ago      Up 15 minutes                                   k8s_k8sdemo-jenkins-container_k8sdemo-jenkins-deployment-675dd574cb-2thn2_default_fb10e438-0231-4fd2-8dbd-d9e2f0bb9d09_0

vagrant@ubuntu-xenial:~$ docker inspect d15e |grep _8080                "K8SDEMO_JENKINS_SERVICE_PORT_8080_TCP_ADDR=10.100.3.79",                "K8SDEMO_JENKINS_SERVICE_PORT_8080_TCP=tcp://10.100.3.79:8080",                "K8SDEMO_JENKINS_SERVICE_PORT_8080_TCP_PROTO=tcp",                "K8SDEMO_JENKINS_SERVICE_PORT_8080_TCP_PORT=8080",

根據(jù)上面信息,Jenkins容器地址是“tcp://10.100.3.79:8080”,把8080換成50000就可以了。最終結(jié)果是“10.100.3.79:50000”,注意不要添加“http”。


6. 鏡像問題

當(dāng)使用的鏡像文件是“k8sdemo-backend:latest”或“k8sdemo-backend:1.0”時(shí),“Console Output”顯示錯(cuò)誤如下:

Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline[Pipeline] podTemplate[Pipeline] {[Pipeline] nodeStill waiting to schedule task
All nodes of label ‘testpod-2971e0ce-e023-475f-b0ec-6118c5699188’ are offline
Aborted by admin[Pipeline] // node
[Pipeline] }
[Pipeline] // podTemplate
[Pipeline] End of Pipeline
Finished: ABORTED

查看Pod, 錯(cuò)誤是“ImagePullBackOff”:

vagrant@ubuntu-xenial:~$ kubectl get pod
NAME                                                       READY   STATUS             RESTARTS   AGE
envar-demo                                                 1/1     Running            15         28d
k8sdemo-backend-deployment-6b99dc6b8c-tbl4v                1/1     Running            7          12d
k8sdemo-database-deployment-578fc88c88-mm6x8               1/1     Running            9          17d
k8sdemo-jenkins-deployment-675dd574cb-bt7rx                1/1     Running            2          2d
testpod-2971e0ce-e023-475f-b0ec-6118c5699188-xwwqq-vv59p   2/3     ImagePullBackOff   0          38s

查看鏡像:

vagrant@ubuntu-xenial:~$ docker image ls
REPOSITORY                                TAG                 IMAGE ID            CREATED             SIZE
jfeng45/k8sdemo-backend                   1.0                 f48d362fdebf        11 days ago         14.4MB
k8sdemo-backend                           1.0                 f48d362fdebf        11 days ago         14.4MB
k8sdemo-backend                           latest              f48d362fdebf        11 days ago         14.4MB

這里一共有三個(gè)“k8sdemo-backend”鏡像,它們的“Image ID”都是一樣的,之所以有三個(gè)是因?yàn)槲矣萌缦旅顒?chuàng)建了tag

docker tag k8sdemo-backend jfeng45/k8sdemo-backend:1.0

但創(chuàng)建了之后,就只有“jfeng45/k8sdemo-backend:1.0”(最晚創(chuàng)建的)能夠用在Jenkins的Pipeline腳本里,其他兩個(gè)都會(huì)報(bào)錯(cuò)。修改了正確的鏡像文件之后就運(yùn)行成功了。

7. pv和pvc刪除慢

當(dāng)用以下命令刪除pv時(shí),命令遲遲不能返回。

kubectl delete pv k8sdemo-jenkins-pv

當(dāng)你查看時(shí),狀態(tài)(status)顯示一直是“Terminating”,但總是不能結(jié)束退出。pvc也是一樣。

vagrant@ubuntu-xenial:~$ kubectl get pv
NAME                  CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS        CLAIM                              STORAGECLASS   REASON   AGE
k8sdemo-backend-pv    1Gi        RWO            Retain           Bound         default/k8sdemo-backend-pvclaim    standard                13d
k8sdemo-database-pv   1Gi        RWO            Retain           Bound         default/k8sdemo-database-pvclaim   standard                18d
k8sdemo-jenkins-pv    1Gi        RWO            Retain           Terminating   default/k8sdemo-jenkins-pvclaim    standard                6d8h

這個(gè)主要原因是用到它們的服務(wù)和部署還在運(yùn)行,先把服務(wù)和部署刪除之后,pv和pvc的刪除操作就馬上結(jié)束,順利返回了。

源碼:

完整源碼的github鏈接:https://github.com/jfeng45/k8sdemo/tree/0.1

注意,本文的程序在0.1(tag)下,這個(gè)程序的主分支以后還會(huì)修改。

下面是程序的目錄結(jié)構(gòu),黃色部分是與本文有關(guān)的配置文件。

在K8S上安裝Jenkins有哪些常見問題

以上是在K8S上安裝Jenkins有哪些常見問題的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁標(biāo)題:在K8S上安裝Jenkins有哪些常見問題-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://jinyejixie.com/article46/djcjhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、云服務(wù)器、網(wǎng)站內(nèi)鏈、建站公司、微信小程序、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
永吉县| 鄯善县| 东乡族自治县| 定州市| 黄浦区| 靖宇县| 漳浦县| 洛宁县| 石楼县| 都兰县| 五华县| 永泰县| 容城县| 汝阳县| 云林县| 嘉兴市| 叶城县| 青浦区| 合江县| 松原市| 安溪县| 封丘县| 惠水县| 岳普湖县| 永新县| 墨竹工卡县| 微山县| 双流县| 临沧市| 玛曲县| 垫江县| 东兴市| 伊川县| 灌云县| 辉南县| 北京市| 永胜县| 安庆市| 广西| 榕江县| 濮阳市|