luxu

自建 k8s, 外部如果访问对应的 TCP 服务?

  •  
  •   luxu · Apr 17, 2024 · 3176 views
    This topic created in 931 days ago, the information mentioned may be changed or developed.

    现在通过 Ingress 访问对应的服务, 如 a.dev.example.com 访问 dev 环境的 a 项目的 web 。b.test.example.com 访问 test 环境的 b 项目

    内部通过服务连接, 如通过 a-mysql.dev 连接 a.dev.example.com 的数据库

    现在想请问下大家 外部如果要访问对应的 MySQL ,Redis 这些服务怎么做呢?

    查了下以下几种方式:

    1. 使用 Istio ,但是需要配置 TLS 暂时不考虑这个方法
    2. 每次创建项目时创建一个 Ingress-NGINX Controller ,然后各自绑定对应的 ConfigMap

    现在想请教下大家有没有其他方法, 谢谢!

    midjourney
    midjourney
    Apr 17, 2024❤️1
    1
    每一个集群环境需要一个对外 ing ,同个这个 ing 访问对应的集群所在的 srv
    paranoiagu
    paranoiagu
    Apr 17, 2024 via Android
    2
    我是 nginx ingress 那里自己搞了 tcp 映射 的 map
    paranoiagu
    paranoiagu
    Apr 17, 2024 via Android❤️1
    3
    - --tcp-services-configmap=ingress-nginx/tcp-services
    R4rvZ6agNVWr56V0
    R4rvZ6agNVWr56V0
    Apr 17, 2024❤️1
    4
    Ingress 就行了啊
    anubu
    anubu
    Apr 17, 2024❤️2
    5
    - NodePort
    - LB 类型的 Service
    - ingress-nginx/tcp-services
    luxu
    luxu
    OP
    Apr 17, 2024
    6
    @GeekGao
    @paranoiagu
    @midjourney 因为不太了解所以最开始只创建了一个 nginx ingress , 然后通过 ingressClassName 指定它, 不知道创建多个会不会造成资源的问题就来论坛问一下,谢谢大家
    jiangzm
    jiangzm
    Apr 17, 2024❤️1
    7
    使用 Ingress 升级组件 Gateway API

    一个项目对应一个"ingress controller",没必要这么搞。 只为了暴露端口还不如用 NodePort Service 。

    在生产环境 mysql/redis/mq 还是不要用容器比较好
    luxu
    luxu
    OP
    Apr 17, 2024
    8
    @jiangzm 谢谢, 不了解 Gateway API ,我学习下。 不是生产环境
    wencaiwulue
    wencaiwulue
    Apr 17, 2024❤️1
    9
    @luxu 可以直接使用 kubevpn ,在本地电脑上直接访问集群网络。https://github.com/kubenetworks/kubevpn

    直接在本地 ping podIP ,curl serviceIP 。很方便的
    wencaiwulue
    wencaiwulue
    Apr 17, 2024
    10
    @wencaiwulue @luxu 支持三层以上的协议。比如:tcp /udp/icmp 等。
    CodeWind
    CodeWind
    Apr 17, 2024❤️1
    11
    最简单直接的方法就是找几台节点作为路由转发,外部要访问 svc 、pod 的网段转发路由到这几个节点上,由这些节点完成路由转发。如果是外网要访问,就在内到外的设备(比如防火墙、路由器)做端口映射,这样的方法可直接访问到 pod/svc
    winglight2016
    winglight2016
    Apr 17, 2024
    12
    访问数据库、redis 跟 k8s 有什么关系?难道你的数据库和 redis 都是安装到 k8s?
    hancai2
    hancai2
    Apr 18, 2024
    13
    @winglight2016 数据库、redis 访问 k8s 也很正常啊。 我们在 k8s 上安装数据库和中间件用了好多年了。
    luxu
    luxu
    OP
    Apr 19, 2024
    14
    最后使用多 ingress ,暂时不想使用 TLS
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5205 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 471ms · UTC 06:24 · PVG 14:24 · LAX 22:24 · JFK 01:24
    ♥ Do have faith in what you're doing.