gpt4 book ai didi

nginx - 如何在不同的命名空间上使用 nginx 入口 TCP 服务

转载 作者:行者123 更新时间:2023-12-02 11:37:00 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





TCP ingress support in Kubernetes

(1 个回答)


2年前关闭。




我在 kubernetes 集群中部署了两个命名空间。命名空间 A 主机 mysql 和命名空间 B 运行 postgress 并在这些端口上公开他们的服务部署

Namespace(A) - mysql - port (3306)
Namespace(B) - postgress - port (5432)

我需要使用 nginx-ingress kubernetes 集群来路由基于流量,这里是入口的示例 YAML 文件
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: mysql-ingress
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- host: mysql-ingress
http:
paths:
- path: /mysql
backend:
serviceName: mysql
servicePort: 3306

这个YAML文件更适合HTTP类的服务,如何使用nginx-ingress实现TCP服务

最佳答案

可以引用以下文档公开tcp和udp服务。

https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/exposing-tcp-udp-services.md

在我的集群中,入口 Controller 安装在 ingress-nginx 命名空间上。您可以从 configmap 获取 tcp 服务。

kubectl get cm -n ingress-nginx tcp-services -o yaml

基本上,您只需为两个数据库指定服务。

data:
"3306": NamespaceA/mysql:3306
"5432": NamespaceB/postgress:5432

关于nginx - 如何在不同的命名空间上使用 nginx 入口 TCP 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57301394/

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