背景

需要操作一批次服务器安装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 root@192.168.0.1:/home/node1/working/IMAGE.tar /root/working/
  • 导入镜像文件
docker load -i working/IMAGE.tar
  • 脚本自删除
rm -rf installDocker.sh
  • 完成后关机
sudo halt -p

最新文章

  1. hibernate中HQL多对多的查询
  2. perl 入门的基础
  3. hdu 3308 LCIS 线段树
  4. Java study 1:The note of studying Socket which based UDP
  5. Spark Streaming与kafka整合实践之WordCount
  6. REMOTE HOST IDENTIFICATION HAS CHANGED
  7. 华为Java笔试题
  8. centos下安装与配置Apache方法
  9. 聊一聊我们都熟知的 “ Java分层 ”
  10. HTML学习笔记 CSS学习选择器案例 第五节 (原创) 参考使用表
  11. VxWorks嵌入式系统几种常用的延时方法
  12. DirectX11 With Windows SDK--16 流输出阶段
  13. python的迭代器
  14. Matplotlib学习---用matplotlib画直方图/密度图(histogram, density plot)
  15. struts原理图
  16. 加密算法比较3DES AES RSA ECC MD5 SHA1等
  17. [leetcode]Permutations II @ Python
  18. nginx负载均衡技术的优缺点
  19. Ionic3 UI组件之 PhotoViewer
  20. EL表达式介绍(2)

热门文章

  1. 利用CRT配合VBS脚本实现自动化巡检
  2. nodemon 实现 TypeScript 项目热部署
  3. 微软出品自动化神器【Playwright+Java】系列(十)元素定位详解
  4. 使用expect在实现跨机器拿日志
  5. AttributeError: module &#39;requests&#39; has no attribute &#39;get&#39; 报错分析
  6. Gameframework之微信小游戏
  7. Linux服务器监控性能测试
  8. pip 源修改,换国内
  9. .net5的安装部署条件
  10. phpstudy 配置域名解决index.php 过多重定向