3.3.3. 服务
Kubernetes 服务 充当内部负载均衡器。它标识一组复制的 pod,以代理其接收的连接。可以在服务中任意添加或删除支持 pod,同时服务始终保持可用,从而使依赖于服务的任何对象能够以一致的地址引用它。默认服务 clusterIP 地址来自 OpenShift Container Platform 内部网络,它们用于允许 pod 相互访问。
要允许从外部访问该服务,可以将集群外部的 externalIP
和 ingressIP
地址分配给该服务。这些 externalIP
地址也可以是虚拟 IP 地址,提供对该服务 的高可用性 访问权限。
服务被分配一个 IP 地址和端口对,访问时代理到适当的后备 pod。服务使用标签选择器来查找运行的所有容器,这些容器在特定端口上提供特定的网络服务。
与 pod 一样,服务是 REST 对象。以下示例显示了上方定义的 pod 的服务定义:
服务对象定义(YAML)
Kubernetes 文档包含更多与服务相关的信息。
3.3.3.1. Service externalIPs 复制链接链接已复制到粘贴板!
除了集群的内部 IP 地址外,用户还可配置集群外部的 IP 地址。管理员负责确保流量通过此 IP 到达节点。
集群管理员必须从 master-config.yaml 文件中配置的 externalIPNetworkCIDRs 范围内选择 externalIPs。当 master-config.yaml 发生更改时,必须重启 master 服务。
externalIPNetworkCIDR /etc/origin/master/master-config.yaml 示例
networkConfig: externalIPNetworkCIDRs: - 192.0.1.0.0/24
networkConfig:
externalIPNetworkCIDRs:
- 192.0.1.0.0/24
服务 externalIPs 定义(JSON)
- 1
- 用于在其上公开端口的外部 IP 地址列表。此列表除了内部 IP 地址列表之外。