@二进制安装k8s
1|0
节点名称 | IP |
---|---|
k8s-master-01 | 172.16.1.71 |
k8s-master-02 | 172.16.1.72 |
k8s-master-03 | 172.16.1.73 |
k8s-node-01 | 172.16.1.74 |
k8s-node-02 | 172.16.1.75 |
# 修改IP和主机名
# 关闭防火墙和selinux
# host解析 (五台机器都要做,太长不重复复制)
[root@k8s-master-01 ~]# vim /etc/hosts
----------------------------------------------------------------------
172.16.1.71 k8s-master-01 m1
172.16.1.72 k8s-master-02 m2
172.16.1.73 k8s-master-03 m3
172.16.1.74 k8s-node-01 n1
172.16.1.75 k8s-node-02 n2
----------------------------------------------------------------------
# 关闭swap分区 (五台机器都要做,太长不重复复制)
[root@k8s-master-01 ~]# vim /etc/fstab
----------------------------------------------------------------------
# UUID=43e1bca3-991b-4cbf-bf73-e198e975f24e swap swap defaults 0 0
----------------------------------------------------------------------
# 设置忽略swap分区 (五台机器都要做,太长不重复复制)
[root@k8s-master-01 ~]# echo 'KUBELET_EXTRA_ARGS="--fail-swap-on=false"' > /etc/sysconfig/kubelet
# 关闭selinux (五台机器都要做,太长不重复复制)
[root@k8s-master-01 ~]# sed -i 's#enforcing#disabled#g' /etc/selinux/config # 永久关闭
[root@k8s-master-01 ~]# setenforce 0 # 临时关闭
# 刷新缓存 (五台机器都要做,太长不重复复制)
[root@k8s-master-01 ~]# yum makecache
# 更新系统 (五台机器都要做,太长不重复复制)
[root@k8s-master-01 ~]# yum update -y --exclud=kernel*
# 更新内核版本
[root@k8s-master-01 ~]# ll # 上传包
-r-xr-xr-x 1 root root 41857400 2021-01-18 09:20 kernel-lt-4.4.245-1.el7.elrepo.x86_64.rpm
-r-xr-xr-x 1 root root 10731836 2021-01-18 09:19 kernel-lt-devel-4.4.245-1.el7.elrepo.x86_64.rpm
# 做五台机器的免密
[root@k8s-master-01 ~]# ssh-keygen
[root@k8s-master-01 ~]# ssh-copy-id 192.168.13.71
[root@k8s-master-01 ~]# ssh-copy-id 192.168.13.72
[root@k8s-master-01 ~]# ssh-copy-id 192.168.13.73
[root@k8s-master-01 ~]# ssh-copy-id 192.168.13.74
[root@k8s-master-01 ~]# ssh-copy-id 192.168.13.75
# 把/root的文件传给另外两台机器
[root@k8s-master-01 ~]# for i in n1 n2; do scp kernel* $i:/root;done
# 安装 (五台机器都要做,太长不重复复制)
[root@k8s-master-01 ~]# yum localinstall -y kernel*
# 更新内核版本 (五台机器都要做,太长不重复复制)
[root@k8s-master-01 ~]# yum localinstall -y kernel-lt* 安装
[root@k8s-master-01 ~]# grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfg # 设置启动优先级
[root@k8s-master-01 ~]# grubby --default-kernel # 查看内核版本
# 安装ipvs (五台机器都要做,太长不重复复制)
[root@k8s-master-01 ~]# yum install -y conntrack-tools ipvsadm ipset conntrack libseccomp
# 加载IPVS模块 (五台机器都要做,太长不重复复制)
[root@k8s-master-01 ~]# 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"
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
# 测试是否成功 (五台机器都要做,太长不重复复制)
[root@k8s-master-01 ~]# chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep ip_vs
# 优化系统内核参数 (五台机器都要做,太长不重复复制)
[root@k8s-master-01 ~]# cat > /etc/sysctl.d/k8s.conf << EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
fs.may_detach_mounts = 1
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_watches=89100
fs.file-max=52706963
fs.nr_open=52706963
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp.keepaliv.probes = 3
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp.max_tw_buckets = 36000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp.max_orphans = 327680
net.ipv4.tcp_orphan_retries = 3
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.ip_conntrack_max = 65536
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.top_timestamps = 0
net.core.somaxconn =