k8s 可否指定一个 node 作为 nginx ingress 节点?如何配置?

2023-02-12 17:29:36 +08:00
 RatioPattern

目前家里有五六台服务器跑了 k8s ,但是家网没有公网 IP 想对外提供服务比较麻烦, 于是加了一台华为云服务器用 vpn 接入家里的 k8s 内网 作为一个节点, 但这台华为云服务器配置比较低,是希望只用他做 nginx ingress 节点转发公网流量,不要跑任何 pods 这样能否实现,如何配置?或者有更好的方式?

1276 次点击
所在节点    Kubernetes
9 条回复
nulIptr
2023-02-12 17:47:47 +08:00
搜下 taint/affinity ,都可以实现
seers
2023-02-12 18:29:11 +08:00
给 node 打污点,然后 pod 给容忍就行
xvan
2023-02-12 20:29:12 +08:00
亲和性
xqiang
2023-02-12 23:27:04 +08:00
1. 不跑任何其他 pods:taint
2. 做 nginx ingress 节点: 容忍 taint 的同时,加 nodeSelector 或 affinity
RatioPattern
2023-02-13 01:15:02 +08:00
@xqiang 第二点,公网华为云这个 k8s node 不跑业务 pods(k8s 自己的服务 Pods 不算)只当 nginx ingress 节点,也需要初始化 nginx ingress 服务 pods 的时候加 nodeSelector 选中公网华为云 node 吗?
RatioPattern
2023-02-13 05:10:57 +08:00
补充下,是希望 nginx ingress 为全局生效,代理多个不同 namespace 的 svc 出去。。。
littlezzll
2023-02-13 08:16:28 +08:00
给指定节点打标签,比如 ingress=true ,nodeSelector 指定这个标签即可
julyclyde
2023-02-13 09:00:16 +08:00
我总觉得 nodeport 模式的 service 是一个设计错误
并非所有 node 都对外服务,但是一个 service 需要在所有 node 上都占有端口,浪费资源,增加协调难度
端口如果用完了咋办呢?每个集群只能有六万多个 service ?
lizon
2023-02-13 10:14:00 +08:00
除了上面提到的方式,还可以指定 pod 的 nodeName
https://kubernetes.io/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/#nodename

链接中整篇官方文档正好对应你的问题

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

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

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

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

© 2021 V2EX