kubernetes中apiserver的地址指定问题

APIServer参数 –advertise-address判定的问题,这个参数是用来指定APIServer 和其他组件之间通讯的地址或者它的监听地址。它默认的判定方法会选取机器默认的网卡ip地址,这 一点有时并不合适,因为我们在自己使用过程中会有这样的场景,我们有些机器可能默认网卡是 公网网卡,我们希望集群内部组件相互通讯的东西走内网流量,所以这个时候,我们还是采用这种默认的判定方法,就会让APIServer 绑定公网网卡。如果你的环境是这样的配置,建议你用这样的方式绑定到内网网卡。Kubelet也有这样的参数,叫做–node-ip ,在这样的场景下也会默认绑定在公网网卡上,如果你的环境也是这样子的,建议你用命令行的方式把内网地址 配置进去。这个问题的发现源于我们自己的使用实际场景,我们想通过虚拟机管理 软件Vagrant来部署集群的时候会出现一些问题,因为它为每个虚拟机创造一个nat网卡作为默认网卡,它的ip地址固定,如果创建两个虚拟机,这两个虚拟机默认网卡都是一个地址 。如果这个时候还是采用这种方式来指定,采用默认策略就会导致所有pod地址都是那个nat 网卡地址。K8S官方也给出一个方案,如果大家用这个部署集群的需求,要注意这个问题