Kubernetes 中 Service 和 Pod 默认仅集群内可访问,NodePort/LoadBalancer 存在仅支持四层负载均衡、每个服务需单独创建负载均衡器、依赖云厂商等限制。Ingress 作为统一流量入口,提供七层负载均衡,可复用单个负载均衡器和 IP 服务多个 Service,支持基于 Host 和 URL 的路由,并附加授权、限流、SSL 等功能。Ingress 需配合 Ingress Controller(如 Nginx Ingress Controller)生效,后者根据 Ingress 规则生成 nginx.conf 并重载。
本文介绍 Kubernetes Service 的用法:Service 解决 Pod 重启后 IP 变化及负载均衡问题。ClusterIP 为多个 Pod 提供集群内统一访问 IP,通过 selector 关联 Pod,请求轮询分发到各 Pod,扩容后 endpoints 自动更新。NodePort 在 ClusterIP 基础上支持通过集群节点固定端口(30000-32767)对外访问。文中以 Go 程序镜像和 Deployment 为例演示配置与验证。
完成下面两步后,将自动完成登录并继续当前操作。