【发布时间】:2021-12-08 21:38:38
【问题描述】:
我有一个数字海洋 kubernetes 和一个入口控制器路由流量。但是其中一个 pod 需要接受 TCP 流量;所以我想让入口接受 TCP 流量并路由到 pod。我关注了这个
https://minikube.sigs.k8s.io/docs/tutorials/nginx_tcp_udp_ingress/
和
https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/
跟随后,还是连接不上端口。
以下是我所拥有的:
加载。平衡器:
kind: Service
apiVersion: v1
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
selector:
# app: speed-transmission-app
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
type: LoadBalancer
ports:
- name: http
port: 80
targetPort: 80
protocol: TCP
- name: https
port: 443
targetPort: 443
protocol: TCP
- name: transmission-port
port: 9000
targetPort: 8998
protocol: TCP
配置图
apiVersion: v1
kind: ConfigMap
metadata:
name: tcp-services
namespace: ingress-nginx
data:
9000: "staging/speed-transmission-service:9000"
现在,当我尝试在端口 9000 连接到负载平衡器外部 IP 时,连接丢失。
我将非常感谢有关如何配置它的帮助。谢谢。
【问题讨论】:
-
我按照教程进行操作,效果很好。你patch the ingress-nginx-contoller了吗?
-
我跟了,没用
-
您使用哪个
ingress-nginx版本?它是如何安装的?我想我有个主意。这很可能与deployment设置以及入口不使用configmaps的事实有关。检查this answer,它应该可以完成工作。 (当我第一次尝试时,在不同的集群上,它已经部署了这个arg---tcp-services-configmap=$(POD_NAMESPACE)/tcp-services) -
我在创建集群时直接从数字海洋安装它作为一键式应用程序
-
好,您是否尝试过上面另一个答案中描述的内容?它不会开箱即用。
标签: nginx kubernetes load-balancing digital-ocean nginx-ingress