Kubernetes對node節點故障容錯很是好,當node節點故障時,pod能夠漂走,在node是物理機的狀況下比較受用,例如物理機內存等故障時,容器能夠自動漂移走,同時會將服務啓動,避免了以前物理機或者虛擬機宕機恢復後,還須要通知應用負責人啓動服務的尷尬狀況。這一特性深受衆多技術同窗喜好,甚至能夠稱爲故障自愈。node
此外,Node節點避免不了偶爾停機或者升級的狀況,這時候咱們就須要關閉調用到某臺node節點上的策略,將新產生的容器調度到其餘正常服務的Node節點,操做很是簡單,可是此操做不會影響已經運行在上面的pod等容器。接下來咱們簡單但演示一下其操做bash
1、設置到不可調用ide
一、查看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 二、執行命令關閉其調度 kubectl cordon cn-shanghai.10.101.175.227 node/cn-shanghai.10.101.175.227 already cordoned 三、再去檢查其狀態 已經不能調度 NAME STATUS ROLES AGE VERSION cn-shanghai.10.101.175.227 Ready,SchedulingDisabled <none> 3d1h v1.14.6-aliyun.1
咱們再去建立相關的應用就會失敗,由於整個 Kubernetes只有一臺node節點,被調整的node節點的狀態就是不可調度。3d
2、恢復到可調用狀態blog
一、恢復到可調用 kubectl uncordon cn-shanghai.10.101.175.227 node/cn-shanghai.10.101.175.227 uncordoned 二、檢查狀態 kubectl get nodes NAME STATUS ROLES AGE VERSION cn-shanghai.10.101.175.227 Ready <none> 3d2h v1.14.6-aliyun.1
這時候咱們再去檢查上面處於等待中的應用狀態已是運行中,同時再去檢查node節點的狀態也是正常可調度
內存