1. 環(huán)境準(zhǔn)備
1.1 在Windows上使用VMware規(guī)劃三Linux系統(tǒng),且能互相通信。推薦配置如下:
CPU | 2core | ||
master | 192.168.xxx.xxx | 2G | |
20G | |||
CPU | 2core | ||
node01 | 192.168.xxx.xxx | 內(nèi)存 | 1G |
硬盤 | 20G | ||
CPU | 2core | ||
node02 | 192.168.xxx.xxx | 內(nèi)存 | 1G |
硬盤 | 20G |
1.2 地址改為靜態(tài)IP地址
將準(zhǔn)備的虛擬地址改為如上的靜態(tài)IP,方便后續(xù)遷移不會(huì)導(dǎo)致IP等信息的變更。
配置文件/etc/sysconfig/network-scripts/ifcfg-ens33中,配置的IP地址是dhcp是動(dòng)態(tài)地址,只要改成static,設(shè)置一個(gè)固定的ip。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改內(nèi)容主要是將原來(lái)的dhcp改為static、IPaddr改為自己規(guī)劃的環(huán)境地址、DNS1和GATEWAY也需要同步修改為自己的路由地址。
1.3 重啟
重啟操作系統(tǒng):reboot重啟網(wǎng)網(wǎng)卡:service network restart
1.4 hostname設(shè)置
# 根據(jù)規(guī)劃設(shè)置主機(jī)名
hostnamectl set-hostname
1.5 hosts設(shè)置
在master節(jié)點(diǎn)修改/etc/hosts,設(shè)置hosts。hosts的內(nèi)容應(yīng)該包含集群內(nèi)的所有機(jī)器幾點(diǎn)信息。如:
然后將此文件從master節(jié)點(diǎn)scp在集群內(nèi)的其他節(jié)點(diǎn)。
1.6 關(guān)閉防火墻
# 關(guān)閉防火墻
systemctl stop firewalld
# 關(guān)閉防火墻開(kāi)機(jī)啟動(dòng)
systemctl disable firewalld
1.7 關(guān)閉selinux
臨時(shí)關(guān)閉:輸入命令setenforce 0。但重啟系統(tǒng)后還是會(huì)開(kāi)啟的。
永久關(guān)閉:輸入命令vi /etc/selinux/config,將SELINUX=enforcing改為SELINUX=disabled,然后保存退出。
1.8 關(guān)閉swap
# 臨時(shí)
swapoff -a
# 永久
sed -ri ‘s/.*swap.*/#&/’ /etc/fstab
1.9 同步時(shí)間
其中Local time:當(dāng)?shù)貢r(shí)間;Universal time:國(guó)際協(xié)調(diào)時(shí)間;RTC time:硬件時(shí)間。
- 修改時(shí)區(qū)為北京時(shí)間
timedatectl set-timezone Asia/Shanghai
- 安裝NTP服務(wù)
yum install -y ntp
修改ntp配置vi /etc/sysconfig/ntpd
- 啟動(dòng)ntp服務(wù)
systemctl restart ntpdsystemctl enable ntpd #開(kāi)機(jī)啟動(dòng)NTPtimedatectl set-ntp true # linux系統(tǒng)和ntp時(shí)鐘同步
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 解壓二進(jìn)制包
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 創(chuàng)建配置文件
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:通過(guò)建立軟連接,把/var/lib/docker 移動(dòng)到其他地方,建立到這里的軟連接ln -s /home/dockerlib /var/lib/docker
- 方法2:修改默認(rèn)配置文件/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#顯示結(jié)果Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.打開(kāi) 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 啟動(dòng)并設(shè)置開(kāi)機(jī)啟動(dòng)
systemctl daemon-reloadsystemctl start dockersystemctl enable docker
3 部署K8s
Linux安裝Docker、K8s(kubeadm部署k8s集群)