一、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