集成 Kubernetes 服务发现
Kubernetes 通过 Endpoints 或 EndpointSlices 跟踪每个 Service 后端已就绪 Pod 的地址。APISIX 可以监听这些资源,直接将流量路由到动态变化的 Pod 地址,而不使用 Service 虚拟 IP 或集群 DNS 名称。
该集成支持单个 Kubernetes 集群或多个命名集群。APISIX 使用 ServiceAccount Bearer 令牌向每个 Kubernetes API 进行身份认证,并向上游提供发现的地址。
前置条件
- APISIX 部署可以连接 Kubernetes API Server 和发现的 Pod 地址。
- Kubernetes ServiceAccount 令牌,通过
client.token直接提供或通过client.token_file文件提供。 - 对
endpoints资源具有get、list和watch权限。当watch_endpoint_slices为true时,还要对discovery.k8s.ioAPI Group 中的endpointslices资源授予相同权限。 - 启用 TLS 证书校验时,APISIX 可以访问包含 Kubernetes API Server CA 证书的 PEM 证书包。