KubeBlocks Enterprise Edition is an out-of-the-box database and middleware management platform that provides enterprise customers with a data infrastructure that can be quickly integrated. Compared with the Community version, KubeBlocks Enterprise certifies various container platforms and domestic database software, and supports more open-source engine versions. KubeBlocks Enterprise provides independent API and GUI entry for administrators, which can completely isolate the traffic between administrators and business departments. Administrators can customize fault isolation levels, resource allocation policies, default parameter templates, and component associations to help business departments efficiently complete self-service through the background.
Front-end and back-end separation is a management plane design pattern widely adopted by cloud vendors. This mode deploys database management functions (front-end) and platform management functions (back-end) into an isolated network environment to ensure that the function collection and access rights of the two are completely independent, thereby significantly improving the security and maintainability of the system.
The front desk is mainly for the business R&D team or DBA team, and provides an operation interface at the database cluster level.
For example, you can use the foreground to complete tasks such as creating, deleting, scaling, backing and restoring, monitoring alarms, and configuring parameters. The foreground is deployed in a user-accessible network environment to help them efficiently complete changes at the various database cluster level.
The backend is mainly for system administrators (sometimes referred to as the platform engineering team), providing platform layer meta information and the operation interface of various system components.
For example, you can manage database engines and versions, manage resource allocation policies, manage default parameter templates, and configure component associations through the backend. The backend is typically deployed in an office network environment that is accessible to users, reducing the danger of operations through physical isolation and approval flows.
System administrators can flexibly enable or disable the types of database engines that are available externally, so as to ensure that the service capability is always under control. For frequently used database engines, KubeBlocks Enterprise supports updated kernel minor versions with each iteration.
The business R&D team or DBA team can discover and repair security risks of existing database clusters in a timely manner to ensure the safe and stable operation of business systems.
KubeBlocks Enterprise 支持了两个层面的资源分配策略,在满足故障隔离性的条件下尽可能提高整体的资源利用率。
服务器节点层面的反亲和性设置,用于满足同一个数据库集群内不同副本需要被部署在不同节点上的要求,比如 MySQL 的主备副本需要被部署在不同的可用区或者同一个可用区的不同服务器上。
规格层面的 CPU 分配原则,用于满足各种业务级别对于数据库集群性能与成本的不同接受程度,比如开发测试环境可以使用共享型规格来降低成本,而核心生产系统可以使用独享型规格来锁定峰值性能。
不同的引擎类型、版本、规格需要使用不同的参数进行启动。系统管理员可以设置平台级别的默认参数模板,方便前台用户在创建数据库集群的时候选用。
前台用户可以创建组织级别的参数模板,用于覆盖平台级别的默认设置,以满足业务的特殊需求。除此之外,所有参数模板的变更和应用都有记录可以追踪。
一个数据库集群的正常运转依赖了大量的后台组件,包括但不限于负载均衡(HA)、块存储(数据库文件)、对象存储(指标、日志)、告警通道(报警)、鉴权接口(SSO)。
通过 KubeBlocks Enterprise 的依赖组件管理功能,系统管理员可以配置它们的关联关系,时刻关注它们的运转状态。事实上,后台组件的可用性、容量以及性能是最容易遭到忽视却又很容易造成各种问题的故障点,需要认真对待。