一、Kubernetes(k8s) 服务部署方案(高可用集群)
此方案,需要:文件服务、数据库、Harbor 集群、Rancher 集群、K8s-Master 节点(同时具备 Etcd、Control、Worker 三种角色)、2n+1 个 K8s-Node 节点 (多核CPU,大内存,同时具备 Etcd、Worker 两种角色),适用于大规模生产环境!
一、资源准备
在实际的生产环境中,实施交付人员应具备初步的环境梳理和划分的能力,应根据实际环境实际调整!本文仅给出参考性的配置划分说明!
1.1、服务器
资源 | 配置 | 数量 | 说明 |
---|---|---|---|
Nginx+Keepalived | 4核8G | 1台 | 无F5硬件负载时的系统负载入口,安装 Linux 宝塔面板后安装 Nginx |
Rancher | 4核8G | 1台 | Rancher 容器管理平台,单节点一个服务足够 |
Harbor | 4核8G | 1台 | 企业级Docker镜像管理平台,使用 Codding 则不需要安装 |
K8s-Master | 8核16G | 2n+1台 | 同时具备 Etcd、Control、Worker 三种角色;微服务:服务网关、业务服务; |
K8s-Worker | 8核16G | 2n+1台 | 多核CPU,大内存,同时具备 Etcd、Worker 两种角色;微服务:服务网关、业务服务; |
文件服务器 | 4核8G | 1台 | 安装 Linux 宝塔面板后根据实际情况安装 FastDFS、Ftpd、MinIO |
数据库服务器 | 8核16G | 2台 | 安装 Linux 宝塔面板后安装 MySQL、Redis、Oracle; 1、MySQL需配置主从, 2、Oracle 需配置 RAC, 3、Redis 需配置主从 |
1.2、网络端口开放、账户申请
服务器 | 端口 | 说明 |
---|---|---|
Nginx+Keepalived | 80(81)、8888 | 1、80端口用于对外提供公网映射,如果学校不能开放80,则要求开放81 2、8888端口为Linux宝塔面板管理端口,在项目部署实施期间,该端口需要开放对外映射 |
Rancher | 80,443 | 开放80和443端口,如无内网限制,则可忽略 |
Harbor | 80,443 | 开放80和443端口,如无内网限制,则可忽略 |
K8s-Master | 30000-32767 | 开放30000到32767的端口,如无内网限制,则可忽略 |
K8s-Worker(2n+1) | 30000-32767 | 开放30000到32767的端口,如无内网限制,则可忽略 |
数据库服务器 | 1521、3306、6379、8888 | 1、开放 MySQL、Redis、Oracle 端口,如无内网限制,则可忽略 2、8888端口为Linux宝塔面板管理端口,在项目部署实施期间,该端口需要开放 |
文件服务器 | 80(81)、8888 | 1、80端口用于对外提供公网映射,如果学校不能开放80,则要求开放81 2、8888端口为Linux宝塔面板管理端口,在项目部署实施期间,该端口需要开放,甚至对外映射 |
1.3、账户申请 (部分需要对接或集成项目应提前准备好相关资料)
账户类型 | 说明 |
---|---|
微信小程序 | 如交付的系统基于微信小程序,则需要甲方提前申请微信小程序账户,并提供Appid、Secret |
微信公共号 | 如我方给学校交付的系统是依赖微信公告号,则需要提供Appid、Secret |
门户对接 | 提供门户单点的地址、账户、密码 |
微校对接 | 提供微校单点的地址、账户、密码、Appid、Secret |
易班对接 | 提供易班单点的地址、账户、密码、Appid、Secret |
二、配置要求
2.1、Nginx+Keepalived 负载均衡(如果有硬件负载,则不需要)
最低要求 | |
---|---|
CPU | 4核心,支持 64 位的 Intel® 或 AMD 处理器*;2 GHz 或速度更快的处理器 |
内存 | 8 GB 或更大 RAM(请根据实际情况进行扩充) |
硬盘 | 需要 50GB 以上的可用磁盘空间(生产环境需要至少 50GB 以上的可用磁盘空间) |
操作系统 | CentOS 7 或更高版本 |
2.2、Rancher 容器管理平台
最低要求 | |
---|---|
CPU | 4核心,支持 64 位的 Intel® 或 AMD 处理器*;2 GHz 或速度更快的处理器 |
内存 | 8 GB 或更大 RAM(请根据实际情况进行扩充) |
硬盘 | 需要 50GB 以上的可用磁盘空间(生产环境需要至少 80GB 以上的可用磁盘空间) |
操作系统 | CentOS 7 或更高版本 |
2.3、Harbor 镜像管理平台(用Coding平台则不需要)
最低要求 | |
---|---|
CPU | 4核心,支持 64 位的 Intel® 或 AMD 处理器*;2 GHz 或速度更快的处理器 |
内存 | 8 GB 或更大 RAM(请根据实际情况进行扩充) |
硬盘 | 需要 50GB 以上的可用磁盘空间(生产环境需要至少 500GB 以上的可用磁盘空间) |
操作系统 | CentOS 7 或更高版本 |
2.4、K8s-Master 节点 (同时具备 Etcd、Control、Worker 三种角色)x (2n+1)
最低要求 | |
---|---|
CPU | 8核心,支持 64 位的 Intel® 或 AMD 处理器*;2 GHz 或速度更快的处理器 |
内存 | 16 GB 或更大 RAM(请根据实际情况进行扩充) |
硬盘 | 需要 100GB 以上的可用磁盘空间(生产环境需要至少 500GB 以上的可用磁盘空间) |
操作系统 | CentOS 7 或更高版本 |
2.5、k8s-Worker 工作节点 (多核CPU,大内存,同时具备 Etcd、Worker 两种角色)x (2n+1)
最低要求 | |
---|---|
CPU | 8核心,支持 64 位的 Intel® 或 AMD 处理器*;2 GHz 或速度更快的处理器 |
内存 | 16 GB 或更大 RAM(请根据实际情况进行扩充) |
硬盘 | 需要 100GB 以上的可用磁盘空间(生产环境需要至少 500GB 以上的可用磁盘空间) |
操作系统 | CentOS 7 或更高版本 |
2.6、文件服务器(Linux 宝塔面板、FastDFS、Ftpd、MinIO)
最低要求 | |
---|---|
CPU | 4核心,支持 64 位的 Intel® 或 AMD 处理器*;2 GHz 或速度更快的处理器 |
内存 | 8 GB 或更大 RAM(请根据实际情况进行扩充) |
硬盘 | 需要 50GB 以上的可用磁盘空间(生产环境需要至少 500GB 以上的可用磁盘空间) |
操作系统 | CentOS 7 或更高版本 |
2.7、数据库服务器(Linux 宝塔面板、MySQL、Redis、Oracle) x 2
最低要求 | |
---|---|
CPU | 8核心,支持 64 位的 Intel® 或 AMD 处理器*;2 GHz 或速度更快的处理器 |
内存 | 16 GB 或更大 RAM(请根据实际情况进行扩充) |
硬盘 | 需要 50GB 以上的可用磁盘空间(生产环境需要至少 500GB 以上的可用磁盘空间) |
操作系统 | CentOS 7 或更高版本 |
环境要求
- Docker-CE : v18.09 +
- Rancher : v2 +
- K8s节点 :2n+1 (n>1)
作者:Jeebiz 创建时间:2020-06-25 09:54
更新时间:2024-08-02 14:28
更新时间:2024-08-02 14:28