K8S Network Service 笔记
wutz opened this issue · 0 comments
wutz commented
👷 施工中...
Service
简单理解为一种负载均衡器,提供以下功能:
- 通过 Label 把一组 Pod 作为一个 Service 来接收和处理进入的流量
- 每组 Pod 可以暴露给内部或外部使用者
提供以下层级:
- Headless: 通过 DNS 实现,查询 DNS 获得所有 Pod IP。通常用于 StatefulSet 负载 (Database 等),其自己处理连接
- ClusterIP: 分配一个唯一 VIP (不能 Ping),在每个节点设置 DNAT 其负责在 Client 端转换 VIP 到 Pod ID
- NodePort:构建在 ClusterIP 之上在 root network namespace 中分配一个唯一的静态 port. 当流量从任意 node 到达此静态 port 时它会转发流量到一个健康的 Pod 上
- LoadBalancer: 使用外部的用户流量到达集群中。每个 LoadBalancer Service 都会分配一个可路由的 IP 通过 BGP 或者 ARP 通告底层物理网络上。通常云上提供外部 L4 负载均衡器,或者私有集群使用 MetalLB