节点/集群 </td>
CPU核数 </td>
内存</td>
系统盘</td>
数量</td>
</tr>
安装 |
Installer节点 |
1 |
2G |
100G |
1 |
Global集群 |
8 |
16G |
100G |
1 |
业务集群 |
Master & etcd |
4 |
8G |
100G |
1 |
Node |
8 |
16G |
100G |
3 |
</table>
* **推荐配置:**
安装/业务集群 |
节点/集群 </td>
CPU核数 </td>
内存</td>
系统盘</td>
数量</td>
</tr>
安装 |
Installer节点 |
1 |
2G |
100G |
1 |
Global集群 |
8 |
16G |
100G SSD |
3 |
业务集群 |
Master & etcd |
16 |
32G |
300G SSD |
3 |
Node |
16 |
32G |
系统盘:100G 数据盘:300G (/var/lib/docker) |
>3 |
</table>
## 软件要求
> **注意,以下要求针对所有节点。**
| 需求项 | 具体要求 | 参考 (以CentOS7.6为例) |
| ----------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 操作系统 | Ubuntu 16.04/18.04 LTS (64-bit) CentOS Linux 7.6 (64-bit) Tencent Linux 2.2 | `cat /etc/redhat-release` |
| kernel 版本 | >= Kernel 3.10.0-957.10.1.el7.x86_64 | `uname -sr` |
| ssh | 确保 Installer 节点及其容器 Global 集群节点及其容器 业务集群节点及其容器 之间能够 ssh 互联 | `确保在添加所有节点时,IP和密码输入正确` |
| swap | 关闭。如果不满足,系统会有一定几率出现 io 飙升,造成 docker 卡死。kubelet 会启动失败(可以设置 kubelet 启动参数 --fail-swap-on 为 false 关闭 swap 检查) | `swapoff -a` `sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab` |
| 防火墙 | 关闭。Kubernetes 官方要求 | `systemctl stop firewalld && systemctl disable firewalld` |
| 端口 | 所有节点防火墙必须放通放通 SSH(默认22)、80、8080、443、6443 端口 | `firewall-cmd --zone=public --add-port=80/tcp --permanent` |
| SELinux | 关闭。Kubernetes 官方要求,否则 kubelet 挂载目录时可能报错 `Permission denied` | `setenforce 0` `sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config` |
| 时区 | 所有服务器时区必须统一,建议设置为 `Asia/Shanghai` | `timedatectl set-timezone Asia/Shanghai` |
| 时间同步 | etcd 集群各机器需要时间同步,可以利用chrony 用于系统时间同步;所有服务器要求时间必须同步,误差不得超过 2 秒 | `yum install -y chronyd` `systemctl enable chronyd && systemctl start chronyd` |
| | | | | | | | | |