外观
环境要求
本节介绍安装活字格集群之前的初始环境准备工作。
前提条件
您需要准备 至少 2 台 Linux 服务器作为集群节点。
请将准备的所有节点归属在同一子网下,确保互相之间可以正常通信并可以通过
SSH
服务进行登录。集群节点的操作系统和版本请保持一致
操作系统建议
操作系统请遵照活字格的推荐操作系统进行安装:
- Ubuntu 16.04 / 18.04 / 22.04 / 24.04
- RedHat 7.6
- CentOS 7
- 中标麒麟 v7 update6
- 银河麒麟 v10 SP2 / SP3
以上系统均为 64 位。x86 和 arm 架构均可。
请确保在所有集群节点上都可以使用
sudo
、curl
和openssl
命令。
防火墙规则
如果您的基础设施环境已启用防火墙,您需要在防火墙设置中放行所需的端口和协议。如果您的基础设施环境未启用防火墙,您可以跳过此步骤。
服务 | 协议 | 起始端口 | 结束端口 | 备注 |
---|---|---|---|---|
ssh | TCP | 22 | ||
etcd | TCP | 2379 | 2380 | Kubernetes 所需端口 |
apiserver | TCP | 6443 | Kubernetes 所需端口 | |
calico | TCP | 9099 | 9100 | CNI 所需端口 |
bgp | TCP | 179 | ||
nodeport | TCP | 30000 | 32767 | Kubernetes 所需端口 |
master | TCP | 10250 | 10258 | Kubernetes 所需端口 |
dns | TCP | 53 | ||
dns | UDP | 53 | ||
metrics-server | TCP | 8443 | 集群监控所需端口 | |
forguncy-server | TCP | 22345 | 活字格集群所需端口 |
此外,在离线安装环境下,您还需关注如下服务端口:
- 私有化镜像仓库的端口;
- 内网的私有化包管理仓库端口;
- ElasticSearch 与可视化界面 kibana 的端口。
建议
集群安装过程较为复杂且依赖服务较多,建议关闭防火墙进行安装是更好的选择。安装完成后,再依次配置防火墙策略。
高可用性
Kubernetes
在生产环境中,为确保集群基础平台 Kubernetes 具备高可用性,建议准备 至少 5 台 Linux 服务器,其中 3 台作为控制平面节点,另外 2 台作为工作节点。
控制平面(Control Plane)是 Kubernetes 的核心组件,包括
etcd
、kube-apiserver
、kube-scheduler
和kube-controller-manager
等。为了确保高可用,控制平面需要冗余部署。数据平面(Data Plane)是运行实际工作负载的节点,也称为工作节点。活字格的服务最终会运行在工作节点上。因此,为了高可用,推荐 至少 2 个工作节点,这样即便一个节点故障,活字格的 Pod 服务也可以在另一个节点上恢复运行。
节点数量说明
对于控制平台来说,尽管 至少 2 个节点 就能够实现冗余,但推荐 3 个节点与 etcd
保持一致。作为 Kubernetes 的状态数据存储组件,etcd
在集群中至少需要 3 个节点,才能通过分布式一致性算法(Raft)进行选举,从而实现高可用。奇数节点能够确保单点故障下保持可用。
计算与存储资源
在生产环境中,为确保集群具有足够的计算和存储资源,建议每台集群节点配置 至少 8 个 CPU 核心、16 GB 内存和 200 GB 磁盘空间。除此之外,建议在每台集群节点的容器运行时目录额外挂载至少 200 GB 磁盘空间用于存储容器运行时数据。
在生产环境中,为确保活字格集群服务之间的数据同步,请额外提供一台文件共享服务器,共享目录需挂载 至少 2T 磁盘空间用于共享活字格服务在运行期间生成的文件与附件存储。
日志监控
在生产环境中,为确保集群的日志监控模块高可用,请额外提供 ElasticSerach 集群,用来负责日志和监控数据的采集与分析工作。
ElasticSerach 在设计上,默认会为每个索引提供副本,为确保高可用,推荐 至少 2 个节点 实现索引的自动备份。
对于活字格集群来说,ElasticSearch 的并发比较稳定,如果对于高可用要求不高,单节点的 ElasticSearch 也可以满足大多数的应用场景。
推荐环境预览
普通集群
模块名称 | 推荐/可选 | 节点数量 | 配置 |
---|---|---|---|
Kubernetes 集群 | 推荐 | 2 | 8 个 CPU 核心、16 GB 内存和 200G 以上的磁盘空间 |
文件共享服务 | 推荐 | 1 | 8 个 CPU 核心、16 GB 内存和 2T 以上的磁盘空间 |
ElasticSearch 服务 | 可选 | 1 | 8 个 CPU 核心、16 GB 内存和 200G 以上的磁盘空间 |
高可用集群
模块名称 | 推荐/可选 | 节点数量 | 配置 |
---|---|---|---|
Kubernetes 集群 | 推荐 | 5 | 8 个 CPU 核心、16 GB 内存和 200G 以上的磁盘空间 |
文件共享服务 | 推荐 | 1 | 8 个 CPU 核心、16 GB 内存和 2T 以上的磁盘空间 |
ElasticSearch 服务 | 推荐 | 2 | 8 个 CPU 核心、16 GB 内存和 200G 以上的磁盘空间 |