- 云原生Kubernetes全栈架构师实战
- 杜宽
- 620字
- 2023-09-15 17:43:44
2.1 基本环境配置
读者需自行准备5台具有2核CPU和4GB以上内存的服务器,系统为CentOS 7.x。如果没有这么多的机器,可以只安装3台Master或者一台Master、两台Node。
集群采用的服务器IP规划如表2.1所示。
表2.1 高可用Kubernetes集群规划
Kubernetes一共涉及三个网段,一个是宿主机的网段,也就是上述的10.0.0.x,同时需要Pod和Service的网段,三者的网段不可交叉。
安装配置信息如表2.2所示。
表2.2 安装配置信息
注意
宿主机网段、K8s Service网段、Pod网段不能重复。
所有节点配置主机名(其他节点名称自行更改):
# hostnamectl set-hostname k8s-master01
所有节点配置hosts,修改/etc/hosts如下:
# cat /etc/hosts 10.0.0.201 k8s-master01 10.0.0.202 k8s-master02 10.0.0.203 k8s-master03 10.0.0.204 k8s-node01 10.0.0.205 k8s-node02
所有节点配置Docker和默认yum源:
所有节点安装一些常用的工具:
# yum install wget jq psmisc vim net-tools telnet git -y
所有节点关闭防火墙、SELinux、DNSmasq:
# systemctl disable --now firewalld # systemctl disable --now dnsmasq # systemctl disable --now NetworkManager # setenforce 0 # sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux # sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
所有节点关闭Swap分区:
# swapoff -a && sysctl -w vm.swappiness=0 # sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab
所有节点安装ntpdate(如果公司的服务器已经配置了自动同步时间,关于时间的配置可以不用操作):
# rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm # yum install ntpdate -y
所有节点同步时间:
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # echo 'Asia/Shanghai' >/etc/timezone # ntpdate time2.aliyun.com # 加入到crontab # */5 * * * * /usr/sbin/ntpdate time2.aliyun.com
所有节点配置limit:
# ulimit -SHn 65535 # vim /etc/security/limits.conf # 末尾添加如下内容 * soft nofile 65536 * hard nofile 131072 * soft nproc 65535 * hard nproc 655350 * soft memlock unlimited * hard memlock unlimited
安装过程中,生成配置文件和证书均在Master01上操作,所以Master01节点需要免密钥登录其他节点,之后将文件传送到其他节点。
集群管理也在Master01上操作(也可以是其他单独的节点)。配置密钥(只在Master01或管理节点操作,以下步骤将管理节点和Master01统称为Master01):
Master01下载安装所有的源码文件:
# cd /root/ ; git clone https://gitee.com/dukuan/k8s-ha-install.git
所有节点升级系统并重启:
# yum update -y && reboot