我想在本地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'? –