Kubernetes技术与架构-网络 3

Kubernetes集群支持为Pod或者Service申请IPV4或者IPV6的地址空间。

kube-apiserver

--service-cluster-ip-range=<IPv4  CIDR>,<IPv6 CIDR>

kube-controller-manager

--cluster-cidr=<IPv4 CIDR>,<IPv6  CIDR>

--service-cluster-ip-range=<IPv4  CIDR>,<IPv6 CIDR>

--node-cidr-mask-size-ipv4|--node-cidr-mask-size-ipv6

kube-proxy

--cluster-cidr=<IPv4 CIDR>,<IPv6  CIDR>

kubelet

.status.addresses

如上所示,使用Kubernetes组件设置IPV4或者IPV6的地址空间

SingleStack

申请单协议栈

PreferDualStack
 
申请双协议栈

 

RequireDualStack

申请双协议栈,从.spec.ClusterIPs中选择合适的IP地址

图片

如上所示,设置Service同时使用IPV4以及IPV6

图片

如上所示,设置Service仅支持IPV4

图片

如上所示,设置headless类型Service的IP配置

图片

如上所示,当设置service.kubernetes.io/topology-mode为auto,使用拓扑感知的方式路由,即根据实际流量的大小,将实际流量平衡地调度到所有区域zone中

图片

如上所示,使用静态的方式直接指定分配的IP地址,Kubernetes集群支持动态地从地址空间中选择分配一个IP地址,或者直接指定一个静态的IP地址

图片

如上所示,Kubernetes集群为避免申请IP地址的时候发生地址冲突,使用公式min(max(16, cidrSize / 16), 256)约束静态IP地址与动态IP地址的个数比例的申请,该公式表示静态IP地址的最小偏移量,10.96.0.0/24 的地址个数是256-2=254,min(max(16, 256/16), 256) = min(16, 256) = 16,静态地址范围是10.96.0.1到10.96.0.16,而动态的地址最大值是 10.96.0.254

图片

如上所示,10.96.0.0/20的地址个数是4096-2= 4094,min(max(16, 4096/16), 256) = min(256, 256) = 256,静态地址范围是10.96.0.1到10.96.1.0,而动态的地址最大值是 10.96.15.254

图片

如上所示,10.96.0.0/16的地址个数是65536-2=65534,min(max(16, 65536/16), 256) = min(4096, 256) = 256,静态地址范围是10.96.0.1到10.96.1.0,而动态的地址最大值是 10.96.255.254

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangys2006

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值