首先拉平一个认识。
常说的 Ingress 是 Ingress Rules。
但 Ingerss 实际上是由 Ingress Rules 和 Ingress Controller 的组合而成的。在使用上, K8S 通过 Rules 的管理, 隐藏 Controller。
目前 k8s 官方维护的 控制器(Controller) 有 AWS, GCS, Nginx
, 其他三方的大大小小几十种, 可以参考 https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress-controllers/
而 Rules 是 K8S 对于控制器的配置的公共抽象, 帮助用户 一定程度上 屏蔽了不同控制器的差异。
所谓 一定程度, 指的是
可以
80/443
。80/443
。但是不建议。
例如上图, 当 1-2 两个节点失效时, DNS 依旧会将请求解析过来, 造成失败。
可以, 但没必要。使用 DNS 或者 LB 作为负载均衡的前提条件, 重要的都是 关系映射。即当节点发生变化的时候, 如何 保证只有健康的控制器节点对外提供业务?
一般情况下保持 2-3个 worker 副本几本够用了。可根据实际情况调整。