CentOS7 構建K8S叢集的主機統一部署
阿新 • • 發佈:2018-11-19
依據《CentOS7實驗機模板搭建部署》克隆實驗機
# 關閉Selinux/firewalld,模板機部署時已經關閉
# 關閉交換分割槽
swapoff -a
sed -i 's/^.*swap.*$/# &/g' /etc/fstab
# 設定網橋包經IPTables,core檔案生成路徑
cat >>/etc/sysctl.conf<<EOF
vm.swappiness = 0
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
modprobe br_netfilter
sysctl -p
# 同步時間,模板機部署時已經部署週期矯正
# 安裝核心元件
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum -y --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml
# 啟用最新的核心
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
grub2-set-default 0
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
uname -a
# 啟用最新的核心後,開啟IPVS
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
ipvs_modules="ip_vs ip_vs_lc ip_vs_wlc ip_vs_rr ip_vs_wrr ip_vs_lblc ip_vs_lblcr ip_vs_dh ip_vs_sh ip_vs_fo ip_vs_nq ip_vs_sed ip_vs_ftp nf_conntrack_ipv4"
for kernel_module in \${ipvs_modules}; do
/sbin/modinfo -F filename \${kernel_module} > /dev/null 2>&1
if [ $? -eq 0 ]; then
/sbin/modprobe \${kernel_module}
fi
done
EOF
chmod 755 /etc/sysconfig/modules/ipvs.modules
bash /etc/sysconfig/modules/ipvs.modules
lsmod | grep ip_vs
# Kubernetes要求叢集中所有機器具有不同的Mac地址、產品uuid、Hostname
# 如果有相同,則重新克隆,克隆時重置網絡卡
# 安裝docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
# 編輯systemctl的Docker啟動檔案
cd /usr/lib/systemd/system
sed -i "13i ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT" docker.service
# 啟動docker
systemctl daemon-reload
systemctl enable docker
systemctl start docker
# 如果擁有已經部署好SS服務的VPS,則依據《CentOS7 使用已有的SS伺服器科學上網》
[TOC]