Linux安装DockerK8s(环境准备和Docker安装)
1. 环境准备
1.1 在Windows上使用VMware规划三Linux系统,且能互相通信。推荐配置如下:
CPU
2core
master
192.168.xxx.xxx
内存
2G
硬盘
20G
CPU
2core
node01
192.168.xxx.xxx
内存
1G
硬盘
20G
CPU
2core
node02
192.168.xxx.xxx
内存
1G
硬盘
20G
1.2 地址改为静态IP地址
将准备的虚拟地址改为如上的静态IP,方便后续迁移不会导致IP等信息的变更。首先通过ip a 查看ip地址修改配置文件
配置文件/etc/sysconfig/network-scripts/ifcfg-ens33中,配置的IP地址是dhcp是动态地址,只要改成static,设置一个固定的ip。vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改内容主要是将原来的dhcp改为static、IPaddr改为自己规划的环境地址、DNS1和GATEWAY也需要同步修改为自己的路由地址。
1.3 重启重启操作系统:reboot重启网网卡:service network restart
1.4 hostname设置
# 根据规划设置主机名hostnamectl set-hostname
1.5 hosts设置
在master节点修改/etc/hosts,设置hosts。hosts的内容应该包含集群内的所有机器几点信息。如:
然后将此文件从master节点scp在集群内的其他节点。
1.6 关闭防火墙
# 关闭防火墙 systemctl stop firewalld
# 关闭防火墙开机启动 systemctl disable firewalld
1.7 关闭selinux
临时关闭:输入命令setenforce 0。但重启系统后还是会开启的。
永久关闭:输入命令vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后保存退出。
1.8 关闭swap
# 临时 swapoff -a
# 永久 sed -ri "s/.*swap.*/#&/" /etc/fstab
1.9 同步时间
其中Local time:当地时间;Universal time:国际协调时间;RTC time:硬件时间。修改时区为北京时间timedatectl set-timezone Asia/Shanghai安装NTP服务yum install -y ntp
修改ntp配置vi /etc/sysconfig/ntpd
启动ntp服务systemctl restart ntpd systemctl enable ntpd #开机启动NTP timedatectl set-ntp true # linux系统和ntp时钟同步
1.10 iptables的链
# 将桥接的IPv4流量传递到iptables的链 cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system # 生效
2 安装docker
下载地址:https://download.docker.com/linux/static/stable/x86_64/docker-20.10.7.tgz。
2.1 解压二进制包 tar zxvf docker-20.10.7.tgz mv docker/* /usr/bin
2.2 systemd管理docker cat > /usr/lib/systemd/system/docker.service << EOF [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity TimeoutStartSec=0 Delegate=yes KillMode=process Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target EOF
2.3 创建配置文件 mkdir /etc/docker cat > /etc/docker/daemon.json << EOF { "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"], "exec-opts":["native.cgroupdriver=systemd"] } EOF
2.4 docker的/var/lib/docker目录迁移停止docker服务 systemctl stop docker创建新的docker目录 mkdir -p /home/dockerlib迁移/var/lib/docker rsync -avz /var/lib/docker /home/dockerlib
2.4.1 修改配置路径 方法1:通过建立软连接,把/var/lib/docker 移动到其他地方,建立到这里的软连接ln -s /home/dockerlib /var/lib/docker 方法2:修改默认配置文件/etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"graph":"/home/docker/lib"
} 方法3:修改docker的systemd的 docker.service的配置文件不知道 配置文件在哪里可以使用systemd 命令显示一下.systemctl disable docker
systemctl enable docker
#显示结果Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
打开 docker.service文件.vim /usr/lib/systemd/system/docker.service
在里面的EXECStart的后面增加后如下ExecStart=/usr/bin/dockerd --graph /home/docker/lib 方法:4:fstab挂载vim /etc/fstab
最后一行添加
/home/docker/lib /var/lib/docker none bind 0 0
2.4.2 重新加载 docker systemctl restart docker systemctl daemon-reload systemctl restart docker systemctl enable docker
2.4.3 删除 /var/lib/docker rm -rf /var/lib/docker
2.5 启动并设置开机启动 systemctl daemon-reload systemctl start docker systemctl enable docker
3 部署K8s
Linux安装Docker、K8s(kubeadm部署k8s集群)