gpt4 book ai didi

kubernetes - Kubernetes 中如何让服务 TCP/UDP 端口可被外部访问?

转载 作者:行者123 更新时间:2023-12-03 04:18:43 26 4
gpt4 key购买 nike

我有许 Multi-Tenancy 在一个 Kubernetes 集群(在 AWS 上)上运行,其中每个租户都有一个 Pod,该 Pod 公开一个 TCP 端口(不是 HTTP)和一个 >UDP端口。

  • 我不需要负载平衡功能。
  • 该方法应公开一个可供外部使用的 IP 地址,并为每个租户提供专用端口
  • 我不想将节点直接暴露到互联网

到目前为止我有以下服务:

apiVersion: v1
kind: Service
metadata:
name: my-service
labels:
app: my-app
spec:
type: NodePort
ports:
- port: 8111
targetPort: 8111
protocol: UDP
name: my-udp
- port: 8222
targetPort: 8222
protocol: TCP
name: my-tcp
selector:
app: my-app

该走哪条路?

最佳答案

  • Deploy AWS 集群上的 NGINX 入口 Controller
  • 将您的服务我的服务类型从 NodePort 更改为至ClusterIP
  • 编辑 configMap tcp-servicesingress-nginx命名空间添加:
data:
"8222": your-namespace/my-service:8222
  • 与 configMap 相同 udp-services :
data:
"8111": your-namespace/my-service:8111

现在,您可以使用 nginx-controller IP <ip:8222> 从外部访问您的应用程序(TCP) 和 <ip:8111> (UDP)

关于kubernetes - Kubernetes 中如何让服务 TCP/UDP 端口可被外部访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50690269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com