在我们日常运维工作中,经常有下线某个节点的需求,如果采用直接驱逐,会导致服务不可用,故采用重启的方式,可以实现新pod 漂移到新节点上。以下是采用shell 命令的方式重启某个节点的pod。
前置条件:已把下线节点标准为不可调度。
for pods in `kubectl -n default get pod -o wide |grep 192.168.100.1|awk '{print $1}'`;
do # 统计"-" 数strCount=`echo $pods |tr -cd '-' |wc -c`; index=$((strCount - 1)); # 截取deployment 名称app=`echo $pods |cut -d'-' -f1-${index}`;echo $app ; kubectl -n default rollout restart deploy $app ;done