Kubernetes Service
本文将介绍 Kubernetes 中的 Service,即负载均衡。
一、什么是 Service?
Service 的设计目的是解决 动态变化的 Pod 的访问 问题。
具体来说,我们通常会通过 Deployment 和 DaemonSet 部署应用,它们虽然能够保证应用的总数和分布,但是无法 “固定” Pod,Pod 总是在销毁和创建中保证 “期望状态”。为了实现对这些动态变化的 Pod 的访问,Kubernetes 设计了 Service,可以将它理解为 Kubernetes 中的负载均衡。
二、Service 的配置文件
1 |
|
三、注意事项
- Service 创建成功后,Kubernetes 会为其分配一个 IP 地址,可以通过该地址访问到其代理的资源对象
- 这个 IP 是一个 “虚地址”,它会且仅会转发流量
- 如果希望以域名形式访问 Service,可以利用 Kubernetes 的 DNS 插件
- 默认情况下,Service 的 type 为 ClusterIP,它只能在集群内部被访问。如果希望在集群外访问,可以将 type 设置为 NodePort,则 Kubernetes 会在集群的每个节点上创建一个独立的端口,该端口可以被外部访问
参考
- Kubernetes
- Kubernetes 入门实战课
- 深入剖析 Kubernetes