TKE集群中deployment使用vpc-cni模式

TKE集群中的网络模式分为Global Router和vpc-cni这2种,有的集群是创建的时候使用Global Router的网络模式,但是后续开启了vpc-cni的网络模式,因为集群是可以同时兼容2种网络模式。

在使用vpc-cni的网络模式大家会有一个疑惑,就是为什么我开启了vpc-cni模式后,创建的工作负载中的pod ip没有在我配置的子网中,没有和vpc在一个网段。

其实并不是开启了vpc-cni模式后,创建新的pod或者重建pod就会选择vpc-cni模式,除非你在创建集群的时候就选择的vpc-cni模式,那样创建出来的所有pod分配的ip都会和vpc在一个网段。其实在tke集群中有一个参数来控制你的pod是否选择vpc-cni模式,下面我们来说说如何使用这个参数,不同类型的工作负载如何选择vpc-cni模式。

StatefulSet如何选择vpc-cni模式

一般我们创建StatefulSet的时候是可以在控制台选择是否选择vpc-cni模式,使用方法如下,在创建StatefulSet时候选择高级选项,点击是否选择vpc-cni模式即可,StatefulSet还可以选择是否配置固定ip模式

upload-image

upload-image

upload-image

deployement如何选择vpc-cni模式

我们在创建deployment的时候在控制台是没有对应的选项来选择是否采用vpc-cni模式的,但是并不是说我们无法创建deployment的pod选择vpc-cni模式。我们可以在yaml中添加参数 tke.cloud.tencent.com/networks: tke-route-eni 即可,下面我们来实验一下

首先我们创建一个不配置这个参数的pod,我们在控制台是没有vpc-cni选择项的

upload-image

我们创建完之后发现pod和节点不在一个网段,对应的yaml中没有tke.cloud.tencent.com/networks: tke-route-eni这个字段

upload-image

upload-image

下面我们修改yaml,加上这个字段再更新pod,我们发现pod和节点处在同一个网段中,

upload-image

upload-image

所以,如果我们需要在deployment中使用vpc-cni模式只需要在yaml中加上tke.cloud.tencent.com/networks: tke-route-eni这个字段更新pod即可。


TKE集群中deployment使用vpc-cni模式
https://www.niewx.cn/2020/07/27/2020-07-27-Deployment-in-the-TKE-cluster-uses-vpc-cni-mode/
作者
VashonNie
发布于
2020年7月27日
许可协议