[英]Kubernetes plugin containers can't connect back to Jenkins
我有一個在AWS的同一網絡中運行的Jenkins和Kubernetes集群。 詹金斯有自己的實例。
使用推薦的JNLP docker映像。 Jenkins JNLP端口配置為靜態5000
。
現在,當我開始工作時,它表明節點已脫機。 當我單擊脫機節點時,我得到以下信息:
這使我進入了k8集群。 運行docker ps
顯示沒有容器正在運行。 然而:
從那里,我找到運行了哪些docker容器以及此后留下的日志:
我使用: https : //github.com/jenkinsci/docker-jnlp-slave作為圖像
https://github.com/jenkinsci/kubernetes-plugin
詹金斯版本: 2.27
k8: hyperkube:v1.4.3_coreos.0
Jenkins確實啟動了容器,我想它會運行並出錯,因為在容器運行期間沒有提供有效的參數? 我需要它是一個無需手動登錄到我的容器(Java客戶端)的過程。 我該如何實現?
更新
基於此答案: kubernetes從站無法注冊到jenkins主站
如果我登錄到容器並運行Jenkins在無法連接的主機下顯示的命令:
java -jar /usr/share/jenkins/slave.jar -jnlpUrl https://test.myhost.com/computer/jenkinsminions-10f0b7d49054ac/slave-agent.jnlp -secret 62637e83008f50eb94483ad609e9a2719d313fa56e640e4beca9eebeaf0b1af2
容器通過JNLP2連接,然后作業運行。
容器日志中是否有“根目錄不可寫”消息?
[...]
Exception in thread "main" java.lang.RuntimeException: Root directory not writable
at hudson.remoting.FileSystemJarCache.<init>(FileSystemJarCache.java:44)
at hudson.remoting.Engine.<init>(Engine.java:139)
at hudson.remoting.jnlp.Main.createEngine(Main.java:164)
at hudson.remoting.jnlp.Main.main(Main.java:148)
at hudson.remoting.jnlp.Main._main(Main.java:144)
at hudson.remoting.jnlp.Main.main(Main.java:110)
在這種情況下,您可能會遇到類似於this的問題。
PS:如果看不到日志,請嘗試刪除“分配偽偽”選項
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.