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

2022-10-06 20:46:25 +08:00
 Cify

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

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

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

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

可以自己用 lvs nginx 等实现,或者云厂商里面也都有。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/884927

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX