1. 環(huá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 |
內存 |
1G |
|
|
硬盤 |
20G |
|
|
CPU |
2core |
node02 |
192.168.xxx.xxx |
內存 |
1G |
|
|
硬盤 |
20G |
1.2 地址改為靜態(tài)IP地址
將準備的虛擬地址改為如上的靜態(tài)IP,方便后續(xù)遷移不會導致IP等信息的變更。
- 首先通過ip a 查看ip地址
- 修改配置文件
配置文件/etc/sysconfig.NETwork-scripts/ifcfg-ens33中,配置的IP地址是dhcp是動態(tài)地址,只要改成static,設置一個固定的ip。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改內容主要是將原來的dhcp改為static、IPaddr改為自己規(guī)劃的環(huán)境地址、DNS1和GATEWAY也需要同步修改為自己的路由地址。
1.3 重啟
重啟操作系統(tǒng):reboot
重啟網(wǎng)網(wǎng)卡:service network restart
1.4 hostname設置
# 根據(jù)規(guī)劃設置主機名
hostnamectl set-hostname <hostname>
1.5 hosts設置
在master節(jié)點修改/etc/hosts,設置hosts。hosts的內容應該包含集群內的所有機器幾點信息。如:
然后將此文件從master節(jié)點scp在集群內的其他節(jié)點。
1.6 關閉防火墻
# 關閉防火墻
systemctl stop firewalld
# 關閉防火墻開機啟動
systemctl disable firewalld
1.7 關閉selinux
臨時關閉:輸入命令setenforce 0。但重啟系統(tǒng)后還是會開啟。
永久關閉:輸入命令vi /etc/selinux/config,將SELINUX=enforcing改為SELINUX=disabled,然后保存退出。
1.8 關閉swap
# 臨時
swapoff -a
# 永久
sed -ri 's/.*swap.*/#&/' /etc/fstab
1.9 同步時間
其中Local time:當?shù)貢r間;Universal time:國際協(xié)調時間;RTC time:硬件時間。
- 修改時區(qū)為北京時間
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系統(tǒng)和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 創(chuàng)建配置文件
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
- 創(chuàng)建新的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