执行kubeadm join $KUBEADMJOINCMD v6 2>&1 tee /var/log/kubeadmjoin.log docker运行时示例 !/bin/bash export KUBEADMJOINCMD export RUNTIMEVERSION export KUBEVERSION export REGISTRYURL export CRURL nodeip$(hostname I awk '{print $1}') rootdir"/var/lib/container" 定义kubelet、运行时数据存储目录,请保持与云下一致 获取数据盘,用于挂载kubelet、容器运行时数据目录,没有数据盘则默认用系统盘 获取所有块设备 devices$(lsblk d n o NAME grep v NAME) 遍历每个设备 for dev in $devices; do 检查是否已挂载 if ! mountpoint q /dev/$dev; then 检查是否已格式化 if ! blkid /dev/$dev > /dev/null 2>&1; then DATADISK"/dev/$dev" echo $DATADISK break fi fi done 挂载 mkdir p $rootdir if [ n "$DATADISK" ]; then mkfs.xfs f $DATADISK if ! grep qF "$DATADISK $rootdir xfs defaults 0 1" /etc/fstab;then echo "$DATADISK $rootdir xfs defaults 0 1" >> /etc/fstab 开机自动挂载 fi mount a df hT $rootdir awk 'FNR 2 {print $2}' 判断是不是xfs xfsinfo $(df hT $rootdir awk 'FNR 2 {print $NF}') grep o "ftype." sed 's/ftype//' 判断是不是1 fi ARCH$(uname m) case $ARCH in x8664) ARCHTYPE"amd64" ;; aarch64arm64) ARCHTYPE"arm64" ;; ) ARCHTYPE"unknown" ;; esac