编写脚本
[ root@master01 ~]
[ root@master01 bash]
/opt/bash
[ root@master01 bash]
for i in node0{ 1,2 }
do
ssh student@$i "sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo yum install -y docker-ce-20.10.22 docker-ce-cli-20.10.22 containerd.io docker-compose-plugin
sudo systemctl start docker
sudo systemctl enable docker
sudo wget https://github.com/Mirantis/cri-dockerd/releases/tag/v0.2.6/cri-dockerd-0.2.6.amd64.tgz -P /opt/software/
sudo ls -ld /opt/software/cri-dockerd-0.2.6.amd64.tgz
sudo tar -xf /opt/software/cri-dockerd-0.2.6.amd64.tgz -C /opt/software/
sudo cp /opt/software/cri-dockerd/cri-dockerd /usr/bin
sudo chmod +x /usr/bin/cri-dockerd
sudo touch /usr/lib/systemd/system/cri-docker.service
sudo chmod 666 /usr/lib/systemd/system/cri-docker.service
cat <<" EOF" > /usr/lib/systemd/system/cri-docker.service
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-docker.socket
[Service]
Type=notify
ExecStart=/usr/bin/cri-dockerd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.7
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
EOF
sudo touch /usr/lib/systemd/system/cri-docker.socket
sudo chmod 666 /usr/lib/systemd/system/cri-docker.socket
sudo cat <<" EOF" > /usr/lib/systemd/system/cri-docker.socket
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service
[Socket]
ListenStream=%t/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
[Install]
WantedBy=sockets.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable cri-docker --now
sudo systemctl is-active cri-docker"
done
for i in master0{ 3,2 ,1}
do
ssh student@$i "sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo yum install -y docker-ce-20.10.22 docker-ce-cli-20.10.22 containerd.io docker-compose-plugin
sudo systemctl start docker
sudo systemctl enable docker
sudo wget https://github.com/Mirantis/cri-dockerd/releases/tag/v0.2.6/cri-dockerd-0.2.6.amd64.tgz -P /opt/software/
sudo ls -ld /opt/software/cri-dockerd-0.2.6.amd64.tgz
sudo tar -xf /opt/software/cri-dockerd-0.2.6.amd64.tgz -C /opt/software/
sudo cp /opt/software/cri-dockerd/cri-dockerd /usr/bin
sudo chmod +x /usr/bin/cri-dockerd
sudo touch /usr/lib/systemd/system/cri-docker.service
sudo chmod 666 /usr/lib/systemd/system/cri-docker.service
sudo cat <<" EOF" > /usr/lib/systemd/system/cri-docker.service
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-docker.socket
[Service]
Type=notify
ExecStart=/usr/bin/cri-dockerd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.7
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
EOF
sudo touch /usr/lib/systemd/system/cri-docker.socket
sudo chmod 666 /usr/lib/systemd/system/cri-docker.socket
sudo cat <<" EOF" > /usr/lib/systemd/system/cri-docker.socket
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service
[Socket]
ListenStream=%t/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
[Install]
WantedBy=sockets.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable cri-docker --now
sudo systemctl is-active cri-docker"
done
验证安装
[ student@master01 bash] $ for i in { master02,master02,master03,node01,node02}
> do
> ssh -t student@$i 'systemctl status docker | grep Active;systemctl status cri-docker | grep Active'
> done
Active: active ( running) since Thu 2023 -01-05 19 :33:15 CST; 1h 28min ago
Active: active ( running) since Thu 2023 -01-05 20 :34:01 CST; 27min ago
Connection to master02 closed.
Active: active ( running) since Thu 2023 -01-05 19 :33:15 CST; 1h 28min ago
Active: active ( running) since Thu 2023 -01-05 20 :34:01 CST; 27min ago
Connection to master02 closed.
Active: active ( running) since Thu 2023 -01-05 19 :31:34 CST; 1h 30min ago
Active: active ( running) since Thu 2023 -01-05 20 :33:59 CST; 27min ago
Connection to master03 closed.
Active: active ( running) since Thu 2023 -01-05 19 :28:51 CST; 1h 32min ago
Active: active ( running) since Thu 2023 -01-05 20 :33:12 CST; 28min ago
Connection to node01 closed.
Active: active ( running) since Thu 2023 -01-05 19 :30:05 CST; 1h 31min ago
Active: active ( running) since Thu 2023 -01-05 20 :33:14 CST; 28min ago
Connection to node02 closed.