实验环境配置
一 默认环境
1.1 操作系统
[root@gysl-DevOps ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
2.1 Swap 设置
[root@gysl-DevOps ~]# free -h
total used free shared buff/cache available
Mem: 972M 182M 175M 7.6M 615M 571M
Swap: 0B 0B 0B
为了后期 Kubernetes 实验,在安装系统的时候关闭了 Swap 。
二 更改默认配置
安装Docker Engine,修改相关内核参数,关闭防火墙,禁用SELinux,安装EPEL,重启机器。脚本如下:
#!/bin/bash
UserName='gysl'
PassWord='drh123'
# Install the Docker engine. This needs to be executed on every machine.
curl http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo>&/dev/null
# 如果内部源比较慢,可以尝试将Base源换成阿里云的:http://mirrors.aliyun.com/repo/Centos-7.repo
if [ $? -eq 0 ] ;
then
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine>&/dev/null
yum list docker-ce --showduplicates|grep "^doc"|sort -r
yum -y install docker-ce-24.0.6-1.el7 # docker-ce-26.0.2-1.el8
rm -f /etc/yum.repos.d/docker-ce.repo
systemctl enable docker --now && systemctl status docker
else
echo "Install failed! Please try again! ";
exit 110
fi
# Modify related kernel parameters.
cat>/etc/sysctl.d/docker.conf<<EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo tee /etc/docker/daemon.json <<EOF
{
"exec-opts": [
"native.cgroupdriver=cgroupfs"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"registry-mirrors": [
"https://docker.awsl9527.cn",
"https://docker.vpszj.top",
"https://dockerproxy.1panel.live",
"https://dockerproxy.cn",
"https://hub.uuuadc.top",
"https://hub1.nat.tf",
"https://proxy.1panel.live",
"https://dc.j8.work",
"https://docker.anyhub.us.kg",
"https://docker.ckyl.me",
"https://docker.gitlab.cx",
"https://dockerhub.icu",
"https://dockerhub.jobcher.com",
"https://mirror.baidubce.com"
],
"storage-driver": "overlay2"
}
EOF
sysctl -p /etc/sysctl.d/docker.conf>&/dev/null
# Turn off and disable the firewalld.
systemctl stop firewalld
systemctl disable firewalld
# Disable the SELinux.
sed -i.bak 's/=enforcing/=disabled/' /etc/selinux/config
# Disable the swap.
sed -i.bak 's/^.*swap/#&/g' /etc/fstab
# Install EPEL/vim/git.
yum -y install epel-release vim git
yum repolist
mkdir /data
# Add a docker user.
useradd $UserName
echo $PassWord|passwd $UserName --stdin
usermod $UserName -aG docker
# 迁移 docker 数据目录
systemctl stop docker
rsync -avzP /var/lib/docker /data/
rm -rf /var/lib/docker
ln -s /data/docker /var/lib/
# 也可以在daemon.json配置文件中直接配置:"data-root": "/data/docker"
systemctl start docker
# Reboot the machine.
reboot
daemon.json配置文件参考:
{
"exec-opts": [
"native.cgroupdriver=cgroupfs"
],
"registry-mirrors": [
"https://docker.awsl9527.cn",
"https://docker.vpszj.top",
"https://dockerproxy.1panel.live",
"https://dockerproxy.cn",
"https://hub.uuuadc.top",
"https://hub1.nat.tf",
"https://proxy.1panel.live",
"https://dc.j8.work",
"https://docker.anyhub.us.kg",
"https://docker.ckyl.me",
"https://docker.gitlab.cx",
"https://dockerhub.icu",
"https://dockerhub.jobcher.com",
"https://mirror.baidubce.com"
],
"storage-driver": "overlay2",
"data-root": "/data/docker",
"log-driver": "json-file",
"bip": "10.8.1.1/16",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}