【发布时间】:2018-03-09 23:33:30
【问题描述】:
我在私有云中设置了一个 Kubernetes 集群。想法是所有开发人员都将使用这个集群来启动应用程序所需的所有微服务。每个开发人员都会在其命名空间中启动所有部署/服务以避免冲突。由于这个云不支持 LoadBalancer ,我使用了 nodePort 并定义了一个端口来为前端公开外部 IP。我使用
访问前端但是,由于 K8s 可以在同一个节点上启动任意数量的不同命名空间的前端 pod -我会发生冲突,因为该 nodePort 已经分配给首先启动的服务。我现在无法理解如何允许使用相同服务的多人在同一个集群中启动。
示例服务配置如下
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
name: frontend
spec:
ports:
- port: 8884
targetPort: 8081
nodePort: 30080
name: ui
selector:
app: test
type: NodePort
如果第一次运行,http://node-ip:30080 可以访问此前端服务。如果我们在同一个节点的不同命名空间中运行相同的 yaml 会发生什么?我们如何解决这个问题?
【问题讨论】:
标签: kubernetes