我想在本地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
。我做錯了什麼,或者有一部分我不明白?
假設你已經啓用了DNS附加功能,從集羣內,'curl jenkins-discovery.default.svc.cluster.local'會給你什麼? –
我知道你說「沒有云」,但也許你會通過嘗試https://github.com/GoogleCloudPlatform/continuous-deployment-on-kubernetes找出發生了什麼問題?或者這個非雲漫步:https://blog.kublr.com/using-jenkins-and-kubernetes-for-continuous-integration-and-delivery-4e4341aff013 – burnettk
你可以檢查'kubectl get ep jenkins-ui - n ci'?這可能是你的選擇器有問題嗎?或者你可能是詹金斯大師的'readinessProbe'? –