Kubernetes服务调度

   Kubernetes对node节点故障容错非常好,当node节点故障时,pod可以漂走,在node是物理机的情况下比较受用,例如物理机内存等故障时,容器可以自动漂移走,同时会将服务启动,避免了之前物理机或者虚拟机宕机恢复后,还需要通知应用负责人启动服务的尴尬情况。这一特性深受众多技术同学喜爱,甚至可以称为故障自愈。

   此外,Node节点避免不了偶尔停机或者升级的情况,这时候我们就需要关闭调用到某台node节点上的策略,将新产生的容器调度到其他正常服务的Node节点,操作非常简单,但是此操作不会影响已经运行在上面的pod等容器。接下来我们简单但演示一下其操作

一、设置到不可调用

1、查看nodes信息,找到想关闭的node信息
kubectl  get  nodes
NAME                         STATUS                     ROLES    AGE    VERSION
cn-shanghai.10.101.175.227   Ready,SchedulingDisabled   <none>   3d1h   v1.14.6-aliyun.1
2、执行命令关闭其调度
kubectl  cordon  cn-shanghai.10.101.175.227
node/cn-shanghai.10.101.175.227 already cordoned
3、再去检查其状态 已经不能调度
NAME                         STATUS                     ROLES    AGE    VERSION
cn-shanghai.10.101.175.227   Ready,SchedulingDisabled   <none>   3d1h   v1.14.6-aliyun.1

   我们再去创建相关的应用就会失败,因为整个 Kubernetes只有一台node节点,被调整的node节点的状态就是不可调度。

image.png

image.png

二、恢复到可调用状态

1、恢复到可调用
kubectl  uncordon  cn-shanghai.10.101.175.227
node/cn-shanghai.10.101.175.227 uncordoned

2、检查状态
kubectl  get  nodes
NAME                         STATUS   ROLES    AGE    VERSION
cn-shanghai.10.101.175.227   Ready    <none>   3d2h   v1.14.6-aliyun.1

  这时候我们再去检查上面处于等待中的应用状态已经是运行中,同时再去检查node节点的状态也是正常可调度

image.png



猜你喜欢

转载自blog.51cto.com/dreamlinux/2439949