二、Docker安装及初始化
先安装可能需要用到的软件:
1
|
yum install -y wget net-tools nfs-utils lrzsz gcc gcc++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack
|
添加docker的yum源
略
安装Docker
1
2
|
yum install -y yum-utils device-mapper-persistent-data lvm2
yum install -y docker-ce
|
优化
- 开启包转发功能:
modprobe br_netfilter
检查模块是否开启:
1
2
3
|
[root@k8s-master ansible]# lsmod | grep netfilter
br_netfilter 24576 0
bridge 200704 1 br_netfilter
|
设置开机自动加载模块脚本:
新建/etc/rc.sysinit文件:
1
2
3
4
5
|
[root@k8s-master ansible]# cat /etc/rc.sysinit
#!/bin/bash
for file in /etc/sysconfig/modules/*.modules;do
[ -x $file ] && $file
done
|
新建/etc/sysconfig/modules/br_netfilter.modules文件
1
2
3
|
[root@k8s-master ansible]# cat /etc/sysconfig/modules/br_netfilter.modules
modprobe br_netfilter
[root@k8s-master ansible]# chmod 755 /etc/sysconfig/modules/br_netfilter.modules
|
开启原因:若不开启安装docker时可能会有报错:
1
|
net.bridge.bridge-nf-call-ip6tables is disabled
|
- 修改内核参数:
1
2
3
4
5
|
cat > /etc/sysctl.d/docker.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
|
使参数生效:
1
|
sysctl -p /etc/sysctl.d/docker.conf
|
修改原因:Linux系统作为路由或者vpn服务就必须要开启ip转发功能,当linux主机有多个网卡时,一个网卡收到的信息要能够传递给其他网卡,就需要将
net.ipv4.ip\_forward
参数设置为1。不开启会导致docker部署的应用外部无法访问。
- 配置镜像加速
在/etc/docker/daemon.json文件中写入:
1
2
3
4
5
6
|
[root@k8s-master ansible]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://izv9gc19.mirror.aliyuncs.com"],
}
|
后面的地址可写多个,用逗号隔开