Kubernetes网络解决4方面的问题
- 1个Pod中容器之间通过本地回路(loopback)通信
- 集群网络在不同Pod间提供通信(IP地址,端口)
- Service资源允许对外暴露的Pods中运行的应用程序(镜像),以支持来自集群外部实体的访问(IP地址,端口)
- 使用Services来发布仅限集群內部使用的服务
Service Topology让一个服务基于集群Node Topology进行流量路由。通过队源Node和目的Node标签的匹配,运营者可以使用任何符合运营者要求的度量值来指令彼此”较近“和”“较远”的Node组
Service配置中的topologyKeys字段,是Node标签的优先顺序字段,用以控制Serice的流量路由。访问Service时会根据topologyKeys对端口进行排序。
流量会被定向到第一个标签值和源Node标签值匹配的Node。
PS:topologyKeys若为空,说明没启用拓扑功能。
Service Topology ‘s constraints
①对于同一服务,Service Topology和externalTrafficPolicy=Local 互斥
②有效的topologyKeys只有 kubernetes.io/hostname,topology.kubernetes.io/zone,topology.kubernetes.io/region
③topologyKey必须是有效的标签,并且最多指定16个
④通配符 * ,如果使用必须是拓扑键值的最后一个值
- 端点切片(Endpoint Slices)
- Pod和Service的DNS
- 使用Service连接到应用
- Ingress&&IngressController
- 网络策略(Net Strategy)
- HostAliases添加条目
- IPV4/IPV6双协议栈