我想使用Kubernetes,因为我在各个地方都看到:“毫无疑问,Kubernetes是目前可用的领先容器编排工具。”
我的问题是与网络有关。我需要向每个Pod公开外部IP。我希望我的Pod可以被视为传统的VM或HW服务器。这意味着我需要公开所有端口。
据我所见,我只能公开有限的端口列表。
我是正确的吗?还是我错过了什么?
谢谢, Raoul
我想使用Kubernetes,因为我在各个地方都看到:“毫无疑问,Kubernetes是目前可用的领先容器编排工具。”
我的问题是与网络有关。我需要向每个Pod公开外部IP。我希望我的Pod可以被视为传统的VM或HW服务器。这意味着我需要公开所有端口。
据我所见,我只能公开有限的端口列表。
我是正确的吗?还是我错过了什么?
谢谢, Raoul
NodePort
类型的k8s服务。apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: MyApp
type: NodePort
ports:
-
port: 8080
nodePort: 30000
name: my-port-8080
-
port: 8081
nodePort: 30001
name: my-port-8081
-
port: 8082
nodePort: 30002
name: my-port-8081
https://<node-ip>:nodePort
。对于集群内通信,您可以使用服务的DNS:<service-name>.<namespace>.svc:PORT
更新:
请参阅此指南:使用服务公开您的应用程序
你说得对。
Pods不是“真正”的服务器,它们只是具有开放端口的应用程序实例。
由于Docker和Kubernetes网络实现的限制,无法构建您想要的内容。
我不知道您的使用情况,但也许您并不需要Kubernetes。
NodePort
是正确的。 - Nick