Docker(二十六)k8s大流量容器,的应用方法(利用亲和性和反亲和性,做pod 定点)...
k8s 在有些应用场景下需要把某些应用容器,固定在相应的节点上,比如主流量入口,会有大量的流量进来,那么如果固定在node 节点上,那么根据k8s 调度pod 规则,会把这个大流量的pod 漂移到其他node节点上,但是问题很容易,影响这个node节点上的其他pod 容器的网络通信,比如,我司,有个服务主入口,那么这个容器只能固定在4个,4核16g 的高性能node 节点上,...
·
k8s 在有些应用场景下需要把某些应用容器,固定在相应的节点上,比如主流量入口,会有大量的流量进来,那么如果固定在node 节点上,那么根据k8s 调度pod 规则,会把这个大流量的pod 漂移到其他node节点上,但是问题很容易,影响这个node节点上的其他pod 容器的网络通信,
比如,我司,有个服务主入口,那么这个容器只能固定在4个,4核16g 的高性能node 节点上,这样,因为网卡最多就是100m,那么即使是跑满了,也不会影响其他节点上的pod
下面说下方法:
1,获取某个节点的labels
如果修改labels 在命令行最后加上 --overwrite
kubectl label node 172.17.122.109 as-rank=node1 kubectl describe node 172.17.122.109 ##然后查询Labels 这个字段或看到一下信息 Labels: as-rank=node beta.kubernetes.io/arch=amd64 beta.kubernetes.io/instance-type=QCLOUD beta.kubernetes.io/os=linux failure-domain.beta.kubernetes.io/region=sh failure-domain.beta.kubernetes.io/zone=200003 kubernetes.io/hostname=172.17.122.109
这个时候,编辑app应用的deployment文件,利用筛选器字段,将容器固定制定的node节点
....... spec: ... nodeSelector: as-rank: node ...
这时就会发现这个容器已经被k8s 调度到制定的节点上
这里要注意下,因为labels,可能多个节点是一样的,这么当用deployment部署的时候,只会往这几个相同labels 节点部署
转载于:https://blog.51cto.com/wks97/2156855
更多推荐
已为社区贡献466条内容
所有评论(0)