我想在本地Kubernetes集群(没有 Cloud )上部署Jenkins . 我将在Jenkins之上创建2个服务 . 一个NodePort类型的服务用于端口 8080
(在随机端口上映射,我可以在集群外部访问它 . 我也可以使用 ClusterIP:8080
在集群内访问它) . 一切都很好 .
我的第二项服务是我的詹金斯奴隶可以连接 . 我选择ClusterIP(默认)作为我的服务类型:
我读到了3种类型的服务:
- clusterIP:
在集群内部IP上公开服务 . 选择此值使服务只能从群集中访问 .
-
NodePort:50000不需要公开外部集群
-
Loadbalancer:我不在 Cloud 端工作
这是我的 .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.我试图telnet服务jenkins-discovery的 ClusterIP:port
并且我拒绝连接 . 我可以telnet到jenkins-ui服务的 ClusterIP:port
. 我做错了什么或有一部分我不明白?
1 回答
它已经解决了 . 错误是选择器,这是我不清楚的一部分 . 我正在使用不同的节点选择器,这似乎导致了这个问题 . 这工作: