2017-08-26 177 views
1

我想在本地Kubernetes羣集(無雲)上部署Jenkins。 我將在Jenkins上面創建2個服務。 端口8080的一種類型NodePort服務(映射到隨機端口,我可以在羣集外部訪問它,也可以使用ClusterIP:8080在羣集內部訪問它)。一切都好。Kubernetes:無法telnet到我的羣集內的ClusterIP服務

我的第二個服務是我的詹金斯奴隸可以連接。 我選擇了ClusterIP(默認)類型我的服務:

我讀了3種類型的服務:

  • clusterIP:

自曝集羣上的服務 - 內部知識產權。選擇此值 使服務只能從羣集內訪問。

  • NodePort:沒有必要爲50000,露出外面集羣
  • 負載均衡:我不是在雲

在這裏工作是我.yml創建服務:

kind: Service 
    apiVersion: v1 
    metadata: 
    name: jenkins-ui 
    namespace: ci 
    spec: 
    type: NodePort 
    selector: 
     app: master 
    ports: 
     - protocol: TCP 
     port: 8080 
     targetPort: 8080 
     name: master 
--- 
    kind: Service 
    apiVersion: v1 
    metadata: 
    name: jenkins-discovery 
    namespace: ci 
    spec: 
    #type: ClusterIP 
    selector: 
     app: jenkins 
    ports: 
     - protocol: TCP 
     port: 50000 
     targetPort: 50000 
     name: slaves 

問題是我的奴隸無法連接到50000端口。 我試圖tel淨服務詹金斯發現ClusterIP:port和我得到了連接拒絕。我可以telnet到jenkins-ui服務的ClusterIP:port。我做錯了什麼,或者有一部分我不明白?

+0

假設你已經啓用了DNS附加功能,從集羣內,'curl jenkins-discovery.default.svc.cluster.local'會給你什麼? –

+0

我知道你說「沒有云」,但也許你會通過嘗試https://github.com/GoogleCloudPlatform/continuous-deployment-on-kubernetes找出發生了什麼問題?或者這個非雲漫步:https://blog.kublr.com/using-jenkins-and-kubernetes-for-continuous-integration-and-delivery-4e4341aff013 – burnettk

+0

你可以檢查'kubectl get ep jenkins-ui - n ci'?這可能是你的選擇器有問題嗎?或者你可能是詹金斯大師的'readinessProbe'? –

回答

0

它已經解決了。這個錯誤是選擇者,這是我不清楚的一部分。我使用了不同的節點選擇器,這似乎導致了這個問題。這工作:

kind: Service 
    apiVersion: v1 
    metadata: 
    name: jenkins-ui 
    namespace: ci 
    spec: 
    type: NodePort 
    selector: 
     app: master 
    ports: 
     - protocol: TCP 
     port: 8080 
     targetPort: 8080 
     name: master 
--- 
    kind: Service 
    apiVersion: v1 
    metadata: 
    name: jenkins-discovery 
    namespace: ci 
    spec: 
    #type: ClusterIP 
    selector: 
     app: master 
    ports: 
     - protocol: TCP 
     port: 50000 
     targetPort: 50000 
     name: slaves 
+0

歡迎您:) –

相關問題