安装docker
请参考:https://docs.docker.com/install/linux/docker-ce/centos/
辅助:https://www.mairoot.com/?p=1180
1、添加安装docker所需软件源信息:
阿里云:mirrors.aliyun.com
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
腾讯云:mirrors.tencent.com
同步中:https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.repo
2、配置Docker镜像加速器等
请参考:https://www.liujutan.com/2049.html
--------详细教程--------
3、安装docker
官方网址:https://docs.docker.com/install/linux/docker-ce/centos/
3.1、移除以前的docker文件
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3.2、安装所依赖库
yum install -y yum-utils device-mapper-persistent-data lvm2
3.3、添加软件源信息
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
如果无法访问docker,或者要加速,请换下面的链接 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
可能会报错
Requires: fuse-overlayfs >= 0.7
原因是没有云的yum源
https://www.cnblogs.com/nsywBlog/p/14868071.html
3.4、更新并安装docker-ce
yum makecache fast
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
如果要安装其他版本: yum list docker-ce --showduplicates | sort -r
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
3.5、配置Docker镜像加速器
mkdir -p /etc/docker
cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://av0eyibf.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
#重启docker
systemctl daemon-reload
systemctl restart docker
4、kubelet、kubeadm、kubectl安装
################# 系统环境配置 #####################
# 关闭 Selinux/firewalld
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
# 关闭交换分区
swapoff -a
cp /etc/{fstab,fstab.bak}
cat /etc/fstab.bak | grep -v swap > /etc/fstab
# 设置 iptables
echo """
vm.swappiness = 0
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
""" > /etc/sysctl.conf
modprobe br_netfilter
sysctl -p
# 同步时间
yum install -y ntpdate
ntpdate -u ntp.api.bz
################# 系统路由配置 #####################
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
ipvs_modules="ip_vs ip_vs_lc ip_vs_wlc ip_vs_rr ip_vs_wrr ip_vs_lblc ip_vs_lblcr ip_vs_dh ip_vs_sh ip_vs_nq ip_vs_sed ip_vs_ftp nf_conntrack"
for kernel_module in \${ipvs_modules}; do
/sbin/modinfo -F filename \${kernel_module} > /dev/null 2>&1
if [ $? -eq 0 ]; then
/sbin/modprobe \${kernel_module}
fi
done
EOF
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep ip_vs
################# 安装k8s #####################
# 安装软件可能需要的依赖关系
yum install -y yum-utils device-mapper-persistent-data lvm2
# 配置使用阿里云仓库,安装Kubernetes工具
cat > /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
EOF
# 执行安装kubeadm, kubelet, kubectl工具
yum -y install kubeadm-1.17.0 kubectl-1.17.0 kubelet-1.17.0
# 配置防火墙
sed -i "13i ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT" /usr/lib/systemd/system/docker.service
# 创建文件夹
if [ ! -d "/etc/docker" ];then
mkdir -p /etc/docker
fi
# 配置 docker 启动参数
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://av0eyibf.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
# 配置开启自启
systemctl enable docker && systemctl enable kubelet
systemctl daemon-reload
systemctl restart docker

