From 380232e322aea77e77baba408cf80cee0e4e0c57 Mon Sep 17 00:00:00 2001 From: lauk001 Date: Tue, 19 Mar 2024 10:30:39 +0800 Subject: [PATCH] add housekeeper design english documentation --- docs/en/housekeeper_design.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/en/housekeeper_design.md b/docs/en/housekeeper_design.md index 6f75540..e6e9518 100644 --- a/docs/en/housekeeper_design.md +++ b/docs/en/housekeeper_design.md @@ -1,24 +1,24 @@ # Housekeeper -## 概述 +## overview -云原生领域主要采用容器技术与容器编排技术实现了业务发布、运维,与底层环境高度解耦,但同时带来运维技术栈的不统一,造成了k8s和底层操作系统分别独立管理,运维平台重复建设等问题。为了应对这些问题,NKD集成了housekeeper模块,实现了业务与NestOS云底座操作系统一致性运维,采用了容器化的方式进行运维管理。housekeeper的主要更新流程是当操作系统或k8s基础组件需要升级维护时,使用镜像构建工具重新构建新版系统镜像,并在查询到新版镜像后,向集群创建housekeeper CR资源。集群中的housekeeper服务按照配置逐次对集群节点进行升级,完成整个集群的升级工作。 +In the cloud-native domain, business deployment and operation are mainly achieved through container technology and container orchestration technology, which highly decouples them from the underlying environment. However, this also brings about the problem of inconsistent operation and maintenance (O&M) technology stacks, leading to separate management of Kubernetes (k8s) and the underlying operating system, as well as redundant construction of O&M platforms. To address these issues, NKD integrates the housekeeper module, ensuring consistency in operation and maintenance between business and the NestOS cloud base operating system. Operational management is conducted through containerization. The primary update process of housekeeper involves rebuilding the new version system image using image construction tools when the operating system or k8s basic components require upgrade and maintenance. After discovering the new version image, it creates housekeeper CR resources in the cluster. Housekeeper services in the cluster sequentially upgrade cluster nodes according to the configuration, completing the entire cluster's upgrade process. -## 自定义资源 -### Update资源 -- 权限管理:通过RBAC进行权限限制 -- CRD资源对象参数字段说明: - | 参数 |参数类型 | 参数说明 | 使用说明 | 是否必选 | +## custom resource +### Update Resources +- Authorization: Permission control through RBAC. +- Explanation of CRD Resource Object Parameters: + | Parameter | Type | Description | Usage Note | Required | | -------------- | ------ | -----------------------------------------------------------| ----- | ---------------- | - | osImageURL | string | 用于升级容器镜像的地址 | 需要为容器镜像格式 REPOSITORY/NAME[:TAG@DIGEST] | 是 | - | kubeVersion | string | 用于升级kubernetes的版本号 | 如果仅升级OS版本,此项需填空 | 否 | - | evictPodForce | bool | 强制驱逐Pod,这可能导致数据丢失或服务中断,请谨慎使用 | 默认false | 否 | - | maxUnavailable | int | 用于进行升级的最大节点数 | 同时升级的节点的最大数量 | 否 | + | osImageURL | string | Address for upgrading container images | Should be in the format REPOSITORY/NAME[:TAG@DIGEST] | Yes | + | kubeVersion | string | Version number for upgrading Kubernetes | Leave empty if only upgrading the OS version | No | + | evictPodForce | bool | Force eviction of Pods, may lead to data loss or service interruption, use with caution | Default: false | No | + | maxUnavailable | int | Maximum number of nodes for upgrade |Maximum number of nodes to be upgraded simultaneously | No | -## 架构介绍 -housekeeper的架构如图 +## Architecture Introduction +housekeeper's architecture is shown: ![housekeeper-arch](/docs/en/figures/housekeeper-arch.jpg) -如图所示housekeeper主要包含三个组件housekeeper-operator-manager、housekeeper-controller-manager、housekeeper-daemon -- housekeeper-operator-manager: 以Deployment形式运行在Master节点上,负责协调所有Machines进行升级(不负责直接更新),并标记准备升级的节点。 -- housekeeper-controller-manager:以DaemonSet形式运行在集群中的所有节点上,负责驱逐业务pod,以及转发升级信息到housekeeper-daemon。 -- housekeeper-daemon: 接收来自housekeeper-controller-manager的信息,并根据指令执行OS的原子性更新或者kubernetes版本的升级。 +As shown in the diagram, housekeeper mainly consists of three components: housekeeper-operator-manager, housekeeper-controller-manager, and housekeeper-daemon. +- housekeeper-operator-manager: Running in the form of a Deployment on the Master node, responsible for coordinating all Machines for upgrades (not directly responsible for updates) and marking nodes ready for upgrade. +- housekeeper-controller-manager:Running in the form of a DaemonSet on all nodes in the cluster, responsible for evicting business pods and forwarding upgrade information to housekeeper-daemon. +- housekeeper-daemon: Receives information from housekeeper-controller-manager and performs atomic updates of the OS or upgrades Kubernetes version according to instructions -- Gitee