k8s高可用集羣搭建-前置條件2

上文講述了機器及基本配置, 本文講述機器的初始化。 整體步驟於網絡整理, 並於多次搭建成功後整理腳本, 博文中均爲拆解腳本。

1.初始機器安裝必要軟件

echo "------------------------------ 安裝必要軟件 install ------------------------------"
yum install -y wget vim net-tools epel-release

2. 關閉防火牆

echo "------------------------------ 關閉防火牆 stop frewalld ------------------------------"
systemctl disable firewalld
systemctl stop firewalld

3. 關閉selinux

echo "------------------------------ 關閉selinux ------------------------------"
setenforce 0
sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

4. 禁用交換分區

echo "------------------------------ 禁用交換分區 ------------------------------"
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
echo "vm.swappiness = 0">> /etc/sysctl.conf

sysctl -p

5. 禁用ipv6,配置內核參數,將橋接的IPv4流量傳遞到iptables的鏈

cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward=1
EOF

sysctl --system
sysctl -p /etc/sysctl.d/k8s.conf
modprobe br_netfilter

6. 加載模塊

cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF

7. 修改權限

echo "-----------------------  修改權限-------------------------------"
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

8. 查看是否已經正確加載所需的內核模塊

echo "-----------------------  查看是否已經正確加載所需的內核模塊 -------------------------------"
lsmod | grep -e ip_vs -e nf_conntrack_ipv4
yum install ipset ipvsadm -y

9. 配置國內yum源

yum install -y wget
rm -rf  /etc/yum.repos.d/bak
mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
yum clean all && yum makecache && yum update -y && yum install vim tree -y

  1. 安裝docker
    registry-mirrors 鏡像地址, 可自行於阿里註冊使用docker鏡像加速
    exec-opts: native.cgroupdriver=cgroupfs/systemd
    作者前幾次安裝均爲systemd 後續出現K8Smaster啓動失敗問題, 查證問題後修改爲cgroupfs。
    並於後續新創建虛擬機搭建使用cgroupfs無錯誤。 集羣搭建中遇到問題較多, 請具體問題具體分析並查證
echo "-----------------------安裝docker-------------------------------"
sudo mkdir -p /etc/docker

cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://n37ptxkx.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=cgroupfs"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "data-root": "/docker/"
}
EOF

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install -y docker-ce

systemctl enable docker
systemctl start docker

11. 設置iptables模式

echo "- 設置iptables模式 ------------"
iptables -P FORWARD ACCEPT

12. 同步時間

同步時間, 如果有內部自己的時間服務請用自己時間服務

echo "- 自己開發, 時間同步外部網絡時間 ------------"
yum install ntpdate -y
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate ntp1.aliyun.com 

13. 機器基本初始化結束

1) 請查看docker是否正常啓動

systemctl status docker

2)查看時間是否一致, 時間問題很重要。 時間不一致會出現node節點向master註冊的時候報token失效問題, 有時也會影響etcd集羣問題

date
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章