首页 > 系统相关 >Linux Shell开发功能点

Linux Shell开发功能点

时间:2022-12-21 01:00:10浏览次数:38  
标签:Shell get nvidia sudo apt 开发 install Linux docker

背景

需要操作一批次服务器安装Docker

功能特色

  • 一键执行
bash <(curl -s -L http://server.com/installDocker.sh) MemberNode
  • 参数传递hostname修改
if [ ! -n "$1" ] ; then
    echo "no hostname given!"
    exit
fi
# modify hostname
sudo sed -i "1c 127.0.0.1\tlocalhost\t$1" /etc/hosts
cat << EOF > /etc/hostname
$1
EOF
hostname $1
  • NvidiaDocker安装
#sudo adduser node sudo >&/dev/null
sudo apt install selinux-utils
setenforce 0
sudo ufw disable

# install docker
sudo swapoff -a 
sudo sed -i 's/.*swap.*/#&/' /etc/fstab
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-get install docker-ce=18.06.3~ce~3-0~ubuntu
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get -y update
sudo apt-get -y install docker-ce
sudo systemctl enable docker

# make docker use GPU
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
sudo curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
sudo curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

cat << EOF > /etc/docker/daemon.json
{
 "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    },
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF
# change docker daemon
sudo systemctl restart docker
  • K8s安装
# install k8s
sudo apt-get update &&  sudo apt-get install -y apt-transport-https
sudo curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key  add -

cat << EOF > /etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update && apt-get install -y kubelet=1.18.1-00 kubeadm=1.18.1-00  kubectl=1.18.1-00

kubeadm join [HOST]:6443 --token TOKEN --discovery-token-ca-cert-hash sha256:TOKEN

sudo pkill -SIGHUP dockerd | sudo systemctl enable kubelet && systemctl start kubelet
  • 远程镜像文件下载
mkdir working
sudo apt-get install sshpass
sshpass -p '123456' scp  -o StrictHostKeyChecking=no [email protected]:/home/node1/working/IMAGE.tar /root/working/
  • 导入镜像文件
docker load -i working/IMAGE.tar
  • 脚本自删除
rm -rf installDocker.sh
  • 完成后关机
sudo halt -p

标签:Shell,get,nvidia,sudo,apt,开发,install,Linux,docker
From: https://www.cnblogs.com/terrency/p/16995434.html

相关文章