一个脚本查看K8S各结点的磁盘和内存占用情况:

for ip in `kubectl get nodes -o wide | awk '{print $6}' | grep -v "INTERNAL-IP"`;
do
    echo "$ip: "
    echo "Disk: "
    echo "FileSystem    Size    Used    Avail   Usage"
    ssh $ip "df -h | awk -v OFS='\\t' '{print \$1,\$2,\$3,\$4,\$5}' | grep '/dev' | sort | uniq"
    echo ""
    
    echo "Memory: "
    ssh $ip "free -m"
    echo ""
done

前置条件:执行脚本的机器必须配置免密登录其他结点

image-20230224212323039

生成公钥和私钥

ssh-keygen -t rsa

按三次回车生成如下文件

[adrainty@master .ssh]$ ll
总用量 12
-rw------- 1 adrainty adrainty 1679 2月  24 05:31 id_rsa
-rw-r--r-- 1 adrainty adrainty  397 2月  24 05:31 id_rsa.pub
-rw-r--r-- 1 adrainty adrainty  182 2月  24 05:30 known_hosts

将master公钥拷贝到node1和node2

ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2

在node1和node2也执行上面操作