现在通过 Ingress 访问对应的服务, 如 a.dev.example.com 访问 dev 环境的 a 项目的 web 。b.test.example.com 访问 test 环境的 b 项目
内部通过服务连接, 如通过 a-mysql.dev 连接 a.dev.example.com 的数据库
查了下以下几种方式:
现在想请教下大家有没有其他方法, 谢谢!
1
midjourney 202 天前 1
每一个集群环境需要一个对外 ing ,同个这个 ing 访问对应的集群所在的 srv
|
2
paranoiagu 202 天前 via Android
我是 nginx ingress 那里自己搞了 tcp 映射 的 map
|
3
paranoiagu 202 天前 via Android 1
- --tcp-services-configmap=ingress-nginx/tcp-services
|
4
GeekGao 202 天前 1
Ingress 就行了啊
|
5
anubu 202 天前 2
- NodePort
- LB 类型的 Service - ingress-nginx/tcp-services |
6
luxu OP @GeekGao
@paranoiagu @midjourney 因为不太了解所以最开始只创建了一个 nginx ingress , 然后通过 ingressClassName 指定它, 不知道创建多个会不会造成资源的问题就来论坛问一下,谢谢大家 |
7
jiangzm 202 天前 1
使用 Ingress 升级组件 Gateway API
一个项目对应一个"ingress controller",没必要这么搞。 只为了暴露端口还不如用 NodePort Service 。 在生产环境 mysql/redis/mq 还是不要用容器比较好 |
9
wencaiwulue 202 天前 1
@luxu 可以直接使用 kubevpn ,在本地电脑上直接访问集群网络。https://github.com/kubenetworks/kubevpn
直接在本地 ping podIP ,curl serviceIP 。很方便的 |
10
wencaiwulue 202 天前
@wencaiwulue @luxu 支持三层以上的协议。比如:tcp /udp/icmp 等。
|
11
CodeWind 202 天前 1
最简单直接的方法就是找几台节点作为路由转发,外部要访问 svc 、pod 的网段转发路由到这几个节点上,由这些节点完成路由转发。如果是外网要访问,就在内到外的设备(比如防火墙、路由器)做端口映射,这样的方法可直接访问到 pod/svc
|
12
winglight2016 202 天前
访问数据库、redis 跟 k8s 有什么关系?难道你的数据库和 redis 都是安装到 k8s?
|
13
hancai2 201 天前
@winglight2016 数据库、redis 访问 k8s 也很正常啊。 我们在 k8s 上安装数据库和中间件用了好多年了。
|
14
luxu OP 最后使用多 ingress ,暂时不想使用 TLS
|