Kubernetes,公开所有端口

时间:2019-10-26 20:16:10

标签: kubernetes portforwarding kubernetes-service

我想使用Kubernetes,因为我到处都在阅读:“毫无疑问,Kubernetes是当今可用的领先容器编排器。”

我的问题是网络。我需要向每个Pod公开外部IP。我需要将pod视为传统的VM或HW服务器。这意味着我需要暴露所有端口。

到目前为止,我只能看到有限的端口列表。

我正确吗?还是我想念什么?

干杯, 拉乌尔

2 个答案:

答案 0 :(得分:2)

在Kubernetes中,您将需要service与Pod通信。要将Pod暴露在kubernetes集群之外,您将需要NodePort类型的k8s服务。

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  type: NodePort
  ports:
    - 
      port: 30000
      nodePort: 30000
      name: my-port-30000
    -
      port: 30001
      nodePort: 30001
      name: my-port-30001
    -
      port: 30002
      nodePort: 30002
      name: my-port-30002

然后,您将可以到达http://<node-ip>:nodePorthttp://<clusterIP>:port的吊舱。

答案 1 :(得分:0)

你是对的。
Pod不是真正的服务器,而是开放端口的应用程序实例。

由于docker-和kubernetes-network-implementation的实现,因此无法构建所需的内容。

我不知道您的用例,但也许您不是在寻找kubernetes。