Kubernetes 服务发现与 HTTP 负载均衡:Ingress 实战指南
服务发现基础
在 Kubernetes 中,服务发现是一项关键功能。可以使用标签来识别感兴趣的 Pod 集合,获取这些标签对应的所有 Pod 并挖掘出其 IP 地址。然而,保持正确的标签集同步可能具有挑战性,这就是 Service 对象被创建的原因。
kube - proxy 与集群 IP
集群 IP 是稳定的虚拟 IP,用于在服务的所有端点之间进行流量负载均衡。这一神奇功能由运行在集群每个节点上的 kube - proxy 组件实现。kube - proxy 通过 API 服务器监视集群中的新服务,然后在主机内核中编程一组 iptables 规则,重写数据包的目标地址,使其指向服务的某个端点。如果服务的端点集发生变化(由于 Pod 的增减或就绪检查失败),iptables 规则将被重写。
集群 IP 通常在创建服务时由 API 服务器分配,但用户在创建服务时也可以指定特定的集群 IP。一旦设置,不删除并重新创建 Service 对象就无法修改集群 IP。Kubernetes 服务地址范围使用 kube - apiserver 二进制文件上的 --service - cluster - ip - range 标志进行配置,该服务地址范围不应与分配给每个 Docker 网桥或 Kubernetes 节点的 IP 子网和范围重叠,并且任何请求的显式集群 IP 必须来自该范围且未被使用。
集群 IP 环境变量
虽然大多数用户应使用 DNS 服务来查找集群 IP,但仍有一些旧机制可能仍在使用,例如在 Pod 启动
Kubernetes Ingress 实战指南
超级会员免费看
订阅专栏 解锁全文
346

被折叠的 条评论
为什么被折叠?



