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等信息的变更。
配置文件/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 ntpdsystemctl enable ntpd #开机启动NTPtimedatectl set-ntp true # linux系统和ntp时钟同步
1.10 iptables的链
# 将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOFnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1EOFsysctl –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.tgzmv docker/* /usr/bin
2.2 systemd管理docker
cat > /usr/lib/systemd/system/docker.service << EOF[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network-online.target firewalld.serviceWants=network-online.target[Service]Type=notifyExecStart=/usr/bin/dockerdExecReload=/bin/kill -s HUP $MAINPIDLimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinityTimeoutStartSec=0Delegate=yesKillMode=processRestart=on-failureStartLimitBurst=3StartLimitInterval=60s[Install]WantedBy=multi-user.targetEOF
2.3 创建配置文件
mkdir /etc/dockercat > /etc/docker/daemon.json << EOF{"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],"exec-opts":["native.cgroupdriver=systemd"]}EOF
2.4 docker的/var/lib/docker目录迁移
systemctl stop docker
mkdir -p /home/dockerlib
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 dockersystemctl 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-reloadsystemctl restart dockersystemctl enable docker
2.4.3 删除 /var/lib/docker
rm -rf /var/lib/docker
2.5 启动并设置开机启动
systemctl daemon-reloadsystemctl start dockersystemctl enable docker
3 部署K8s
Linux安装Docker、K8s(kubeadm部署k8s集群)