V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Cify
V2EX  ›  Kubernetes

多个使用域名的网站如何跑在 K8S 中?

  •  
  •   Cify · 2022-10-06 20:46:25 +08:00 · 2234 次点击
    这是一个创建于 807 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一直用 BT/LNMP, 后来想用 K8S 跑, 请问多个用域名访问的网站, K8S 如何配置(ingress 入口?) node port 方式的话多节点只能指向 1 个 ip, 如何能最大限度发挥 K8S 的多 IP?

    16 条回复    2022-10-07 21:16:40 +08:00
    calmzhu
        1
    calmzhu  
       2022-10-06 21:21:06 +08:00
    节点外加负载均衡代理
    lmshl
        2
    lmshl  
       2022-10-06 21:55:13 +08:00 via iPhone
    ingress 根据 host 路由不就行了么
    Cify
        3
    Cify  
    OP
       2022-10-06 22:07:11 +08:00
    @lmshl 如果 10 节点 10 个 ip 你怎么加?
    Cify
        4
    Cify  
    OP
       2022-10-06 22:07:54 +08:00
    @calmzhu 这个服务叫什么名字?
    mengzhuo
        5
    mengzhuo  
       2022-10-06 22:39:36 +08:00   ❤️ 1
    装个 service mesh 呗,istio 什么的
    lmshl
        6
    lmshl  
       2022-10-06 22:42:28 +08:00 via iPhone
    @Cify dns 指向过去不就行了
    lhx2008
        7
    lhx2008  
       2022-10-06 22:45:31 +08:00   ❤️ 1
    ingress 自己走 nodeport svc 或者 LB svc 就行了,你的服务又不用,所有域名都是走这个 nodeport 或者 VIP
    Norths
        8
    Norths  
       2022-10-06 22:46:32 +08:00 via Android
    意思是想每个节点一个 ingress controller ?不太懂具体需求..,如果是想多个域名都解析到同一个 ip 不用管后面的机器怎么变的话,云服务商的负载均衡也许能满足你的要求。云服务商上直接搜“负载均衡”
    Tianao
        9
    Tianao  
       2022-10-06 22:50:23 +08:00
    Citrix ADC (NetScaler ADC) CPX 的 Content Switching 功能。
    ccde8259
        10
    ccde8259  
       2022-10-06 22:55:59 +08:00 via iPhone   ❤️ 1
    K8S 跑 Traefik
    IngressRoute 里根据 Host 去 match 反代到 Service 上
    moonheart
        11
    moonheart  
       2022-10-07 09:26:18 +08:00 via Android   ❤️ 1
    用 metallb 做一个 loadbalancer 就好了,外面加一个 nginx 指向这个 lb
    winglight2016
        12
    winglight2016  
       2022-10-07 09:47:34 +08:00   ❤️ 1
    lz 以为 node port 是每个 node 的 ip 对应的某个端口,其实所有 ip 都可以通过这个端口访问到这个应用。

    node port 并不是常规做法,lz 先去了解一下 pod-deployment-service-ingress 的关系吧,这么稀里糊涂的,告诉你怎么配也没法维护。
    Cify
        13
    Cify  
    OP
       2022-10-07 12:42:14 +08:00
    #5 #7 #10 #11 我分别测试下,多谢提供思路
    Cify
        14
    Cify  
    OP
       2022-10-07 12:49:47 +08:00
    @winglight2016 你提出的就是担忧, 只指向一个 Node ip, 万一该 Node 死了怎么办? 所以上面几位说的 LB svc, service mesh/istio 就解决了这个问题.

    当然 DNS 那边做也可以, 就是太麻烦了, 特别 node 比较多的情况
    ccde8259
        15
    ccde8259  
       2022-10-07 13:19:36 +08:00 via iPhone
    @Cify 生产实践中一般 K8S 的 LB 会指定单独的两台机器打 Taint 避免调度,还会有一套 Keepalived+HAProxy 的 NGINX/F5 到这两台机器上
    calmzhu
        16
    calmzhu  
       2022-10-07 21:16:40 +08:00
    @calmzhu
    负载均衡

    可以自己用 lvs nginx 等实现,或者云厂商里面也都有。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2724 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 09:11 · PVG 17:11 · LAX 01:11 · JFK 04:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.