.sslip.io`,你应该会看到 Rancher UI。
+
+为了简化说明,我们使用了一个假域名和自签名证书来进行安装。因此,你可能需要在 Web 浏览器中添加一个安全例外来查看 Rancher UI。请注意,对于生产安装,你需要具有负载均衡器、真实域名和真实证书的高可用性设置。
+
+这些说明还省略了完整的安装要求和其他安装选项。如果你对这些步骤有任何疑问,请参阅完整的 [Helm CLI 安装文档](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md)。
+
+要使用新的 Rancher Server 来启动新的 Kubernetes 集群,你可能需要在 Rancher 中设置云凭证。有关更多信息,请参阅[使用 Rancher 启动 Kubernetes 集群](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-rancher-manager/hetzner-cloud.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-rancher-manager/hetzner-cloud.md
new file mode 100644
index 00000000000..585353441b2
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-rancher-manager/hetzner-cloud.md
@@ -0,0 +1,76 @@
+---
+title: Rancher Hetzner Cloud 快速入门指南
+description: 阅读此分步 Rancher Hetzner Cloud 指南,以快速部署带有单节点下游 Kubernetes 集群的 Rancher Server。
+---
+
+你可以参考以下步骤,在 Hetzner Cloud 的单节点 K3s Kubernetes 集群中快速部署 Rancher Server,并附加一个单节点下游 Kubernetes 集群。
+
+:::caution
+
+本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../../pages-for-subheaders/installation-and-upgrade.md)。
+
+:::
+
+## 先决条件
+
+:::caution
+
+部署到 Hetzner Cloud 会产生费用。
+
+:::
+
+- [Hetzner Cloud 账号](https://www.hetzner.com):用于运行服务器和集群。
+- [Hetzner API 访问密钥](https://docs.hetzner.cloud/#getting-started):如果你没有的话,请参考说明创建一个。
+- [Terraform](https://www.terraform.io/downloads.html):用于在 Hetzner 中配置服务器和集群。
+
+
+## 开始使用
+
+1. 使用命令行工具,执行 `git clone https://github.com/rancher/quickstart` 把 [Rancher Quickstart](https://github.com/rancher/quickstart) 克隆到本地。
+
+2. 执行 `cd quickstart/rancher/hcloud` 命令,进入包含 Terraform 文件的 Hetzner 文件夹。
+
+3. 把 `terraform.tfvars.example` 文件重命名为 `terraform.tfvars`。
+
+4. 编辑 `terraform.tfvars` 文件,并替换以下变量:
+ - `hcloud_token` - 替换为 Hetzner API 访问密钥。
+ - `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码(最少 12 字符)
+
+5. **可选**:修改 `terraform.tfvars` 中的可选参数。
+ 参见 [Quickstart Readme](https://github.com/rancher/quickstart) 以及 [Hetzner Quickstart Readme](https://github.com/rancher/quickstart/tree/master/rancher/hcloud) 了解更多信息。
+ 建议包括:
+
+ - `prefix` - 所有创建资源的前缀
+ - `instance_type` - 实例类型,至少需要是 `cx21`。
+ - `hcloud_location`- Hetzner Cloud 位置。选择最近的位置,而不是使用默认位置(`fsn1`)。
+
+6. 执行 `terraform init`。
+
+7. 执行 `terraform apply --auto-approve` 以初始化环境。然后,等待命令行工具返回以下信息:
+
+ ```
+ Apply complete! Resources: 15 added, 0 changed, 0 destroyed.
+
+ Outputs:
+
+ rancher_node_ip = xx.xx.xx.xx
+ rancher_server_url = https://rancher.xx.xx.xx.xx.sslip.io
+ workload_node_ip = yy.yy.yy.yy
+ ```
+
+8. 将以上输出中的 `rancher_server_url` 粘贴到浏览器中。在登录页面中登录(默认用户名为 `admin`,密码为在 `rancher_server_admin_password` 中设置的密码)。
+9. 使用 `quickstart/rancher/hcloud` 中生成的 `id_rsa` 密钥 SSH 到 Rancher Server。
+
+#### 结果
+
+两个 Kubernetes 集群已部署到你的 Hetzner 账户中,一个运行 Rancher Server,另一个为实验部署做好准备。请注意,虽然这种设置是探索 Rancher 功能的好方法,但在生产环境中,应遵循我们的高可用设置指南。用于虚拟机的 SSH 密钥是自动生成的,存储在模块目录中。
+
+### 后续操作
+
+使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../../../pages-for-subheaders/deploy-rancher-workloads.md)。
+
+## 销毁环境
+
+1. 进入 `quickstart/rancher/hcloud` 文件夹,然后执行 `terraform destroy --auto-approve`。
+
+2. 等待命令行界面显示资源已删除的消息。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-rancher-manager/outscale-qs.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-rancher-manager/outscale-qs.md
new file mode 100644
index 00000000000..46b42901db9
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-rancher-manager/outscale-qs.md
@@ -0,0 +1,76 @@
+---
+title: Rancher Outscale 快速入门指南
+description: 阅读此分步 Rancher Outscale 指南,以快速部署带有单节点下游 Kubernetes 集群的 Rancher Server。
+---
+
+你可以参考以下步骤,在 Outscale 的单节点 K3s Kubernetes 集群中快速部署 Rancher Server,并附加一个单节点下游 Kubernetes 集群。
+
+:::note
+
+本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../../pages-for-subheaders/installation-and-upgrade.md)。
+
+:::
+
+## 先决条件
+
+:::caution
+
+部署到 Outscale 会产生费用。
+
+:::
+
+- [Outscale 账号](https://en.outscale.com/):用于运行服务器和集群。
+- [Outscale 访问密钥](https://docs.outscale.com/en/userguide/About-Access-Keys.html):如果你没有的话,请按照说明创建一个 Outscale 访问密钥。
+- [Terraform](https://www.terraform.io/downloads.html):用于在 Outscale 中配置服务器和集群。
+
+
+## 开始使用
+
+1. 使用命令行工具,执行 `git clone https://github.com/rancher/quickstart` 把 [Rancher Quickstart](https://github.com/rancher/quickstart) 克隆到本地。
+
+2. 执行 `cd quickstart/rancher/outscale` 命令,进入包含 Terraform 文件的 Outscale 文件夹。
+
+3. 把 `terraform.tfvars.example` 文件重命名为 `terraform.tfvars`。
+
+4. 编辑 `terraform.tfvars` 文件,并替换以下变量:
+ - `access_key_id` - 替换为 Outscale 访问密钥
+ - `secret_key_id` - 替换为 Outscale 密文密钥
+ - `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码(最少 12 字符)
+
+5. **可选**:修改 `terraform.tfvars` 中的可选参数。
+ 参见 [Quickstart Readme](https://github.com/rancher/quickstart) 以及 [Outscale Quickstart Readme](https://github.com/rancher/quickstart/tree/master/rancher/outscale) 了解更多信息。
+ 建议包括:
+ - `region` - Outscale 区域。Outscale 的默认区域不一定是距离你最近的区域。建议修改为距离你最近的区域(`eu-west-2`)。
+ - `prefix` - 所有创建资源的前缀
+ - `instance_type` - 实例类型,至少需要是 `tinav3.c2r4p3`。
+
+6. 执行 `terraform init`。
+
+7. 执行 `terraform apply --auto-approve` 以初始化环境。然后,等待命令行工具返回以下信息:
+
+ ```
+ Apply complete! Resources: 21 added, 0 changed, 0 destroyed.
+
+ Outputs:
+
+ rancher_node_ip = xx.xx.xx.xx
+ rancher_server_url = https://rancher.xx.xx.xx.xx.sslip.io
+ workload_node_ip = yy.yy.yy.yy
+ ```
+
+8. 将以上输出中的 `rancher_server_url` 粘贴到浏览器中。在登录页面中登录(默认用户名为 `admin`,密码为在 `rancher_server_admin_password` 中设置的密码)。
+9. 使用 `quickstart/rancher/outscale` 中生成的 `id_rsa` 密钥 SSH 到 Rancher Server。
+
+#### 结果
+
+两个 Kubernetes 集群已部署到你的 Outscale 账户中,一个运行 Rancher Server,另一个为实验部署做好准备。请注意,虽然这种设置是探索 Rancher 功能的好方法,但在生产环境中,应遵循我们的高可用设置指南。用于虚拟机的 SSH 密钥是自动生成的,存储在模块目录中。
+
+### 后续操作
+
+使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../../../pages-for-subheaders/deploy-rancher-workloads.md)。
+
+## 销毁环境
+
+1. 进入 `quickstart/rancher/outscale` 文件夹,然后执行 `terraform destroy --auto-approve`。
+
+2. 等待命令行界面显示资源已删除的消息。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-rancher-manager/prime.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-rancher-manager/prime.md
new file mode 100644
index 00000000000..094508ff5a6
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-rancher-manager/prime.md
@@ -0,0 +1,7 @@
+---
+title: Rancher Prime
+---
+
+Rancher 在 v2.7 中引入了 Rancher Prime,这是 Rancher 企业级产品的进化。Rancher Prime 是基于相同源代码构建的商业化、企业级的新版本。因此,Rancher 的产品将继续保持 100% 开源,并通过安全、延长生命周期、访问重点架构和 Kubernetes 公告体现额外价值。Rancher Prime 还将提供选项,让用户获得创新 Rancher 项目的生产支持。使用 Rancher Prime,安装 asset 会托管在由 Rancher 持有和管理的可信镜像仓库中。
+
+要开始使用 Rancher Prime,请[转到此页面](https://www.rancher.com/quick-start)并填写表格。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-rancher-manager/vagrant.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-rancher-manager/vagrant.md
new file mode 100644
index 00000000000..dcddb74cfe9
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-rancher-manager/vagrant.md
@@ -0,0 +1,51 @@
+---
+title: Vagrant 快速入门
+---
+
+你可以参考以下步骤快速部署 Rancher Server,并附加一个单节点集群。
+
+:::caution
+
+本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../../pages-for-subheaders/installation-and-upgrade.md)。
+
+:::
+
+## 先决条件
+
+- [Vagrant](https://www.vagrantup.com):Vagrant 是必需的,用于根据 Vagrantfile 配置主机。
+- [Virtualbox](https://www.virtualbox.org):需要把 Vagrant 配置的虚拟机配置到 VirtualBox。
+- 至少 4GB 的可用内存。
+
+### 注意
+- Vagrant 需要使用插件来创建 VirtualBox 虚拟机。请执行以下命令进行安装:
+
+ `vagrant plugin install vagrant-vboxmanage`
+
+ `vagrant plugin install vagrant-vbguest`
+
+## 开始使用
+
+1. 使用命令行工具,执行 `git clone https://github.com/rancher/quickstart` 把 [Rancher Quickstart](https://github.com/rancher/quickstart) 克隆到本地。
+
+2. 执行 `cd quickstart/rancher/vagrant` 命令,进入包含 Vagrantfile 文件的文件夹。
+
+3. **可选**:编辑 `config.yaml` 文件:
+
+ - 根据需要更改节点数和内存分配(`node.count`, `node.cpus`, `node.memory`)
+ - 更改 `admin` 的密码以登录 Rancher。(`admin_password`)
+
+4. 执行 `vagrant up --provider=virtualbox` 以初始化环境。
+
+5. 配置完成后,在浏览器中打开 `https://192.168.56.101`。默认的用户名和密码是 `admin/adminPassword`。
+
+**结果**:Rancher Server 和你的 Kubernetes 集群已安装在 VirtualBox 上。
+
+### 后续操作
+
+使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../../../pages-for-subheaders/deploy-rancher-workloads.md)。
+
+## 销毁环境
+
+1. 进入 `quickstart/rancher/vagrant` 文件夹,然后执行 `vagrant destroy -f`。
+
+2. 等待所有资源已删除的确认消息。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-workloads/nodeports.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-workloads/nodeports.md
new file mode 100644
index 00000000000..bf2294d4c06
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-workloads/nodeports.md
@@ -0,0 +1,138 @@
+---
+title: 部署带有 NodePort 的工作负载
+---
+
+### 先决条件
+
+你已有一个正在运行的集群,且该集群中有至少一个节点。
+
+### 1. 部署工作负载
+
+你可以开始创建你的第一个 Kubernetes [工作负载](https://kubernetes.io/docs/concepts/workloads/)。工作负载是一个对象,其中包含 pod 以及部署应用所需的其他文件和信息。
+
+在本文的工作负载中,你将部署一个 Rancher Hello-World 应用。
+
+1. 点击 **☰ > 集群管理**。
+1. 在**集群**页面中,进入需要部署工作负载的集群,然后单击 **Explore**。
+1. 点击**工作负载**。
+1. 单击**创建**。
+1. 为工作负载设置**名称**。
+1. 在**容器镜像**字段中,输入 `rancher/hello-world`。注意区分大小写。
+1. 点击**添加端口**。
+1. 在**服务类型**下拉菜单中,确保选择了 **NodePort**。
+
+ 
+
+1. 在**发布容器端口**字段中,输入端口`80`。
+
+ 
+
+1. 单击**创建**。
+
+**结果**:
+
+* 工作负载已部署。此过程可能需要几分钟。
+* 当工作负载完成部署后,它的状态会变为 **Active**。你可以从项目的**工作负载**页面查看其状态。
+
+
+
+### 2. 查看应用
+
+在**工作负载**页面中,点击工作负载下方的链接。如果 deployment 已完成,你的应用会打开。
+
+### 注意事项
+
+如果使用云虚拟机,你可能无法访问运行容器的端口。这种情况下,你可以使用 `Execute Shell` 在本地主机的 SSH 会话中测试 Nginx。如果可用的话,使用工作负载下方的链接中 `:` 后面的端口号。在本例中,端口号为 `31568`。
+
+```html
+gettingstarted@rancher:~$ curl http://localhost:31568
+
+
+
+ Rancher
+
+
+
+
+
+ Hello world!
+ My hostname is hello-world-66b4b9d88b-78bhx
+
+
k8s services found 2
+
+ INGRESS_D1E1A394F61C108633C4BD37AEDDE757 tcp://10.43.203.31:80
+
+ KUBERNETES tcp://10.43.0.1:443
+
+
+
+
+
+
+ Show request details
+
+
Request info
+ Host: 172.22.101.111:31411
+ Pod: hello-world-66b4b9d88b-78bhx
+
+ Accept: [*/*]
+
+ User-Agent: [curl/7.47.0]
+
+
+
+
+
+
+gettingstarted@rancher:~$
+
+```
+
+### 已完成!
+
+恭喜!你已成功通过 NodePort 部署工作负载。
+
+#### 后续操作
+
+使用完沙盒后,你需要清理 Rancher Server 和集群。详情请参见:
+
+- [Amazon AWS:销毁环境](../deploy-rancher-manager/aws.md#销毁环境)
+- [DigitalOcean:销毁环境](../deploy-rancher-manager/digitalocean.md#销毁环境)
+- [Vagrant:销毁环境](../deploy-rancher-manager/vagrant.md#销毁环境)
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-workloads/workload-ingress.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-workloads/workload-ingress.md
new file mode 100644
index 00000000000..86f8017f09e
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/getting-started/quick-start-guides/deploy-workloads/workload-ingress.md
@@ -0,0 +1,72 @@
+---
+title: 部署带有 Ingress 的工作负载
+---
+
+### 先决条件
+
+你已有一个正在运行的集群,且该集群中有至少一个节点。
+
+### 1. 部署工作负载
+
+你可以开始创建你的第一个 Kubernetes [工作负载](https://kubernetes.io/docs/concepts/workloads/)。工作负载是一个对象,其中包含 pod 以及部署应用所需的其他文件和信息。
+
+在本文的工作负载中,你将部署一个 Rancher Hello-World 应用。
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 点击**工作负载**。
+1. 单击**创建**。
+1. 点击 **Deployment**。
+1. 为工作负载设置**名称**。
+1. 在**容器镜像**字段中,输入 `rancher/hello-world`。注意区分大小写。
+1. 在 `Service Type` 点击 **Add Port** 和 `Cluster IP`,并在 **Private Container Port** 字段中输入`80`。你可以将 `Name` 留空或指定名称。通过添加端口,你可以访问集群内外的应用。有关详细信息,请参阅 [Service](../../../pages-for-subheaders/workloads-and-pods.md#services)。
+1. 单击**创建**。
+
+**结果**:
+
+* 工作负载已部署。此过程可能需要几分钟。
+* 当工作负载完成部署后,它的状态会变为 **Active**。你可以从项目的**工作负载**页面查看其状态。
+
+### 2. 通过 Ingress 暴露应用
+
+现在应用已启动并运行,你需要暴露应用以让其他服务连接到它。
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+
+1. 点击**服务发现 > Ingresses**。
+
+1. 点击**创建**。
+
+1. 在选择**命名空间**时,你需要选择在创建 deployment 时使用的命名空间。否则,在步骤8中选择**目标服务**时,你的 deployment 会不可用。
+
+1. 输入**名称**,例如 **hello**。
+
+1. 指定**路径**,例如 `/hello`。
+
+1. 在**目标服务**字段的下拉菜单中,选择你为服务设置的名称。
+
+1. 在**端口**字段中的下拉菜单中,选择 `80`。
+
+1. 点击右下角的**创建**。
+
+**结果**:应用分配到了一个 `sslip.io` 地址并暴露。这可能需要一两分钟。
+
+
+### 查看应用
+
+在 **Deployments** 页面中,找到你 deployment 的 **endpoint** 列,然后单击一个 endpoint。可用的 endpoint 取决于你添加到 deployment 中的端口配置。如果你看不到随机分配端口的 endpoint,请将你在创建 Ingress 时指定的路径尾附到 IP 地址上。例如,如果你的 endpoint 是 `xxx.xxx.xxx.xxx` 或 `https://xxx.xxx.xxx.xxx`,把它修改为 `xxx.xxx.xxx.xxx/hello` 或 `https://xxx.xxx.xxx.xxx/hello`。
+
+应用将在另一个窗口中打开。
+
+#### 已完成!
+
+恭喜!你已成功通过 Ingress 部署工作负载。
+
+#### 后续操作
+
+使用完沙盒后,你需要清理 Rancher Server 和集群。详情请参见:
+
+- [Amazon AWS:销毁环境](../deploy-rancher-manager/aws.md#销毁环境)
+- [DigitalOcean:销毁环境](../deploy-rancher-manager/digitalocean.md#销毁环境)
+- [Vagrant:销毁环境](../deploy-rancher-manager/vagrant.md#销毁环境)
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/configure-alerts-for-periodic-scan-on-a-schedule.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/configure-alerts-for-periodic-scan-on-a-schedule.md
new file mode 100644
index 00000000000..643a7122e37
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/configure-alerts-for-periodic-scan-on-a-schedule.md
@@ -0,0 +1,40 @@
+---
+title: 为定时扫描配置告警
+---
+
+你可以定时运行 ClusterScan。
+
+你还可以为定时扫描指定是否在扫描完成时发出告警。
+
+只有定时运行的扫描才支持告警。
+
+CIS Benchmark 应用支持两种类型的告警:
+
+- 扫描完成告警:此告警在扫描运行完成时发出。告警包括详细信息,包括 ClusterScan 的名称和 ClusterScanProfile 的名称。
+- 扫描失败告警:如果扫描中有一些测试失败或扫描处于 `Fail` 状态,则会发出此告警。
+
+:::note 先决条件:
+
+为 `rancher-cis-benchmark` 启用告警之前,确保安装了 `rancher-monitoring` 应用并配置了接收器(Receiver)和路由(Route)。详情请参见[本章节](../../../reference-guides/monitoring-v2-configuration/receivers.md)。
+
+在为 `rancher-cis-benchmark` 告警配置路由时,你可以使用键值对 `job:rancher-cis-scan` 来指定匹配。详情请查看[路由配置示例](../../../reference-guides/monitoring-v2-configuration/receivers.md#cis-扫描告警的示例路由配置)。
+
+:::
+
+要为定时运行的扫描配置告警:
+
+1. 请在 `rancher-cis-benchmark` 应用程序上启用告警。详情请参见[本页](../../../how-to-guides/advanced-user-guides/cis-scan-guides/enable-alerting-for-rancher-cis-benchmark.md)。
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要运行 CIS 扫描的集群,然后单击 **Explore**。
+1. 点击 **CIS Benchmark > 扫描**。
+1. 单击**创建**。
+1. 选择集群扫描配置文件。该配置文件确定要使用哪个 CIS Benchmark 版本以及要执行哪些测试。如果你选择 Default 配置文件,则 CIS Operator 将选择适用于它所在的 Kubernetes 集群类型的配置文件。
+1. 选择**定时运行扫描**的选项。
+1. 在**调度**字段中输入有效的 [Cron 表达式](https://en.wikipedia.org/wiki/Cron#CRON_expression)。
+1. 选中**告警**下告警类型旁边的框。
+1. (可选)选择一个**保留计数**,表示为这个定时扫描维护的报告数量。默认情况下,此计数为 3。超过此保留限制时,旧报告将被删除。
+1. 单击**创建**。
+
+**结果**:扫描运行,并根据设置的 cron 表达式重新调度。如果在 `rancher-monitoring` 应用下配置了路由和接收器,则会在扫描完成时发出告警。
+
+每次运行扫描都会生成一份带有扫描结果的报告。如需查看最新的结果,请单击显示的扫描名称。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/create-a-custom-benchmark-version-to-run.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/create-a-custom-benchmark-version-to-run.md
new file mode 100644
index 00000000000..fe8477f7b55
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/create-a-custom-benchmark-version-to-run.md
@@ -0,0 +1,9 @@
+---
+title: 为集群扫描创建自定义 Benchmark 版本
+---
+
+某些 Kubernetes 集群可能需要自定义配置 Benchmark 测试。例如,Kubernetes 配置文件或证书的路径可能与上游 CIS Benchmark 的标准位置不同。
+
+现在,你可以使用 `rancher-cis-benchmark` 应用来创建自定义 Benchmark 版本,从而运行集群扫描。
+
+有关详细信息,请参阅[此页面](../../../integrations-in-rancher/cis-scans/custom-benchmark.md)。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/enable-alerting-for-rancher-cis-benchmark.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/enable-alerting-for-rancher-cis-benchmark.md
new file mode 100644
index 00000000000..55c34dcdf5c
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/enable-alerting-for-rancher-cis-benchmark.md
@@ -0,0 +1,20 @@
+---
+title: 为 Rancher CIS Benchmark 启用告警
+---
+
+你可以配置告警,从而将告警发送给定时运行的扫描。
+
+:::note 先决条件:
+
+为 `rancher-cis-benchmark` 启用告警之前,确保安装了 `rancher-monitoring` 应用并配置了接收器(Receiver)和路由(Route)。详情请参见[本章节](../../../reference-guides/monitoring-v2-configuration/receivers.md)。
+
+在为 `rancher-cis-benchmark` 告警配置路由时,你可以使用键值对 `job:rancher-cis-scan` 来指定匹配。详情请查看[路由配置示例](../../../reference-guides/monitoring-v2-configuration/receivers.md#cis-扫描告警的示例路由配置)。
+
+:::
+
+在安装或升级 `rancher-cis-benchmark` Helm Chart 时,在 `values.yaml` 中将以下标志设置为 `true`:
+
+```yaml
+alerts:
+ enabled: true
+```
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/install-rancher-cis-benchmark.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/install-rancher-cis-benchmark.md
new file mode 100644
index 00000000000..814d38c5349
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/install-rancher-cis-benchmark.md
@@ -0,0 +1,17 @@
+---
+title: 安装 Rancher CIS Benchmark
+---
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要安装 CIS Benchmark 的集群,然后单击 **Explore**。
+1. 在左侧导航栏中,单击 **Apps > Charts**。
+1. 单击 **CIS Benchmark**。
+1. 单击**安装**。
+
+**结果**:CIS 扫描应用已经部署在 Kubernetes 集群上。
+
+:::note
+
+如果你使用 Kubernetes v1.24 或更早版本,并且具有使用 [Pod 安全策略](../../new-user-guides/authentication-permissions-and-global-configuration/create-pod-security-policies.md) (PSP) 加固的集群,则 CIS Benchmark 4.0.0 及更高版本会默认禁用 PSP。要在 PSP 加固集群上安装 CIS Benchmark,请在安装 Chart 之前将 values 中的 `global.psp.enabled` 设置为 `true`。[Pod 安全准入](../../new-user-guides/authentication-permissions-and-global-configuration/pod-security-standards.md) (PSA) 加固集群不受影响。
+
+:::
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/run-a-scan-periodically-on-a-schedule.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/run-a-scan-periodically-on-a-schedule.md
new file mode 100644
index 00000000000..d43567fbb25
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/run-a-scan-periodically-on-a-schedule.md
@@ -0,0 +1,20 @@
+---
+title: 定时运行扫描
+---
+
+要定时运行 ClusterScan:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要运行 CIS 扫描的集群,然后单击 **Explore**。
+1. 点击 **CIS Benchmark > 扫描**。
+1. 选择集群扫描配置文件。该配置文件确定要使用哪个 CIS Benchmark 版本以及要执行哪些测试。如果你选择 Default 配置文件,则 CIS Operator 将选择适用于它所在的 Kubernetes 集群类型的配置文件。
+1. 选择**定时运行扫描**的选项。
+1. 将一个有效的 Cron 表达式 填写到**调度**字段。
+1. 选择一个**保留计数**,表示为这个定时扫描维护的报告数量。默认情况下,此计数为 3。超过此保留限制时,旧报告将被删除。
+1. 单击**创建**。
+
+**结果**:扫描运行,并根据设置的 cron 表达式重新调度。**下一次扫描**的值表示下次运行此扫描的时间。
+
+每次运行扫描都会生成一份带有扫描结果的报告。如需查看最新的结果,请单击显示的扫描名称。
+
+你还可以在扫描详情页面上的**报告**下拉菜单中查看之前的报告。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/run-a-scan.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/run-a-scan.md
new file mode 100644
index 00000000000..e658029233e
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/run-a-scan.md
@@ -0,0 +1,22 @@
+---
+title: 运行扫描
+---
+
+创建 ClusterScan 自定义资源后,它会在集群上为所选 ClusterScanProfile 启动新的 CIS 扫描。
+
+:::note
+
+请注意,目前一个集群每次只能运行一次 CIS 扫描。如果你创建了多个 ClusterScan 自定义资源,operator 只能一个接一个地运行这些资源。一个扫描完成之前,其余 ClusterScan 自定义资源将处于 “Pending” 状态。
+
+:::
+
+要运行扫描:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要运行 CIS 扫描的集群,然后单击 **Explore**。
+1. 点击 **CIS Benchmark > 扫描**。
+1. 单击**创建**。
+1. 选择集群扫描配置文件。该配置文件确定要使用哪个 CIS Benchmark 版本以及要执行哪些测试。如果你选择 Default 配置文件,则 CIS Operator 将选择适用于它所在的 Kubernetes 集群类型的配置文件。
+1. 单击**创建**。
+
+**结果**:已生成带有扫描结果的报告。如需查看结果,请单击显示的扫描名称。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/skip-tests.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/skip-tests.md
new file mode 100644
index 00000000000..230bb1c7696
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/skip-tests.md
@@ -0,0 +1,34 @@
+---
+title: 跳过测试
+---
+
+用户可以在测试配置文件中自定义要跳过的测试,然后 CIS 扫描可以使用该配置文件运行。
+
+要跳过测试,你需要创建自定义一个 CIS 扫描配置文件。配置文件包含 CIS 扫描的配置,包括要使用的 Benchmark 测试版本以及要在该 Benchmark 测试中跳过的测试。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要运行 CIS 扫描的集群,然后单击 **Explore**。
+1. 单击 **CIS Benchmark > 配置文件**。
+1. 在这里,你可以使用多种方式来创建配置文件。要创建新配置文件,单击**创建**并在 UI 中填写表单。要基于现有配置文件来创建新配置文件,请转到现有配置文件并单击**⋮ 克隆**。如果你在填写表单,请使用测试 ID 添加要跳过的测试,并参考相关的 CIS Benchmark。如果你将新的测试配置文件创建为 YAML,你需要在 `skipTests` 参数中添加要跳过的测试的 ID。你还需要为配置文件命名:
+
+ ```yaml
+ apiVersion: cis.cattle.io/v1
+ kind: ClusterScanProfile
+ metadata:
+ annotations:
+ meta.helm.sh/release-name: clusterscan-operator
+ meta.helm.sh/release-namespace: cis-operator-system
+ labels:
+ app.kubernetes.io/managed-by: Helm
+ name: ""
+ spec:
+ benchmarkVersion: cis-1.5
+ skipTests:
+ - "1.1.20"
+ - "1.1.21"
+ ```
+1. 单击**创建**。
+
+**结果**:已创建一个新的 CIS 扫描配置文件。
+
+使用此配置文件[运行扫描](./run-a-scan.md)时,会跳过定义的跳过测试。跳过的测试将在生成的报告中标记为 `Skip`。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/uninstall-rancher-cis-benchmark.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/uninstall-rancher-cis-benchmark.md
new file mode 100644
index 00000000000..83d36169627
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/uninstall-rancher-cis-benchmark.md
@@ -0,0 +1,9 @@
+---
+title: 卸载 Rancher CIS Benchmark
+---
+
+1. 在**集群**仪表板中,单击左侧导航的 **Apps > Installed Apps**。
+1. 前往 `cis-operator-system` 命名空间,并选中 `rancher-cis-benchmark-crd` 和 `rancher-cis-benchmark` 旁边的框。
+1. 单击**删除**并确认**删除**。
+
+**结果**:已卸载 `rancher-cis-benchmark` 应用。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/view-reports.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/view-reports.md
new file mode 100644
index 00000000000..adfcce53799
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/cis-scan-guides/view-reports.md
@@ -0,0 +1,12 @@
+---
+title: 查看报告
+---
+
+要查看生成的 CIS 扫描报告:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要运行 CIS 扫描的集群,然后单击 **Explore**。
+1. 点击 **CIS Benchmark > 扫描**。
+1. **扫描**页面将显示生成的报告。要查看详细报告,请转到扫描报告并单击报告名称。
+
+你可以从扫描列表或扫描详情页面下载报告。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/configure-layer-7-nginx-load-balancer.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/configure-layer-7-nginx-load-balancer.md
new file mode 100644
index 00000000000..b10f0b61f1b
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/configure-layer-7-nginx-load-balancer.md
@@ -0,0 +1,260 @@
+---
+title: 7 层 NGINX 负载均衡器上的 TLS 终止(Docker 安装)
+---
+
+如果你的开发或测试环境要求在负载均衡器上终止 TLS/SSL,而不是在 Rancher Server 上,请部署 Rancher 并配置负载均衡器。
+
+如果要在基础设施中对 TLS 集中进行终止,请使用 7 层负载均衡器。7 层负载均衡还能让你的负载均衡器基于 HTTP 属性(例如 cookie 等)做出决策,而 4 层负载均衡器则不能。
+
+本文中的安装步骤将引导你使用单个容器部署 Rancher,并提供 7 层 NGINX 负载均衡器的示例配置。
+
+## 操作系统,Docker,硬件和网络要求
+
+请确保你的节点满足常规的[安装要求](../../pages-for-subheaders/installation-requirements.md)。
+
+## 安装概要
+
+
+## 1. 配置 Linux 主机
+
+根据我们的[要求](../../pages-for-subheaders/installation-requirements.md)配置一个 Linux 主机来启动 Rancher Server。
+
+## 2. 选择一个 SSL 选项并安装 Rancher
+
+出于安全考虑,使用 Rancher 时请使用 SSL(Secure Sockets Layer)。SSL 保护所有 Rancher 网络通信(如登录和与集群交互)的安全。
+
+:::note 你是否需要:
+
+- 完成离线安装。
+- 记录所有 Rancher API 的事务。
+
+继续之前,请参见[高级选项](#高级选项)。
+
+:::
+
+选择以下的选项之一:
+
+
+ 选项 A:使用你自己的证书 - 自签名
+
+如果要使用自签名证书来加密通信,你必须在负载均衡器(后续步骤)和 Rancher 容器上安装证书。运行 Docker 命令部署 Rancher,将 Docker 指向你的证书。
+
+:::note 先决条件:
+
+创建自签名证书。
+
+- 证书文件的格式必须是 PEM。
+
+:::
+
+**使用自签名证书安装 Rancher**:
+
+1. 在运行 Docker 命令部署 Rancher 时,将 Docker 指向你的 CA 证书文件。
+
+ ```
+ docker run -d --restart=unless-stopped \
+ -p 80:80 -p 443:443 \
+ -v /etc/your_certificate_directory/cacerts.pem:/etc/rancher/ssl/cacerts.pem \
+ rancher/rancher:latest
+ ```
+
+
+
+ 选项 B:使用你自己的证书 - 可信 CA 签名的证书
+
+如果你的集群面向公众,则最好使用由公认 CA 签署的证书。
+
+:::note 先决条件:
+
+- 证书文件的格式必须是 PEM。
+
+:::
+
+**使用授信 CA 签发的证书安装 Rancher**:
+
+如果你使用授信 CA 签发的证书,你无需在 Rancher 容器中安装证书。但是,请确保不要生成和存储默认的 CA 证书(你可以通过将 `--no-cacerts` 参数传递给容器来实现)。
+
+1. 输入以下命令:
+
+ ```
+ docker run -d --restart=unless-stopped \
+ -p 80:80 -p 443:443 \
+ rancher/rancher:latest --no-cacerts
+ ```
+
+
+
+## 3. 配置负载均衡器
+
+在 Rancher 容器前使用负载均衡器时,容器无需从端口 80 或端口 443 重定向端口通信。你可以通过传递 `X-Forwarded-Proto: https` 标头禁用此重定向。
+
+负载均衡器或代理必须支持以下内容:
+
+- **WebSocket** 连接
+- **SPDY** / **HTTP/2** 协议
+- 传递/设置以下标头:
+
+ | 标头 | 值 | 描述 |
+ |--------|-------|-------------|
+ | `Host` | 用于访问 Rancher 的主机名。 | 识别客户端所请求的服务器。 |
+ | `X-Forwarded-Proto` | `https` | 识别客户端连接负载均衡器或代理时所用的协议。 **注意**:如果此标头存在,`rancher/rancher` 不会将 HTTP 重定向到 HTTPS。 |
+ | `X-Forwarded-Port` | 用于访问 Rancher 的端口。 | 识别客户端连接到负载均衡器或代理时所用的端口。 |
+ | `X-Forwarded-For` | 客户端 IP 地址 | 识别客户端的原始 IP 地址。 |
+### 示例 NGINX 配置
+
+此 NGINX 配置已在 NGINX 1.14 上进行了测试。
+
+:::note
+
+此 NGINX 配置只是一个示例,可能不适合你的环境。如需查阅完整文档,请参见 [NGINX 负载均衡 - HTTP 负载均衡](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/)。
+
+:::
+
+- 将 `rancher-server` 替换为运行 Rancher 容器的节点的 IP 或主机名。
+- 将两处的 `FQDN` 均替换为 Rancher 的 DNS 名称。
+- 把 `/certs/fullchain.pem` 和 `/certs/privkey.pem` 分别替换为服务器证书和服务器证书密钥的位置。
+
+```
+worker_processes 4;
+worker_rlimit_nofile 40000;
+
+events {
+ worker_connections 8192;
+}
+
+http {
+ upstream rancher {
+ server rancher-server:80;
+ }
+
+ map $http_upgrade $connection_upgrade {
+ default Upgrade;
+ '' close;
+ }
+
+ server {
+ listen 443 ssl http2;
+ server_name FQDN;
+ ssl_certificate /certs/fullchain.pem;
+ ssl_certificate_key /certs/privkey.pem;
+
+ location / {
+ proxy_set_header Host $host;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ proxy_set_header X-Forwarded-Port $server_port;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_pass http://rancher;
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection $connection_upgrade;
+ # 此项允许执行的 shell 窗口保持开启,最长可达15分钟。不使用此参数的话,默认1分钟后自动关闭。
+ proxy_read_timeout 900s;
+ proxy_buffering off;
+ }
+ }
+
+ server {
+ listen 80;
+ server_name FQDN;
+ return 301 https://$server_name$request_uri;
+ }
+}
+```
+
+
+
+## 后续操作
+
+- **推荐**:检查单节点[备份](../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-docker-installed-rancher.md)和[恢复](../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/restore-docker-installed-rancher.md)。你可能暂时没有需要备份的数据,但是我们建议你在常规使用 Rancher 后创建备份。
+- 创建 Kubernetes 集群:[配置 Kubernetes 集群](../../pages-for-subheaders/kubernetes-clusters-in-rancher-setup.md)。
+
+
+
+## 常见问题和故障排除
+
+如果你需要对证书进行故障排除,请参见[此章节](../../getting-started/installation-and-upgrade/other-installation-methods/rancher-on-a-single-node-with-docker/certificate-troubleshooting.md)。
+
+## 高级选项
+
+### API 审计
+
+如果你需要记录所有 Rancher API 事务,请将以下标志添加到安装命令中,从而启用 [API 审计](enable-api-audit-log.md)功能。
+
+ -e AUDIT_LEVEL=1 \
+ -e AUDIT_LOG_PATH=/var/log/auditlog/rancher-api-audit.log \
+ -e AUDIT_LOG_MAXAGE=20 \
+ -e AUDIT_LOG_MAXBACKUP=20 \
+ -e AUDIT_LOG_MAXSIZE=100 \
+
+### 离线环境
+
+如果你访问此页面是为了完成[离线安装](../../pages-for-subheaders/air-gapped-helm-cli-install.md),则在运行安装命令时,先将你的私有镜像仓库 URL 附加到 Server 标志中。也就是说,在 `rancher/rancher:latest` 前面添加 `` 和私有镜像仓库 URL。
+
+**示例**:
+
+ /rancher/rancher:latest
+
+### 持久化数据
+
+Rancher 使用 etcd 作为数据存储。如果 Rancher 是使用 Docker 安装的,Rancher 会使用嵌入式 etcd。持久化数据位于容器的 `/var/lib/rancher` 路径中。
+
+你可以将主机卷挂载到该位置,来将数据保留在运行它的主机上:
+
+```
+docker run -d --restart=unless-stopped \
+ -p 80:80 -p 443:443 \
+ -v /opt/rancher:/var/lib/rancher \
+ --privileged \
+ rancher/rancher:latest
+```
+
+此操作需要 [privileged 访问](../../pages-for-subheaders/rancher-on-a-single-node-with-docker.md#rancher-特权访问)。
+
+这个 7 层 NGINX 配置已经在 NGINX 1.13(Mainline)和 1.14(Stable)版本上进行了测试。
+
+:::note
+
+此 NGINX 配置只是一个示例,可能不适合你的环境。如果需要查阅完整文档,请参见 [NGINX 负载均衡 - TCP 和 UDP 负载均衡器](https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/)。
+
+:::
+
+```
+upstream rancher {
+ server rancher-server:80;
+}
+
+map $http_upgrade $connection_upgrade {
+ default Upgrade;
+ '' close;
+}
+
+server {
+ listen 443 ssl http2;
+ server_name rancher.yourdomain.com;
+ ssl_certificate /etc/your_certificate_directory/fullchain.pem;
+ ssl_certificate_key /etc/your_certificate_directory/privkey.pem;
+
+ location / {
+ proxy_set_header Host $host;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ proxy_set_header X-Forwarded-Port $server_port;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_pass http://rancher;
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection $connection_upgrade;
+ # 此项允许执行的 shell 窗口保持开启,最长可达15分钟。不使用此参数的话,默认1分钟后自动关闭。
+ proxy_read_timeout 900s;
+ proxy_buffering off;
+ }
+}
+
+server {
+ listen 80;
+ server_name rancher.yourdomain.com;
+ return 301 https://$server_name$request_uri;
+}
+```
+
+
+
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-api-audit-log.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-api-audit-log.md
new file mode 100644
index 00000000000..94974cb52f7
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-api-audit-log.md
@@ -0,0 +1,558 @@
+---
+title: 启用 API 审计日志以记录系统事件
+---
+
+你可以启用 API 审计日志来记录各个用户发起的系统事件的顺序。通过查看日志,你可以了解发生了什么事件、事件发生的时间,事件发起人,以及事件影响的集群。启用此功能后,所有 Rancher API 的请求和响应都会写入日志中。
+
+API 审计可以在 Rancher 安装或升级期间启用。
+
+## 启用 API 审计日志
+
+你可以将环境变量传递给 Rancher Server 容器,从而启用和配置审计日志。请参见以下文档,在安装时启用该功能:
+
+- [Docker 安装](../../reference-guides/single-node-rancher-in-docker/advanced-options.md#api-审计日志)
+
+- [Kubernetes 安装](../../getting-started/installation-and-upgrade/installation-references/helm-chart-options.md#api-审计日志)
+
+## API 审计日志选项
+
+以下参数定义了审计日志的记录规则,其中包括应该记录什么内容以及包括什么数据:
+
+| 参数 | 描述 |
+| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `AUDIT_LEVEL` | `0` - 禁用审计日志(默认) `1` - 日志事件元数据 `2` - 日志事件元数据和请求体 `3` - 日志事件元数据,请求体和响应体。请求/响应对的每个日志事务都使用同一个的 `auditID`。 如需了解每个设置记录的日志内容,请参见[审计日志级别](#审核日志级别)。 |
+| `AUDIT_LOG_PATH` | Rancher Server API 的日志路径。默认路径:`/var/log/auditlog/rancher-api-audit.log`。你可以将日志目录挂载到主机。 示例:`AUDIT_LOG_PATH=/my/custom/path/` |
+| `AUDIT_LOG_MAXAGE` | 旧审计日志文件可保留的最大天数。默认为 10 天。 |
+| `AUDIT_LOG_MAXBACKUP` | 保留的审计日志最大文件个数。默认值为 10。 |
+| `AUDIT_LOG_MAXSIZE` | 在审计日志文件被轮换前的最大容量,单位是 MB。默认大小为 100MB。 |
+
+
+
+### 审核日志级别
+
+下表介绍了每个 [`AUDIT_LEVEL`](#audit-level) 记录的 API 事务:
+
+| `AUDIT_LEVEL` 设置 | 请求元数据 | 请求体 | 响应元数据 | 响应体 |
+| --------------------- | ---------------- | ------------ | ----------------- | ------------- |
+| `0` | | | | |
+| `1` | ✓ | | | |
+| `2` | ✓ | ✓ | | |
+| `3` | ✓ | ✓ | ✓ | ✓ |
+
+## 查看 API 审计日志
+
+### Docker 安装
+
+与主机系统共享 `AUDIT_LOG_PATH` 目录(默认目录:`/var/log/auditlog`)。日志可以通过标准 CLI 工具进行解析,也可以转发到 Fluentd、Filebeat、Logstash 等日志收集工具。
+
+### Kubernetes 安装
+
+使用 Helm Chart 安装 Rancher 时启动 API 审计日志,会在 Rancher Pod 中创建一个 `rancher-audit-log` Sidecar 容器。该容器会将日志发送到标准输出 (stdout)。你可以像查看其他容器的日志一样查看 API 审计日志。
+
+`rancher-audit-log` 容器位于 `cattle-system` 命名空间中的 `rancher` Pod 中。
+
+#### CLI
+
+```bash
+kubectl -n cattle-system logs -f rancher-84d886bdbb-s4s69 rancher-audit-log
+```
+
+#### 发送审计日志
+
+你可以为集群启用 Rancher 的内置日志收集和传送功能,将审计日志和其他服务日志发送到支持的 endpoint。详情请参见 [Rancher 工具 - Logging](../../pages-for-subheaders/logging.md)。
+
+## 审计日志示例
+
+启用审计日志后,Rancher 会以 JSON 格式记录每个 API 的请求和响应。下文的代码示例展示了如何查看 API 事务。
+
+### 元数据日志级别
+
+如果你将 `AUDIT_LEVEL` 设置为 `1`,Rancher 只会记录每个 API 请求的元数据标头,而不会记录请求体。标头记录了 API 事务的基本信息,包括 ID、发起人、发起时间等。代码示例如下:
+
+```json
+{
+ "auditID": "30022177-9e2e-43d1-b0d0-06ef9d3db183",
+ "requestURI": "/v3/schemas",
+ "sourceIPs": ["::1"],
+ "user": {
+ "name": "user-f4tt2",
+ "group": ["system:authenticated"]
+ },
+ "verb": "GET",
+ "stage": "RequestReceived",
+ "stageTimestamp": "2018-07-20 10:22:43 +0800"
+}
+```
+
+### 元数据和请求体日志级别
+
+如果你将 `AUDIT_LEVEL` 设置为 `2`,Rancher 会记录每个 API 请求的元数据标头和请求体。
+
+下面的代码示例描述了一个 API 请求,包括它的元数据标头和正文:
+
+```json
+{
+ "auditID": "ef1d249e-bfac-4fd0-a61f-cbdcad53b9bb",
+ "requestURI": "/v3/project/c-bcz5t:p-fdr4s/workloads/deployment:default:nginx",
+ "sourceIPs": ["::1"],
+ "user": {
+ "name": "user-f4tt2",
+ "group": ["system:authenticated"]
+ },
+ "verb": "PUT",
+ "stage": "RequestReceived",
+ "stageTimestamp": "2018-07-20 10:28:08 +0800",
+ "requestBody": {
+ "hostIPC": false,
+ "hostNetwork": false,
+ "hostPID": false,
+ "paused": false,
+ "annotations": {},
+ "baseType": "workload",
+ "containers": [
+ {
+ "allowPrivilegeEscalation": false,
+ "image": "nginx",
+ "imagePullPolicy": "Always",
+ "initContainer": false,
+ "name": "nginx",
+ "ports": [
+ {
+ "containerPort": 80,
+ "dnsName": "nginx-nodeport",
+ "kind": "NodePort",
+ "name": "80tcp01",
+ "protocol": "TCP",
+ "sourcePort": 0,
+ "type": "/v3/project/schemas/containerPort"
+ }
+ ],
+ "privileged": false,
+ "readOnly": false,
+ "resources": {
+ "type": "/v3/project/schemas/resourceRequirements",
+ "requests": {},
+ "limits": {}
+ },
+ "restartCount": 0,
+ "runAsNonRoot": false,
+ "stdin": true,
+ "stdinOnce": false,
+ "terminationMessagePath": "/dev/termination-log",
+ "terminationMessagePolicy": "File",
+ "tty": true,
+ "type": "/v3/project/schemas/container",
+ "environmentFrom": [],
+ "capAdd": [],
+ "capDrop": [],
+ "livenessProbe": null,
+ "volumeMounts": []
+ }
+ ],
+ "created": "2018-07-18T07:34:16Z",
+ "createdTS": 1531899256000,
+ "creatorId": null,
+ "deploymentConfig": {
+ "maxSurge": 1,
+ "maxUnavailable": 0,
+ "minReadySeconds": 0,
+ "progressDeadlineSeconds": 600,
+ "revisionHistoryLimit": 10,
+ "strategy": "RollingUpdate"
+ },
+ "deploymentStatus": {
+ "availableReplicas": 1,
+ "conditions": [
+ {
+ "lastTransitionTime": "2018-07-18T07:34:38Z",
+ "lastTransitionTimeTS": 1531899278000,
+ "lastUpdateTime": "2018-07-18T07:34:38Z",
+ "lastUpdateTimeTS": 1531899278000,
+ "message": "Deployment has minimum availability.",
+ "reason": "MinimumReplicasAvailable",
+ "status": "True",
+ "type": "Available"
+ },
+ {
+ "lastTransitionTime": "2018-07-18T07:34:16Z",
+ "lastTransitionTimeTS": 1531899256000,
+ "lastUpdateTime": "2018-07-18T07:34:38Z",
+ "lastUpdateTimeTS": 1531899278000,
+ "message": "ReplicaSet \"nginx-64d85666f9\" has successfully progressed.",
+ "reason": "NewReplicaSetAvailable",
+ "status": "True",
+ "type": "Progressing"
+ }
+ ],
+ "observedGeneration": 2,
+ "readyReplicas": 1,
+ "replicas": 1,
+ "type": "/v3/project/schemas/deploymentStatus",
+ "unavailableReplicas": 0,
+ "updatedReplicas": 1
+ },
+ "dnsPolicy": "ClusterFirst",
+ "id": "deployment:default:nginx",
+ "labels": {
+ "workload.user.cattle.io/workloadselector": "deployment-default-nginx"
+ },
+ "name": "nginx",
+ "namespaceId": "default",
+ "projectId": "c-bcz5t:p-fdr4s",
+ "publicEndpoints": [
+ {
+ "addresses": ["10.64.3.58"],
+ "allNodes": true,
+ "ingressId": null,
+ "nodeId": null,
+ "podId": null,
+ "port": 30917,
+ "protocol": "TCP",
+ "serviceId": "default:nginx-nodeport",
+ "type": "publicEndpoint"
+ }
+ ],
+ "restartPolicy": "Always",
+ "scale": 1,
+ "schedulerName": "default-scheduler",
+ "selector": {
+ "matchLabels": {
+ "workload.user.cattle.io/workloadselector": "deployment-default-nginx"
+ },
+ "type": "/v3/project/schemas/labelSelector"
+ },
+ "state": "active",
+ "terminationGracePeriodSeconds": 30,
+ "transitioning": "no",
+ "transitioningMessage": "",
+ "type": "deployment",
+ "uuid": "f998037d-8a5c-11e8-a4cf-0245a7ebb0fd",
+ "workloadAnnotations": {
+ "deployment.kubernetes.io/revision": "1",
+ "field.cattle.io/creatorId": "user-f4tt2"
+ },
+ "workloadLabels": {
+ "workload.user.cattle.io/workloadselector": "deployment-default-nginx"
+ },
+ "scheduling": {
+ "node": {}
+ },
+ "description": "my description",
+ "volumes": []
+ }
+}
+```
+
+### 元数据、请求体和响应体日志级别
+
+如果你将 `AUDIT_LEVEL` 设置为 `3`,Rancher 会记录:
+
+- 每个 API 请求的元数据标头和请求体。
+- 每个 API 响应的元数据标头和响应体。
+
+#### 请求
+
+下面的代码示例描述了一个 API 请求,包括它的元数据标头和正文:
+
+```json
+{
+ "auditID": "a886fd9f-5d6b-4ae3-9a10-5bff8f3d68af",
+ "requestURI": "/v3/project/c-bcz5t:p-fdr4s/workloads/deployment:default:nginx",
+ "sourceIPs": ["::1"],
+ "user": {
+ "name": "user-f4tt2",
+ "group": ["system:authenticated"]
+ },
+ "verb": "PUT",
+ "stage": "RequestReceived",
+ "stageTimestamp": "2018-07-20 10:33:06 +0800",
+ "requestBody": {
+ "hostIPC": false,
+ "hostNetwork": false,
+ "hostPID": false,
+ "paused": false,
+ "annotations": {},
+ "baseType": "workload",
+ "containers": [
+ {
+ "allowPrivilegeEscalation": false,
+ "image": "nginx",
+ "imagePullPolicy": "Always",
+ "initContainer": false,
+ "name": "nginx",
+ "ports": [
+ {
+ "containerPort": 80,
+ "dnsName": "nginx-nodeport",
+ "kind": "NodePort",
+ "name": "80tcp01",
+ "protocol": "TCP",
+ "sourcePort": 0,
+ "type": "/v3/project/schemas/containerPort"
+ }
+ ],
+ "privileged": false,
+ "readOnly": false,
+ "resources": {
+ "type": "/v3/project/schemas/resourceRequirements",
+ "requests": {},
+ "limits": {}
+ },
+ "restartCount": 0,
+ "runAsNonRoot": false,
+ "stdin": true,
+ "stdinOnce": false,
+ "terminationMessagePath": "/dev/termination-log",
+ "terminationMessagePolicy": "File",
+ "tty": true,
+ "type": "/v3/project/schemas/container",
+ "environmentFrom": [],
+ "capAdd": [],
+ "capDrop": [],
+ "livenessProbe": null,
+ "volumeMounts": []
+ }
+ ],
+ "created": "2018-07-18T07:34:16Z",
+ "createdTS": 1531899256000,
+ "creatorId": null,
+ "deploymentConfig": {
+ "maxSurge": 1,
+ "maxUnavailable": 0,
+ "minReadySeconds": 0,
+ "progressDeadlineSeconds": 600,
+ "revisionHistoryLimit": 10,
+ "strategy": "RollingUpdate"
+ },
+ "deploymentStatus": {
+ "availableReplicas": 1,
+ "conditions": [
+ {
+ "lastTransitionTime": "2018-07-18T07:34:38Z",
+ "lastTransitionTimeTS": 1531899278000,
+ "lastUpdateTime": "2018-07-18T07:34:38Z",
+ "lastUpdateTimeTS": 1531899278000,
+ "message": "Deployment has minimum availability.",
+ "reason": "MinimumReplicasAvailable",
+ "status": "True",
+ "type": "Available"
+ },
+ {
+ "lastTransitionTime": "2018-07-18T07:34:16Z",
+ "lastTransitionTimeTS": 1531899256000,
+ "lastUpdateTime": "2018-07-18T07:34:38Z",
+ "lastUpdateTimeTS": 1531899278000,
+ "message": "ReplicaSet \"nginx-64d85666f9\" has successfully progressed.",
+ "reason": "NewReplicaSetAvailable",
+ "status": "True",
+ "type": "Progressing"
+ }
+ ],
+ "observedGeneration": 2,
+ "readyReplicas": 1,
+ "replicas": 1,
+ "type": "/v3/project/schemas/deploymentStatus",
+ "unavailableReplicas": 0,
+ "updatedReplicas": 1
+ },
+ "dnsPolicy": "ClusterFirst",
+ "id": "deployment:default:nginx",
+ "labels": {
+ "workload.user.cattle.io/workloadselector": "deployment-default-nginx"
+ },
+ "name": "nginx",
+ "namespaceId": "default",
+ "projectId": "c-bcz5t:p-fdr4s",
+ "publicEndpoints": [
+ {
+ "addresses": ["10.64.3.58"],
+ "allNodes": true,
+ "ingressId": null,
+ "nodeId": null,
+ "podId": null,
+ "port": 30917,
+ "protocol": "TCP",
+ "serviceId": "default:nginx-nodeport",
+ "type": "publicEndpoint"
+ }
+ ],
+ "restartPolicy": "Always",
+ "scale": 1,
+ "schedulerName": "default-scheduler",
+ "selector": {
+ "matchLabels": {
+ "workload.user.cattle.io/workloadselector": "deployment-default-nginx"
+ },
+ "type": "/v3/project/schemas/labelSelector"
+ },
+ "state": "active",
+ "terminationGracePeriodSeconds": 30,
+ "transitioning": "no",
+ "transitioningMessage": "",
+ "type": "deployment",
+ "uuid": "f998037d-8a5c-11e8-a4cf-0245a7ebb0fd",
+ "workloadAnnotations": {
+ "deployment.kubernetes.io/revision": "1",
+ "field.cattle.io/creatorId": "user-f4tt2"
+ },
+ "workloadLabels": {
+ "workload.user.cattle.io/workloadselector": "deployment-default-nginx"
+ },
+ "scheduling": {
+ "node": {}
+ },
+ "description": "my decript",
+ "volumes": []
+ }
+}
+```
+
+#### 响应
+
+下面的代码示例描述了一个 API 响应,包括它的元数据标头和正文:
+
+```json
+{
+ "auditID": "a886fd9f-5d6b-4ae3-9a10-5bff8f3d68af",
+ "responseStatus": "200",
+ "stage": "ResponseComplete",
+ "stageTimestamp": "2018-07-20 10:33:06 +0800",
+ "responseBody": {
+ "actionLinks": {
+ "pause": "https://localhost:8443/v3/project/c-bcz5t:p-fdr4s/workloads/deployment:default:nginx?action=pause",
+ "resume": "https://localhost:8443/v3/project/c-bcz5t:p-fdr4s/workloads/deployment:default:nginx?action=resume",
+ "rollback": "https://localhost:8443/v3/project/c-bcz5t:p-fdr4s/workloads/deployment:default:nginx?action=rollback"
+ },
+ "annotations": {},
+ "baseType": "workload",
+ "containers": [
+ {
+ "allowPrivilegeEscalation": false,
+ "image": "nginx",
+ "imagePullPolicy": "Always",
+ "initContainer": false,
+ "name": "nginx",
+ "ports": [
+ {
+ "containerPort": 80,
+ "dnsName": "nginx-nodeport",
+ "kind": "NodePort",
+ "name": "80tcp01",
+ "protocol": "TCP",
+ "sourcePort": 0,
+ "type": "/v3/project/schemas/containerPort"
+ }
+ ],
+ "privileged": false,
+ "readOnly": false,
+ "resources": {
+ "type": "/v3/project/schemas/resourceRequirements"
+ },
+ "restartCount": 0,
+ "runAsNonRoot": false,
+ "stdin": true,
+ "stdinOnce": false,
+ "terminationMessagePath": "/dev/termination-log",
+ "terminationMessagePolicy": "File",
+ "tty": true,
+ "type": "/v3/project/schemas/container"
+ }
+ ],
+ "created": "2018-07-18T07:34:16Z",
+ "createdTS": 1531899256000,
+ "creatorId": null,
+ "deploymentConfig": {
+ "maxSurge": 1,
+ "maxUnavailable": 0,
+ "minReadySeconds": 0,
+ "progressDeadlineSeconds": 600,
+ "revisionHistoryLimit": 10,
+ "strategy": "RollingUpdate"
+ },
+ "deploymentStatus": {
+ "availableReplicas": 1,
+ "conditions": [
+ {
+ "lastTransitionTime": "2018-07-18T07:34:38Z",
+ "lastTransitionTimeTS": 1531899278000,
+ "lastUpdateTime": "2018-07-18T07:34:38Z",
+ "lastUpdateTimeTS": 1531899278000,
+ "message": "Deployment has minimum availability.",
+ "reason": "MinimumReplicasAvailable",
+ "status": "True",
+ "type": "Available"
+ },
+ {
+ "lastTransitionTime": "2018-07-18T07:34:16Z",
+ "lastTransitionTimeTS": 1531899256000,
+ "lastUpdateTime": "2018-07-18T07:34:38Z",
+ "lastUpdateTimeTS": 1531899278000,
+ "message": "ReplicaSet \"nginx-64d85666f9\" has successfully progressed.",
+ "reason": "NewReplicaSetAvailable",
+ "status": "True",
+ "type": "Progressing"
+ }
+ ],
+ "observedGeneration": 2,
+ "readyReplicas": 1,
+ "replicas": 1,
+ "type": "/v3/project/schemas/deploymentStatus",
+ "unavailableReplicas": 0,
+ "updatedReplicas": 1
+ },
+ "dnsPolicy": "ClusterFirst",
+ "hostIPC": false,
+ "hostNetwork": false,
+ "hostPID": false,
+ "id": "deployment:default:nginx",
+ "labels": {
+ "workload.user.cattle.io/workloadselector": "deployment-default-nginx"
+ },
+ "links": {
+ "remove": "https://localhost:8443/v3/project/c-bcz5t:p-fdr4s/workloads/deployment:default:nginx",
+ "revisions": "https://localhost:8443/v3/project/c-bcz5t:p-fdr4s/workloads/deployment:default:nginx/revisions",
+ "self": "https://localhost:8443/v3/project/c-bcz5t:p-fdr4s/workloads/deployment:default:nginx",
+ "update": "https://localhost:8443/v3/project/c-bcz5t:p-fdr4s/workloads/deployment:default:nginx",
+ "yaml": "https://localhost:8443/v3/project/c-bcz5t:p-fdr4s/workloads/deployment:default:nginx/yaml"
+ },
+ "name": "nginx",
+ "namespaceId": "default",
+ "paused": false,
+ "projectId": "c-bcz5t:p-fdr4s",
+ "publicEndpoints": [
+ {
+ "addresses": ["10.64.3.58"],
+ "allNodes": true,
+ "ingressId": null,
+ "nodeId": null,
+ "podId": null,
+ "port": 30917,
+ "protocol": "TCP",
+ "serviceId": "default:nginx-nodeport"
+ }
+ ],
+ "restartPolicy": "Always",
+ "scale": 1,
+ "schedulerName": "default-scheduler",
+ "selector": {
+ "matchLabels": {
+ "workload.user.cattle.io/workloadselector": "deployment-default-nginx"
+ },
+ "type": "/v3/project/schemas/labelSelector"
+ },
+ "state": "active",
+ "terminationGracePeriodSeconds": 30,
+ "transitioning": "no",
+ "transitioningMessage": "",
+ "type": "deployment",
+ "uuid": "f998037d-8a5c-11e8-a4cf-0245a7ebb0fd",
+ "workloadAnnotations": {
+ "deployment.kubernetes.io/revision": "1",
+ "field.cattle.io/creatorId": "user-f4tt2"
+ },
+ "workloadLabels": {
+ "workload.user.cattle.io/workloadselector": "deployment-default-nginx"
+ }
+ }
+}
+```
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-experimental-features/continuous-delivery.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-experimental-features/continuous-delivery.md
new file mode 100644
index 00000000000..c1f42f70a4b
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-experimental-features/continuous-delivery.md
@@ -0,0 +1,13 @@
+---
+title: 持续交付
+---
+
+Rancher 中预装的 [Fleet](../../../how-to-guides/new-user-guides/deploy-apps-across-clusters/fleet.md) 无法完全禁用。但是,你可以使用 `continuous-delivery` 功能开关来禁用 GitOps 持续交付的 Fleet 功能。
+
+如需启用或禁用此功能,请参见[启用实验功能主页](../../../pages-for-subheaders/enable-experimental-features.md)中的说明。
+
+| 环境变量键 | 默认值 | 描述 |
+---|---|---
+| `continuous-delivery` | `true` | 此开关禁用 Fleet 的 GitOps 持续交付功能。 |
+
+如果你在 Rancher 2.5.x 中禁用了 Fleet,然后将 Rancher 升级到 v2.6.x,Fleet 将启用。只有 Fleet 的持续交付功能可以被禁用。当 `continuous-delivery` 被禁用时,`gitjob` deployment 不再部署到 Rancher Server 的本地集群中,且 `continuous-delivery` 不会在 Rancher UI 中显示。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-experimental-features/istio-traffic-management-features.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-experimental-features/istio-traffic-management-features.md
new file mode 100644
index 00000000000..35801de23b4
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-experimental-features/istio-traffic-management-features.md
@@ -0,0 +1,32 @@
+---
+title: UI 管理 Istio 虚拟服务和目标规则
+---
+
+此功能可启动一个 UI,用于管理 Istio 的流量,其中包括创建、读取、更新和删除虚拟服务(Virtual Service)和目标规则(Destination Rule)。
+
+> **注意**:启用此功能并不会启用 Istio。集群管理员需要[为集群启用 Istio](../../../pages-for-subheaders/istio-setup-guide.md) 才能使用该功能。
+
+如需启用或禁用此功能,请参见[启用实验功能主页](../../../pages-for-subheaders/enable-experimental-features.md)中的说明。
+
+| 环境变量键 | 默认值 | 状态 | 可用于 |
+---|---|---|---
+| `istio-virtual-service-ui` | `false` | 实验功能 | v2.3.0 |
+| `istio-virtual-service-ui` | `true` | GA | v2.3.2 |
+
+## 功能介绍
+
+Istio 流量管理功能的主要优势时允许动态请求路由,这对于金丝雀发布,蓝/绿发布或 A/B 测试都非常有用。
+
+启用此功能后,一个页面会打开,让你通过 Rancher UI 配置 Istio 的某些流量管理功能。如果不使用此功能,你可以通过 `kubectl` 来使用 Istio 管理流量。
+
+此功能会启用两个选项卡,一个用于**虚拟服务**,另一个用于**目标规则**。
+
+- **虚拟服务**:拦截并将流量重定向到你的 Kubernetes Service 上。这样,你可以将部分请求流量定向到不同的服务上。你可以使用这些服务来定义一组路由规则,用于主机寻址。详情请参见 [Istio 官方文档](https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service/)。
+- **目标规则**:作为唯一可信来源,表明哪些服务版本可用于接收虚拟服务的流量。你可以使用这些资源来定义策略,这些策略适用于路由发生后用于服务的流量。详情请参见 [Istio 官方文档](https://istio.io/docs/reference/config/networking/v1alpha3/destination-rule)。
+
+如需查看选项卡:
+
+1. 点击 **☰ > 集群管理**。
+1. 转到安装了 Istio 的集群,然后单击 **Explore**。
+1. 在左侧导航栏中,单击 **Istio**。
+1. 你将看到 **Kiali** 和 **Jaeger** 的选项卡。在左侧导航栏中,你可查看和配置**虚拟服务**和**目标规则**。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-experimental-features/rancher-on-arm64.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-experimental-features/rancher-on-arm64.md
new file mode 100644
index 00000000000..16ebb15e25a
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-experimental-features/rancher-on-arm64.md
@@ -0,0 +1,44 @@
+---
+title: "在 ARM64 上运行 Rancher(实验性)"
+---
+
+:::caution
+
+在使用 ARM64 架构的节点上运行 Rancher 目前还处在实验阶段,Rancher 尚未正式支持该功能。因此,我们不建议你在生产环境中使用 ARM64 架构的节点。
+
+:::
+
+如果你的节点使用 ARM64 架构,你可以使用以下选项:
+
+- 在 ARM64 架构的节点上运行 Rancher
+ - 此选项仅适用于 Docker 安装。请知悉,以下安装命令取代了 [Docker 安装链接](../../../pages-for-subheaders/rancher-on-a-single-node-with-docker.md)中的示例:
+
+ ```
+ # 在最后一行 `rancher/rancher:vX.Y.Z` 中,请务必将 "X.Y.Z" 替换为包含 ARM64 版本的发布版本。例如,如果你的匹配版本是 v2.5.8,请在此行填写 `rancher/rancher:v2.5.8`。
+ docker run -d --restart=unless-stopped \
+ -p 80:80 -p 443:443 \
+ --privileged \
+ rancher/rancher:vX.Y.Z
+ ```
+
+:::note
+
+要检查你的发行版本是否与 ARM64 架构兼容,你可以使用以下两种方式找到对应版本的发行说明:
+
+- 访问 [Rancher 发行版本](https://github.com/rancher/rancher/releases)自行查询。
+- 根据标签和版本号直接找到你的版本。例如,你使用的版本为 2.5.8,你可以访问 [Rancher 发行版本 - 2.5.8](https://github.com/rancher/rancher/releases/tag/v2.5.8)。
+
+:::
+
+- 创建自定义集群并添加使用 ARM64 架构的节点
+ - Kubernetes 集群必须为 1.12 或更高版本
+ - CNI 网络插件必须是 [Flannel](../../../faq/container-network-interface-providers.md#flannel)
+- 导入包含使用 ARM64 架构的节点的集群
+ - Kubernetes 集群必须为 1.12 或更高版本
+
+如需了解如何配置集群选项,请参见[集群选项](../../../reference-guides/cluster-configuration/rancher-server-configuration/rke1-cluster-configuration.md)。
+
+以下是未经测试的功能:
+
+- Monitoring、告警、Notifiers、流水线和 Logging
+- 通过应用商店发布应用
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-experimental-features/unsupported-storage-drivers.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-experimental-features/unsupported-storage-drivers.md
new file mode 100644
index 00000000000..19b9b27b2e0
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/enable-experimental-features/unsupported-storage-drivers.md
@@ -0,0 +1,39 @@
+---
+title: 使用非默认支持的存储驱动
+---
+
+此功能允许你使用不是默认启用的存储提供商和卷插件。
+
+如需启用或禁用此功能,请参见[启用实验功能主页](../../../pages-for-subheaders/enable-experimental-features.md)中的说明。
+
+| 环境变量键 | 默认值 | 描述 |
+---|---|---
+| `unsupported-storage-drivers` | `false` | 启用非默认启用的存储提供商和卷插件。 |
+
+### 默认启用的持久卷插件
+下表描述了默认启用的存储类型对应的持久卷插件。启用此功能开关时,不在此列表中的任何持久卷插件均被视为实验功能,且不受支持:
+
+| 名称 | 插件 |
+--------|----------
+| Amazon EBS Disk | `aws-ebs` |
+| AzureFile | `azure-file` |
+| AzureDisk | `azure-disk` |
+| Google Persistent Disk | `gce-pd` |
+| Longhorn | `flex-volume-longhorn` |
+| VMware vSphere Volume | `vsphere-volume` |
+| 本地 | `local` |
+| 网络文件系统 | `nfs` |
+| hostPath | `host-path` |
+
+### 默认启用的 StorageClass
+下表描述了默认启用的 StorageClass 对应的持久卷插件。启用此功能开关时,不在此列表中的任何持久卷插件均被视为实验功能,且不受支持:
+
+| 名称 | 插件 |
+--------|--------
+| Amazon EBS Disk | `aws-ebs` |
+| AzureFile | `azure-file` |
+| AzureDisk | `azure-disk` |
+| Google Persistent Disk | `gce-pd` |
+| Longhorn | `flex-volume-longhorn` |
+| VMware vSphere Volume | `vsphere-volume` |
+| 本地 | `local` |
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/enable-istio-in-cluster.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/enable-istio-in-cluster.md
new file mode 100644
index 00000000000..39c9bdee036
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/enable-istio-in-cluster.md
@@ -0,0 +1,29 @@
+---
+title: 1. 在集群中启用 Istio
+---
+
+:::note 先决条件:
+
+- 只有分配了 `cluster-admin` [Kubernetes 默认角色](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles)的用户可以在 Kubernetes 集群中配置和安装 Istio。
+- 如果你有 pod 安全策略,则需要安装启用了 CNI 的 Istio。有关详细信息,请参阅[本节](../../../integrations-in-rancher/istio/configuration-options/pod-security-policies.md)。
+- 要在 RKE2 集群上安装 Istio,则需要执行额外的步骤。有关详细信息,请参阅[本节](../../../integrations-in-rancher/istio/configuration-options/install-istio-on-rke2-cluster.md)。
+- 要在启用了项目网络隔离的集群中安装 Istio,则需要执行额外的步骤。有关详细信息,请参阅[本节](../../../integrations-in-rancher/istio/configuration-options/project-network-isolation.md)。
+
+:::
+
+1. 点击 **☰ > 集群管理**。
+1. 转到要启用 Istio 的位置,然后单击 **Explore**。
+1. 单击 **Apps**。
+1. 单击 **Chart**。
+1. 单击 **Istio**。
+1. 如果你还没有安装 Monitoring 应用,系统会提示你安装 rancher-monitoring。你也可以选择在 Rancher-monitoring 安装上设置选择器或抓取配置选项。
+1. 可选:为 Istio 组件配置成员访问和[资源限制](../../../integrations-in-rancher/istio/cpu-and-memory-allocations.md)。确保你的 Worker 节点上有足够的资源来启用 Istio。
+1. 可选:如果需要,对 values.yaml 进行额外的配置更改。
+1. 可选:通过[覆盖文件](../../../pages-for-subheaders/configuration-options.md#覆盖文件)来添加其他资源或配置。
+1. 单击**安装**。
+
+**结果**:已在集群级别安装 Istio。
+
+## 其他配置选项
+
+有关配置 Istio 的更多信息,请参阅[配置参考](../../../pages-for-subheaders/configuration-options.md)。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/enable-istio-in-namespace.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/enable-istio-in-namespace.md
new file mode 100644
index 00000000000..3651b9d77c6
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/enable-istio-in-namespace.md
@@ -0,0 +1,53 @@
+---
+title: 2. 在命名空间中启用 Istio
+---
+
+你需要在需要由 Istio 跟踪或控制的每个命名空间中手动启用 Istio。在命名空间中启用 Istio 时,Envoy sidecar 代理将自动注入到部署在命名空间中的所有新工作负载中。
+
+此命名空间设置只会影响命名空间中的新工作负载。之前的工作负载需要重新部署才能使用 sidecar 自动注入。
+
+:::note 先决条件:
+
+要在命名空间中启用 Istio,集群必须安装 Istio。
+
+:::
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 单击**集群 > 项目/命名空间**。
+1. 转到要启用 Istio 的命名空间,然后单击**⋮ > 启用 Istio 自动注入**。或者,你也可以单击命名空间,然后在命名空间详情页面上,单击**⋮ > 启用 Istio 自动注入**。
+
+**结果**:命名空间带有了 `istio-injection=enabled` 标签。默认情况下,部署在此命名空间中的所有新工作负载都将注入 Istio sidecar。
+
+### 验证是否启用了自动 Istio Sidecar 注入
+
+要验证 Istio 是否已启用,请在命名空间中部署一个 hello-world 工作负载。转到工作负载并单击 pod 名称。在**容器**中,你应该能看到 `istio-proxy` 容器。
+
+### 排除工作负载的 Istio Sidecar 注入
+
+要排除 Istio sidecar 被注入某工作负载,请在工作负载上使用以下注释:
+
+```
+sidecar.istio.io/inject: “false”
+```
+
+要将注释添加到工作负载:
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 点击**工作负载**。
+1. 转到不需要 sidecar 的工作负载并以 yaml 编辑。
+1. 将键值 `sidecar.istio.io/inject: false` 添加为工作负载的注释。
+1. 单击**保存**。
+
+**结果**:Istio sidecar 不会被注入到工作负载中。
+
+:::note
+
+如果你遇到部署的 job 未完成的问题,则需要使用提供的步骤将此注释添加到 pod 中。由于 Istio Sidecars 会一直运行,因此即使任务完成了,也不能认为 Job 已完成。
+
+:::
+
+
+### 后续步骤
+[使用 Istio Sidecar 添加部署](use-istio-sidecar.md)
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/generate-and-view-traffic.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/generate-and-view-traffic.md
new file mode 100644
index 00000000000..a6d77763919
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/generate-and-view-traffic.md
@@ -0,0 +1,26 @@
+---
+title: 6. 生成和查看流量
+---
+
+本文介绍如何查看 Istio 管理的流量。
+
+## Kiali 流量图
+
+Istio 概览页面提供了 Kiali 仪表板的链接。在 Kiali 仪表板中,你可以查看每个命名空间的图。Kiali 图提供了一种强大的方式来可视化 Istio 服务网格的拓扑。它显示了服务之间相互通信的情况。
+
+:::note 先决条件:
+
+要显示流量图,请确保你在集群中安装了 Prometheus。Rancher-istio 安装了默认配置的 Kiali 来与 rancher-monitoring Chart 一起工作。你可以使用 rancher-monitoring 或安装自己的监控解决方案。你也可以通过设置[选择器 & 抓取配置](../../../integrations-in-rancher/istio/configuration-options/selectors-and-scrape-configurations.md)选项来更改数据抓取的配置(可选)。
+
+:::
+
+要查看流量图:
+
+1. 在安装了 Istio 的集群中,点击左侧导航栏中的 **Istio**。
+1. 单击 **Kiali** 链接。
+1. 单击侧导航中的**图**。
+1. 在**命名空间**下拉列表中,更改命名空间以查看每个命名空间的流量。
+
+如果你多次刷新 BookInfo 应用的 URL,你将能够在 Kiali 图上看到绿色箭头,显示 `reviews` 服务 `v1` 和 `v3` 的流量。图右侧的控制面板可用于配置详细信息,包括应在图上显示多少分钟的最新流量。
+
+对于其他工具和可视化,你可以从**监控** > **概览**页面转到 Grafana 和 Prometheus 仪表板。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/set-up-istio-gateway.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/set-up-istio-gateway.md
new file mode 100644
index 00000000000..42f89baa8ef
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/set-up-istio-gateway.md
@@ -0,0 +1,147 @@
+---
+title: 4. 设置 Istio Gateway
+---
+
+每个集群的网关可以有自己的端口或负载均衡器,这与服务网格无关。默认情况下,每个 Rancher 配置的集群都有一个 NGINX Ingress Controller 来允许流量进入集群。
+
+无论是否安装了 Istio,你都可以使用 NGINX Ingress Controller。如果这是你集群的唯一网关,Istio 将能够将流量从集群内部的服务路由到集群内部的另一个服务,但 Istio 将无法接收来自集群外部的流量。
+
+要让 Istio 接收外部流量,你需要启用 Istio 的网关,作为外部流量的南北代理。启用 Istio Gateway 后,你的集群将有两个 Ingress。
+
+你还需要为你的服务设置 Kubernetes 网关。此 Kubernetes 资源指向 Istio 对集群 Ingress Gateway 的实现。
+
+你可以使用负载均衡器将流量路由到服务网格中,或使用 Istio 的 NodePort 网关。本文介绍如何设置 NodePort 网关。
+
+有关 Istio Gateway 的更多信息,请参阅 [Istio 文档](https://istio.io/docs/reference/config/networking/v1alpha3/gateway/)。
+
+
+
+## 启用 Istio Gateway
+
+Ingress Gateway 是一个 Kubernetes 服务,将部署在你的集群中。Istio Gateway 支持更多自定义设置,更加灵活。
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 在左侧导航栏中,单击 **Istio > 网关**。
+1. 单击**使用 YAML 文件创建**。
+1. 粘贴你的 Istio Gateway yaml,或选择**从文件读取**。
+1. 单击**创建**。
+
+**结果**:已部署网关,将使用应用的规则来路由流量。
+
+## Istio Gateway 示例
+
+在演示工作负载示例时,我们在服务中添加 BookInfo 应用部署。接下来,我们添加一个 Istio Gateway,以便从集群外部访问该应用。
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 在左侧导航栏中,单击 **Istio > 网关**。
+1. 单击**使用 YAML 文件创建**。
+1. 复制并粘贴下面的 Gateway YAML。
+1. 单击**创建**。
+
+```yaml
+apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+ name: bookinfo-gateway
+spec:
+ selector:
+ istio: ingressgateway # use istio default controller
+ servers:
+ - port:
+ number: 80
+ name: http
+ protocol: HTTP
+ hosts:
+ - "*"
+---
+```
+
+然后,部署为 Gateway 提供流量路由的 VirtualService:
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 在左侧导航栏中,单击 **Istio > VirtualServices**。
+1. 复制并粘贴下面的 VirtualService YAML。
+1. 单击**创建**。
+
+```yaml
+apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+ name: bookinfo
+spec:
+ hosts:
+ - "*"
+ gateways:
+ - bookinfo-gateway
+ http:
+ - match:
+ - uri:
+ exact: /productpage
+ - uri:
+ prefix: /static
+ - uri:
+ exact: /login
+ - uri:
+ exact: /logout
+ - uri:
+ prefix: /api/v1/products
+ route:
+ - destination:
+ host: productpage
+ port:
+ number: 9080
+```
+
+**结果**:你已配置网关资源,Istio 现在可以接收集群外部的流量。
+
+运行以下命令来确认资源存在:
+```
+kubectl get gateway -A
+```
+
+结果应与以下内容类似:
+```
+NAME AGE
+bookinfo-gateway 64m
+```
+
+### 在 Web 浏览器访问 ProductPage 服务
+
+要测试 BookInfo 应用是否已正确部署,你可以使用 Istio 控制器 IP 和端口以及在 Kubernetes 网关资源中指定的请求名称,在 Web 浏览器中查看该应用:
+
+`http://:/productpage`
+
+要获取 Ingress Gateway URL 和端口:
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 在左侧导航栏中,单击**工作负载**。
+1. 向下滚动到 `istio-system` 命名空间。
+1. 在 `istio-system`中,有一个名为 `istio-ingressgateway` 的工作负载。在此工作负载的名称下,你应该会看到如 `80/tcp` 的链接。
+1. 单击其中一个链接。然后,你的 Web 浏览器中会显示 Ingress Gateway 的 URL。将 `/productpage` 尾附到 URL。
+
+**结果**:你能会在 Web 浏览器中看到 BookInfo 应用。
+
+如需检查 Istio 控制器 URL 和端口的帮助,请尝试运行 [Istio 文档](https://istio.io/docs/tasks/traffic-management/ingress/ingress-control/#determining-the-ingress-ip-and-ports)中的命令。
+
+## 故障排除
+
+[官方 Istio 文档](https://istio.io/docs/tasks/traffic-management/ingress/ingress-control/#troubleshooting)建议使用 `kubectl` 命令来检查外部请求的正确 ingress 主机和 ingress 端口。
+
+### 确认 Kubernetes 网关与 Istio 的 Ingress Controller 匹配
+
+你可以尝试执行本节中的步骤以确保 Kubernetes 网关配置正确。
+
+在网关资源中,选择器通过标签来引用 Istio 的默认 Ingress Controller,其中标签的键是 `Istio`,值是 `ingressgateway`。要确保标签适用于网关,请执行以下操作:
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 在左侧导航栏中,单击**工作负载**。
+1. 向下滚动到 `istio-system` 命名空间。
+1. 在 `istio-system`中,有一个名为 `istio-ingressgateway` 的工作负载。单击此工作负载的名称并转到**标签和注释**部分。你应该看到它具有 `istio` 键和 `ingressgateway` 值。这确认了 Gateway 资源中的选择器与 Istio 的默认 ingress controller 匹配。
+
+### 后续步骤
+[设置 Istio 的流量管理组件](set-up-traffic-management.md)
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/set-up-traffic-management.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/set-up-traffic-management.md
new file mode 100644
index 00000000000..9782bd28938
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/set-up-traffic-management.md
@@ -0,0 +1,76 @@
+---
+title: 5. 设置 Istio 的流量管理组件
+---
+
+Istio 中流量管理的一个核心优势是允许动态请求路由。动态请求路由通常应用于金丝雀部署和蓝/绿部署等。Istio 流量管理中的两个关键资源是*虚拟服务*和*目标规则*。
+
+- [虚拟服务](https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service/):拦截并将流量重定向到你的 Kubernetes Service 上。这样,你可以将部分请求流量分配到不同的服务上。你可以使用这些服务来定义一组路由规则,用于主机寻址。
+- [目标规则](https://istio.io/docs/reference/config/networking/v1alpha3/destination-rule/):作为唯一可信来源,表明哪些服务版本可用于接收虚拟服务的流量。你可以使用这些资源来定义策略,这些策略适用于路由发生后用于服务的流量。
+
+本文介绍如何在示例 BookInfo 应用中添加与 `reviews` 微服务对应的虚拟服务示例。此服务的目的是在 `reviews` 服务的两个版本之间划分流量。
+
+在这个示例中,我们将流量带到 `reviews` 服务中并拦截流量,这样,50% 的流量会流向服务的 `v1`,另外 50% 的流量会流向 `v2 `。
+
+部署这个虚拟服务后,我们将生成流量,并通过 Kiali 可视化看到流量平均路由到服务的两个版本中。
+
+要为 `reviews` 服务部署虚拟服务和目标规则:
+1. 点击 **☰ > 集群管理**。
+1. 转到安装了 Istio 的集群,然后单击 **Explore**。
+1. 在安装了 Istio 的集群中,点击左侧导航栏中的 **Istio > DestinationRules**。
+1. 单击**创建**。
+1. 复制并粘贴下面的 DestinationRule YAML。
+1. 单击**创建**。
+1. 单击**以 YAML 文件编辑**并使用此配置:
+
+ ```yaml
+ apiVersion: networking.istio.io/v1alpha3
+ kind: DestinationRule
+ metadata:
+ name: reviews
+ spec:
+ host: reviews
+ subsets:
+ - name: v1
+ labels:
+ version: v1
+ - name: v2
+ labels:
+ version: v2
+ - name: v3
+ labels:
+ version: v3
+ ```
+1. 单击**创建**。
+
+然后,部署提供利用 DestinationRule 的流量路由的 VirtualService:
+
+1. 单击侧导航栏中的 **VirtualService**。
+1. 单击**使用 YAML 文件创建**。
+1. 复制并粘贴下面的 VirtualService YAML。
+1. 单击**创建**。
+
+```yaml
+apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+ name: reviews
+spec:
+ hosts:
+ - reviews
+ http:
+ - route:
+ - destination:
+ host: reviews
+ subset: v1
+ weight: 50
+ - destination:
+ host: reviews
+ subset: v3
+ weight: 50
+---
+```
+
+**结果**:生成流到该服务的流量时(例如,刷新 Ingress Gateway URL),你可以在 Kiali 流量图中看到流到 `reviews` 服务的流量被平均分配到了 `v1` 和 `v3`。
+
+### 后续步骤
+[生成和查看流量](generate-and-view-traffic.md)
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/use-istio-sidecar.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/use-istio-sidecar.md
new file mode 100644
index 00000000000..2290de911ad
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/istio-setup-guide/use-istio-sidecar.md
@@ -0,0 +1,360 @@
+---
+title: 3. 使用 Istio Sidecar 添加部署和服务
+---
+
+:::note 先决条件:
+
+要为工作负载启用 Istio,你必须先在集群和命名空间中安装 Istio 应用。
+
+:::
+
+在命名空间中启用 Istio 只会为新工作负载启用自动 sidecar 注入。要为现有工作负载启用 Envoy sidecar,你需要手动为每个工作负载启用它。
+
+要在命名空间中的现有工作负载上注入 Istio sidecar:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要可视化的集群,然后单击 **Explore**。
+1. 点击**工作负载**。
+1. 转到要注入 Istio sidecar 的工作负载,然后单击 **⋮ > 重新部署**。重新部署工作负载后,该工作负载会自动注入 Envoy sidecar。
+
+等待几分钟,然后工作负载将升级并具有 Istio sidecar。单击它并转到**容器**。你应该能看到该工作负载旁边的 `istio-proxy`。这意味着为工作负载启用了 Istio sidecar。Istio 正在为 Sidecar Envoy 做所有的接线工作。如果你现在在 yaml 中启用它们,Istio 可以自动执行所有功能。
+
+### 添加部署和服务
+
+以下是在命名空间中添加新 **Deployment** 的几种方法:
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 点击**工作负载**。
+1. 单击**创建**。
+1. 点击 **Deployment**。
+1. 填写表单,或**以 YAML 文件编辑**。
+1. 单击**创建**。
+
+要将 **Service** 添加到你的命名空间:
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 点击**服务发现 > 服务**。
+1. 单击**创建**。
+1. 选择所需的服务类型。
+1. 填写表单,或**以 YAML 文件编辑**。
+1. 点击**创建**。
+
+你还可以使用 kubectl **shell** 来创建 deployment 和 service:
+
+1. 如果你的文件存储在本地集群中,运行 `kubectl create -f .yaml`。
+1. 或运行 `cat<< EOF | kubectl apply -f -`,将文件内容粘贴到终端,然后运行 `EOF` 来完成命令。
+
+### 部署和服务示例
+
+接下来,我们为 Istio 文档中的 BookInfo 应用的示例部署和服务添加 Kubernetes 资源:
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 在顶部导航栏中,打开 kubectl shell。
+1. 运行 `cat<< EOF | kubectl apply -f -`。
+1. 将以下资源复制到 shell 中。
+1. 运行 `EOF`。
+
+这将在 Istio 的示例 BookInfo 应用中设置以下示例资源:
+
+Details 服务和部署:
+
+- 一个 `details` Service。
+- 一个 `bookinfo-details` 的 ServiceAccount。
+- 一个 `details-v1` Deployment。
+
+Ratings 服务和部署:
+
+- 一个 `ratings` Service。
+- 一个 `bookinfo-ratings` 的 ServiceAccount。
+- 一个 `ratings-v1` Deployment。
+
+Reviews 服务和部署(三个版本):
+
+- 一个 `reviews` Service。
+- 一个 `bookinfo-reviews` 的 ServiceAccount。
+- 一个 `reviews-v1` Deployment。
+- 一个 `reviews-v2` Deployment。
+- 一个 `reviews-v3` Deployment。
+
+Productpage 服务和部署:
+
+这是应用的主页,可以通过网络浏览器中查看。将从该页面调用其他服务。
+
+- 一个 `productpage` service。
+- 一个 `bookinfo-productpage` 的 ServiceAccount。
+- 一个 `productpage-v1` Deployment。
+
+### 资源 YAML
+
+```yaml
+# Copyright 2017 Istio Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+##################################################################################################
+# Details service
+##################################################################################################
+apiVersion: v1
+kind: Service
+metadata:
+ name: details
+ labels:
+ app: details
+ service: details
+spec:
+ ports:
+ - port: 9080
+ name: http
+ selector:
+ app: details
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: bookinfo-details
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: details-v1
+ labels:
+ app: details
+ version: v1
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: details
+ version: v1
+ template:
+ metadata:
+ labels:
+ app: details
+ version: v1
+ spec:
+ serviceAccountName: bookinfo-details
+ containers:
+ - name: details
+ image: docker.io/istio/examples-bookinfo-details-v1:1.15.0
+ imagePullPolicy: IfNotPresent
+ ports:
+ - containerPort: 9080
+---
+##################################################################################################
+# Ratings service
+##################################################################################################
+apiVersion: v1
+kind: Service
+metadata:
+ name: ratings
+ labels:
+ app: ratings
+ service: ratings
+spec:
+ ports:
+ - port: 9080
+ name: http
+ selector:
+ app: ratings
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: bookinfo-ratings
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: ratings-v1
+ labels:
+ app: ratings
+ version: v1
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: ratings
+ version: v1
+ template:
+ metadata:
+ labels:
+ app: ratings
+ version: v1
+ spec:
+ serviceAccountName: bookinfo-ratings
+ containers:
+ - name: ratings
+ image: docker.io/istio/examples-bookinfo-ratings-v1:1.15.0
+ imagePullPolicy: IfNotPresent
+ ports:
+ - containerPort: 9080
+---
+##################################################################################################
+# Reviews service
+##################################################################################################
+apiVersion: v1
+kind: Service
+metadata:
+ name: reviews
+ labels:
+ app: reviews
+ service: reviews
+spec:
+ ports:
+ - port: 9080
+ name: http
+ selector:
+ app: reviews
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: bookinfo-reviews
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: reviews-v1
+ labels:
+ app: reviews
+ version: v1
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: reviews
+ version: v1
+ template:
+ metadata:
+ labels:
+ app: reviews
+ version: v1
+ spec:
+ serviceAccountName: bookinfo-reviews
+ containers:
+ - name: reviews
+ image: docker.io/istio/examples-bookinfo-reviews-v1:1.15.0
+ imagePullPolicy: IfNotPresent
+ ports:
+ - containerPort: 9080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: reviews-v2
+ labels:
+ app: reviews
+ version: v2
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: reviews
+ version: v2
+ template:
+ metadata:
+ labels:
+ app: reviews
+ version: v2
+ spec:
+ serviceAccountName: bookinfo-reviews
+ containers:
+ - name: reviews
+ image: docker.io/istio/examples-bookinfo-reviews-v2:1.15.0
+ imagePullPolicy: IfNotPresent
+ ports:
+ - containerPort: 9080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: reviews-v3
+ labels:
+ app: reviews
+ version: v3
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: reviews
+ version: v3
+ template:
+ metadata:
+ labels:
+ app: reviews
+ version: v3
+ spec:
+ serviceAccountName: bookinfo-reviews
+ containers:
+ - name: reviews
+ image: docker.io/istio/examples-bookinfo-reviews-v3:1.15.0
+ imagePullPolicy: IfNotPresent
+ ports:
+ - containerPort: 9080
+---
+##################################################################################################
+# Productpage services
+##################################################################################################
+apiVersion: v1
+kind: Service
+metadata:
+ name: productpage
+ labels:
+ app: productpage
+ service: productpage
+spec:
+ ports:
+ - port: 9080
+ name: http
+ selector:
+ app: productpage
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: bookinfo-productpage
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: productpage-v1
+ labels:
+ app: productpage
+ version: v1
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: productpage
+ version: v1
+ template:
+ metadata:
+ labels:
+ app: productpage
+ version: v1
+ spec:
+ serviceAccountName: bookinfo-productpage
+ containers:
+ - name: productpage
+ image: docker.io/istio/examples-bookinfo-productpage-v1:1.15.0
+ imagePullPolicy: IfNotPresent
+ ports:
+ - containerPort: 9080
+---
+```
+
+### 后续步骤
+[设置 Istio Gateway](set-up-istio-gateway.md)
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-pod-security-policies.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-pod-security-policies.md
new file mode 100644
index 00000000000..91578148d71
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-pod-security-policies.md
@@ -0,0 +1,39 @@
+---
+title: Pod 安全策略
+---
+
+:::note
+
+本文介绍的集群选项仅适用于 [Rancher 已在其中启动 Kubernetes 的集群](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)。
+
+:::
+
+你可以在创建项目的时候设置 Pod 安全策略(PSP)。如果在创建项目期间没有为项目分配 PSP,你也随时可以将 PSP 分配给现有项目。
+
+### 先决条件
+
+- 在 Rancher 中创建 Pod 安全策略。在将默认 PSP 分配给现有项目之前,你必须有一个可分配的 PSP。有关说明,请参阅[创建 Pod 安全策略](../../new-user-guides/authentication-permissions-and-global-configuration/create-pod-security-policies.md)。
+- 将默认 Pod 安全策略分配给项目所属的集群。如果 PSP 还没有应用到集群,你无法将 PSP 分配给项目。有关详细信息,请参阅[将 pod 安全策略添加到集群](../../new-user-guides/manage-clusters/add-a-pod-security-policy.md)。
+
+### 应用 Pod 安全策略
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到需要移动命名空间的集群,然后单击 **Explore**。
+1. 单击**集群 > 项目/命名空间**。
+1. 找到要添加 PSP 的项目。在该项目中选择 **⋮ > 编辑配置**。
+1. 从 **Pod 安全策略**下拉列表中,选择要应用于项目的 PSP。
+ 将 PSP 分配给项目将:
+
+- 覆盖集群的默认 PSP。
+- 将 PSP 应用于项目。
+- 将 PSP 应用到后续添加到项目中的命名空间。
+
+1. 单击**保存**。
+
+**结果**:已将 PSP 应用到项目以及项目内的命名空间。
+
+:::note
+
+对于在分配 PSP 之前已经在集群或项目中运行工作负载,Rancher 不会检查它们是否符合 PSP。你需要克隆或升级工作负载以查看它们是否通过 PSP。
+
+:::
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas/about-project-resource-quotas.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas/about-project-resource-quotas.md
new file mode 100644
index 00000000000..26e87e8f31a
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas/about-project-resource-quotas.md
@@ -0,0 +1,67 @@
+---
+title: Rancher 项目中资源配额的工作原理
+---
+
+Rancher 中的资源配额包含与 [Kubernetes 原生版本](https://kubernetes.io/docs/concepts/policy/resource-quotas/)相同的功能。Rancher 还扩展了资源配额的功能,让你将资源配额应用于项目。
+
+在标准 Kubernetes deployment 中,资源配额会应用于各个命名空间。但是,你不能通过单次操作将配额应用到多个命名空间,而必须多次应用资源配额。
+
+在下图中,Kubernetes 管理员试图在没有 Rancher 的情况下强制执行资源配额。管理员想要使用一个资源配额来为集群中的每个命名空间配置统一的 CPU 和内存限制 (`Namespace 1-4`)。但是,在 Kubernetes 的基础版本中,每个命名空间都需要单独设置资源配额。因此,管理员必须创建四个配置相同规格的不同资源配额(`Resource Quota 1-4`)并单独应用这些配额。
+
+Kubernetes 基础版本:每个命名空间都需要独立设置资源配额
+
+
+
+和原生 Kubernetes 相比,Rancher 的资源配额有不同。在 Rancher 中,你可以把资源配额应用到项目层级,进而让项目的资源配额沿用到项目内的每一个命名空间,然后 Kubernetes 会使用原生的资源配额来强制执行你设置的限制。如果要更改特定命名空间的配额,你也可以覆盖设置。
+
+项目配额包括你在创建或编辑集群时设置的两个限制:
+
+
+- **项目限制**:
+
+ 配置了项目中所有命名空间共享的每个指定资源的总限制。
+
+- **命名空间默认限制**:
+
+ 配置了每个命名空间对每个指定资源的默认配额。
+ 如果项目中的命名空间配置没有被覆盖,那么此限制会自动绑定到命名空间并强制执行。
+
+
+在下图中,Rancher 管理员想使用资源配额来为项目中的每个命名空间(`命名空间 1-4`)设置相同的 CPU 和内存限制。在 Rancher 中,管理员可以为项目设置资源配额(`项目资源配额`),而不需要为命名空间单独进行设置。此配额包括整个项目(`项目限制`)和单个命名空间(`命名空间默认限制`)的资源限制。然后,Rancher 会将`命名空间默认限制`的配额沿用到每个命名空间(`命名空间资源配额`)。
+
+Rancher:资源配额沿用到每个命名空间
+
+
+
+以下介绍在 Rancher UI **_中_** 创建的命名空间的更细微的功能。如果你删除了项目级别的资源配额,无论命名空间层级是否有自定义的资源配额,项目内的所有命名空间也会移除这个资源配额。在项目层级修改已有的命名空间默认资源配额,不会影响命名空间内的资源配额,修改后的项目层级资源配额只会对以后新建的命名空间生效。要修改多个现有命名空间的默认限制,你可以在项目层级删除该限制,然后再使用新的默认值重新创建配额。这种方式会将新的默认值应用于项目中的所有现有命名空间。
+
+在项目中创建命名空间之前,Rancher 会使用默认限制和覆盖限制来对比项目内的可用资源和请求资源。
+如果请求的资源超过了项目中这些资源的剩余容量,Rancher 将为命名空间分配该资源的剩余容量。
+
+但是,在 Rancher 的 UI **_外_** 创建的命名空间的处理方法则不一样。对于通过 `kubectl` 创建的命名空间,如果请求的资源量多余项目内的余量,Rancher 会分配一个数值为 **0** 的资源配额。
+
+要使用 `kubectl` 在现有项目中创建命名空间,请使用 `field.cattle.io/projectId` 注释。要覆盖默认的请求配额限制,请使用 `field.cattle.io/resourceQuota` 注释。
+
+请注意,Rancher 只会覆盖项目配额上定义的资源限制。
+
+```
+apiVersion: v1
+kind: Namespace
+metadata:
+ annotations:
+ field.cattle.io/projectId: [your-cluster-ID]:[your-project-ID]
+ field.cattle.io/resourceQuota: '{"limit":{"limitsCpu":"100m", "configMaps": "50"}}'
+ name: my-ns
+```
+在此示例中,如果项目配额在其资源列表中不包含 configMaps,那么 Rancher 将忽略此覆盖中的 `configMaps`。
+
+对于项目中未定义的资源,建议你在命名空间中创建专用的 `ResourceQuota` 对象来配置其它自定义限制。
+资源配额是原生 Kubernetes 对象,如果命名空间属于具有配额的项目,Rancher 将忽略用户定义的配额,从而给予用户更多的控制权。
+
+下表对比了 Rancher 和 Kubernetes 资源配额的主要区别:
+
+| Rancher 资源配额 | Kubernetes 资源配额 |
+| ---------------------------------------------------------- | -------------------------------------------------------- |
+| 应用于项目和命名空间。 | 仅应用于命名空间。 |
+| 为项目中的所有命名空间创建资源池。 | 将静态资源限制应用到单独的命名空间。 |
+| 通过沿用的模式,将资源配额应用于各个命名空间。 | 仅应用于指定的命名空间。 |
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas/override-default-limit-in-namespaces.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas/override-default-limit-in-namespaces.md
new file mode 100644
index 00000000000..f29c3004b85
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas/override-default-limit-in-namespaces.md
@@ -0,0 +1,34 @@
+---
+title: 覆盖命名空间的默认限制
+---
+
+**命名空间默认限制**会在创建时从项目沿用到每个命名空间。但在某些情况下,你可能需要增加或减少特定命名空间的配额。在这种情况下,你可以通过编辑命名空间来覆盖默认限制。
+
+在下图中,Rancher 管理员的项目有一个已生效的资源配额。但是,管理员想要覆盖 `Namespace 3` 的命名空间限制,以便让该命名空间使用更多资源。因此,管理员[提高了 `Namespace 3` 的命名空间限制](../../../new-user-guides/manage-clusters/projects-and-namespaces.md),以便命名空间可以访问更多资源。
+
+命名空间默认限制覆盖
+
+
+
+有关详细信息,请参阅[如何编辑命名空间资源配额](../../../new-user-guides/manage-clusters/projects-and-namespaces.md)。
+
+### 编辑命名空间资源配额
+
+如果你已为项目配置了资源配额,你可以覆盖命名空间默认限制,从而为特定命名空间提供对更多(或更少)项目资源的访问权限:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要编辑命名空间资源配额的集群,然后单击 **Explore**。
+1. 单击**集群 > 项目/命名空间**。
+1. 找到要为其编辑资源配额的命名空间。单击 **⋮ > 编辑配置**。
+1. 编辑资源限制。这些限制决定了命名空间可用的资源。必须在项目限制范围内配置这些配额限制。
+
+ 有关每个**资源类型**的详细信息,请参阅[类型参考](resource-quota-types.md)。
+
+ :::note
+
+ - 如果没有为项目配置资源配额,这些选项将不可用。
+ - 如果你输入的限制超过了配置的项目限制,你将无法保存修改。
+
+ :::
+
+**结果**:覆盖设置已经应用到命名空间的资源配额。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas/resource-quota-types.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas/resource-quota-types.md
new file mode 100644
index 00000000000..b0873befd7a
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas/resource-quota-types.md
@@ -0,0 +1,27 @@
+---
+title: 资源配额类型参考
+---
+
+创建资源配额相当于配置项目可用的资源池。你可以为以下资源类型设置资源配额:
+
+| 资源类型 | 描述 |
+| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| CPU 限制\* | 分配给项目/命名空间的最大 CPU 量(以[毫核](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#meaning-of-cpu)为单位)1 |
+| CPU 预留\* | 预留给项目/命名空间的最小 CPU 量(以毫核为单位)1 |
+| 内存限制\* | 分配给项目/命名空间的最大内存量(以字节为单位)1 |
+| 内存预留\* | 预留给项目/命名空间的最小内存量(以字节为单位)1 |
+| 存储预留 | 预留给项目/命名空间的最小存储量(以千兆字节为单位) |
+| 服务负载均衡器 | 项目/命名空间中可以存在的负载均衡器服务的最大数量 |
+| 服务节点端口 | 项目/命名空间中可以存在的节点端口服务的最大数量 |
+| Pod | 可以在项目/命名空间中以非终端状态存在的 pod 的最大数量(即 `.status.phase in (Failed, Succeeded)` 等于 true 的 pod) |
+| Services | 项目/命名空间中可以存在的最大 service 数量 |
+| ConfigMap | 项目/命名空间中可以存在的 ConfigMap 的最大数量 |
+| 持久卷声明 | 项目/命名空间中可以存在的持久卷声明的最大数量 |
+| ReplicationController | 项目/命名空间中可以存在的最大 ReplicationController 数量 |
+| 密文 | 项目/命名空间中可以存在的最大密文数量 |
+
+:::note *** **
+
+在设置资源配额时,如果你在项目或命名空间上设置了任何与 CPU 或内存相关的内容(即限制或预留),所有容器都需要在创建期间设置各自的 CPU 或内存字段。你可以同时设置容器的默认资源限制,以避免为每个工作负载显式设置这些限制。详情请参阅 [Kubernetes 文档](https://kubernetes.io/docs/concepts/policy/resource-quotas/#requests-vs-limits)。
+
+:::
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas/set-container-default-resource-limits.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas/set-container-default-resource-limits.md
new file mode 100644
index 00000000000..e56f617e7a0
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas/set-container-default-resource-limits.md
@@ -0,0 +1,40 @@
+---
+title: 设置容器默认资源限制
+---
+
+在设置资源配额时,如果你在项目或命名空间上设置了任何与 CPU 或内存相关的内容(即限制或预留),所有容器都需要在创建期间设置各自的 CPU 或内存字段。详情请参阅 [Kubernetes 文档](https://kubernetes.io/docs/concepts/policy/resource-quotas/#requests-vs-limits)。
+
+为了避免在创建工作负载期间对每个容器设置这些限制,可以在命名空间上指定一个默认的容器资源限制。
+
+### 编辑容器默认资源限制
+
+你可以在以下情况下编辑容器的默认资源限制:
+
+- 你在项目上设置了 CPU 或内存资源配额,现在需要为容器设置相应的默认值。
+- 你需要编辑容器的默认资源限制。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要编辑默认资源限制的集群,然后单击 **Explore**。
+1. 单击**集群 > 项目/命名空间**。
+1. 找到要编辑容器默认资源限制的项目。在该项目中选择 **⋮ > 编辑配置**。
+1. 展开**容器默认资源限制**并编辑对应的值。
+
+### 沿用资源限制
+
+在项目级别设置默认容器资源限制后,项目中所有新建的命名空间都会沿用这个资源限制参数。新设置的限制不会影响项目中现有的命名空间。你需要为项目中的现有命名空间手动设置默认容器资源限制,以便创建容器时能应用该限制。
+
+你可以为项目设置容器的默认资源限制并启动任何商店应用。
+
+在命名空间上配置容器默认资源限制后,在该命名空间中创建的任何容器都会沿用该默认值。你可以在工作负载创建期间覆盖这些限制/预留。
+
+### 容器资源配额类型
+
+可以配置以下资源限制:
+
+| 资源类型 | 描述 |
+| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| CPU 限制 | 分配给容器的最大 CPU 量(以[毫核](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#meaning-of-cpu)为单位)。 |
+| CPU 预留 | 保留给容器的最小 CPU 量(以毫核为单位)。 |
+| 内存限制 | 分配给容器的最大内存量(以字节为单位)。 |
+| 内存预留 | 保留给容器的最小内存量(以字节为单位)。 |
+| NVIDIA GPU 限制/预留 | 分配给容器的 GPU 数量。GPU 的限制和预留始终相同。 |
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/create-persistent-grafana-dashboard.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/create-persistent-grafana-dashboard.md
new file mode 100644
index 00000000000..e5a2deccf45
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/create-persistent-grafana-dashboard.md
@@ -0,0 +1,148 @@
+---
+title: 持久化 Grafana 仪表板
+---
+
+要在重启 Grafana 实例后保存 Grafana 仪表板,请将仪表板的配置 JSON 添加到 ConfigMap 中。ConfigMap 还支持使用基于 GitOps 或 CD 的方法来部署仪表板,从而让你对仪表板进行版本控制。
+
+- [创建持久化 Grafana 仪表板](#创建持久化-grafana-仪表板)
+- [已知问题](#已知问题)
+
+## 创建持久化 Grafana 仪表板
+
+
+
+
+:::note 先决条件:
+
+- 已安装 Monitoring 应用。
+- 要创建持久化仪表板,你必须在包含 Grafana 仪表板的项目或命名空间中至少具有**管理 ConfigMap** 的 Rancher RBAC 权限。这与 Monitoring Chart 公开的 `monitoring-dashboard-edit` 或 `monitoring-dashboard-admin` Kubernetes 原生 RBAC 角色对应。
+- 要查看指向外部监控 UI(包括 Grafana 仪表板)的链接,你至少需要一个 [project-member 角色](../../../integrations-in-rancher/monitoring-and-alerting/rbac-for-monitoring.md#具有-rancher-权限的用户)。
+
+:::
+
+### 1. 获取要持久化的仪表板的 JSON 模型
+
+要创建持久化仪表板,你需要获取要持久化的仪表板的 JSON 模型。你可以使用预制仪表板或自行构建仪表板。
+
+要使用预制仪表板,请转到 [https://grafana.com/grafana/dashboards](https://grafana.com/grafana/dashboards),打开详细信息页面,然后单击 **Download JSON** 按钮来获取下一步所需的 JSON 模型。
+
+要使用你自己的仪表板:
+
+1. 点击链接打开 Grafana。在集群详细信息页面上,单击 **Monitoring**。
+1. 登录到 Grafana。请注意,Grafana 实例的默认 Admin 用户名和密码是 `admin/prom-operator`。你还可以在部署或升级 Chart 时替换凭证。
+
+ :::note
+
+ 无论谁拥有密码,你都需要在部署了 Rancher Monitoring 的项目中至少具有管理服务 或查看监控 的权限才能访问 Grafana 实例。你还可以在部署或升级 Chart 时替换凭证。
+
+ :::
+
+1. 使用 Grafana UI 创建仪表板。完成后,单击顶部导航菜单中的齿轮图标转到仪表板设置页面。在左侧导航菜单中,单击 **JSON Model**。
+1. 复制出现的 JSON 数据结构。
+
+### 2. 使用 Grafana JSON 模型创建 ConfigMap
+
+在包含 Grafana 仪表板的命名空间中创建一个 ConfigMap(默认为 cattle-dashboards )。
+
+ConfigMap 与以下内容类似:
+
+```yaml
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ labels:
+ grafana_dashboard: "1"
+ name:
+ namespace: cattle-dashboards # 如果不使用默认命名空间,则修改此值
+data:
+ .json: |-
+
+```
+
+默认情况下,Grafana 配置为监控 `cattle-dashboards` 命名空间中带有 `grafana_dashboard` 标签的所有 ConfigMap。
+
+要让 Grafana 监控所有命名空间中的 ConfigMap,请参阅[本节](#为-grafana-仪表板-configmap-配置命名空间)。
+
+要在 Rancher UI 中创建 ConfigMap:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要可视化的集群,然后单击 **Explore**。
+1. 单击**更多资源 > 核心 > 配置映射**。
+1. 单击**创建**。
+1. 设置与上例类似的键值对。输入 `.json` 的值时,点击**从文件读取**并上传 JSON 数据模型。
+1. 单击**创建**。
+
+**结果**:创建 ConfigMap 后,即使 Grafana pod 重启了,ConfigMap 也能显示在 Grafana UI 上并持久化。
+
+无法在 Grafana UI 中删除或编辑使用 ConfigMap 持久化了的仪表板。
+
+如果你在 Grafana UI 中删除仪表板,你将看到 "Dashboard cannot be deleted because it was provisioned" 的错误消息。如需删除仪表板,你需要删除 ConfigMap。
+
+### 为 Grafana 仪表板 ConfigMap 配置命名空间
+
+要让 Grafana 监控所有命名空间中的 ConfigMap,请在 `rancher-monitoring` Helm chart 中指定以下值:
+
+```
+grafana.sidecar.dashboards.searchNamespace=ALL
+```
+
+请注意,Monitoring Chart 用于添加 Grafana 仪表板的 RBAC 角色仅能让用户将仪表板添加到定义在 `grafana.dashboards.namespace` 中的命名空间,默认为 `cattle-dashboards`。
+
+
+
+
+:::note 先决条件:
+
+- 已安装 Monitoring 应用。
+- 你必须具有 cluster-admin ClusterRole 权限。
+
+:::
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要在其中配置 Grafana 命名空间的集群,然后单击 **Explore**。
+1. 在左侧导航栏中,单击**监控**。
+1. 点击 **Grafana**。
+1. 登录到 Grafana。请注意,Grafana 实例的默认 Admin 用户名和密码是 `admin/prom-operator`。你还可以在部署或升级 Chart 时替换凭证。
+
+ :::note
+
+ 无论谁拥有密码,都需要 Rancher 的集群管理员权限才能访问 Grafana 实例。
+
+ :::
+
+1. 转到要进行持久化的仪表板。在顶部导航菜单中,通过单击齿轮图标转到仪表板设置。
+1. 在左侧导航菜单中,单击 **JSON Model**。
+1. 复制出现的 JSON 数据结构。
+1. 在 `cattle-dashboards` 命名空间中创建一个 ConfigMap。ConfigMap 需要有 `grafana_dashboard: "1"` 标签。将 JSON 粘贴到 ConfigMap 中,格式如下例所示:
+
+ ```yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+ labels:
+ grafana_dashboard: "1"
+ name:
+ namespace: cattle-dashboards
+ data:
+ .json: |-
+
+ ```
+
+**结果**:创建 ConfigMap 后,即使 Grafana pod 重启了,ConfigMap 也能显示在 Grafana UI 上并持久化。
+
+无法在 Grafana UI 中删除使用 ConfigMap 持久化了的仪表板。如果你在 Grafana UI 中删除仪表板,你将看到 "Dashboard cannot be deleted because it was provisioned" 的错误消息。如需删除仪表板,你需要删除 ConfigMap。
+
+为防止在卸载 Monitoring v2 时删除持久化的仪表板,请将以下注释添加到 `cattle-dashboards` 命名空间:
+
+```
+helm.sh/resource-policy: "keep"
+```
+
+
+
+
+## 已知问题
+
+如果你的 Monitoring V2 版本是 v9.4.203 或更低版本,卸载 Monitoring chart 将同时删除 `cattle-dashboards` 命名空间,所有持久化的仪表板将被删除(除非命名空间带有注释 `helm.sh/resource-policy: "keep"`)。
+
+Rancher 2.5.8 发布的新 Monitoring Chart 中默认添加了该注解,但使用早期 Rancher 版本的用户仍需手动应用该注释。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/customize-grafana-dashboard.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/customize-grafana-dashboard.md
new file mode 100644
index 00000000000..5fa126a9089
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/customize-grafana-dashboard.md
@@ -0,0 +1,39 @@
+---
+title: 自定义 Grafana 仪表板
+---
+
+在本文中,你将学习通过自定义 Grafana 仪表板来显示特定容器的指标。
+
+### 先决条件
+
+在自定义 Grafana 仪表板之前,你必须先安装 `rancher-monitoring` 应用。
+
+要查看指向外部监控 UI(包括 Grafana 仪表板)的链接,你至少需要一个 [project-member 角色](../../../integrations-in-rancher/monitoring-and-alerting/rbac-for-monitoring.md#具有-rancher-权限的用户)。
+
+### 登录 Grafana
+
+1. 在 Rancher UI 中,转到要自定义的仪表板的集群。
+1. 在左侧导航栏中,单击**监控**。
+1. 单击 **Grafana**。Grafana 仪表板将在新选项卡中打开。
+1. 转到左下角的登录图标,然后单击 **Sign In**。
+1. 登录到 Grafana。Grafana 实例的默认 Admin 用户名和密码是 `admin/prom-operator`(无论谁拥有密码,都需要 Rancher 的集群管理员权限才能访问 Grafana 实例)。你还可以在部署或升级 Chart 时替换凭证。
+
+
+### 获取支持 Grafana 面板的 PromQL 查询
+
+对于任何面板,你可以单击标题并单击 **Explore** 以获取支持图形的 PromQL 查询。
+
+例如,如果要获取 Alertmanager 容器的 CPU 使用率,点击 **CPU Utilization > Inspect**。
+
+**Data** 选项卡将基础数据显示为时间序列,第一列是时间,第二列是 PromQL 查询结果。复制 PromQL 查询。
+
+```
+(1 - (avg(irate({__name__=~"node_cpu_seconds_total|windows_cpu_time_total",mode="idle"}[5m])))) * 100
+```
+
+然后,你可以在 Grafana 面板中修改查询,或使用该查询创建新的 Grafana 面板。
+
+参考:
+
+- [编辑面板的 Grafana 文档](https://grafana.com/docs/grafana/latest/panels-visualizations/configure-panel-options/#edit-a-panel)
+- [向仪表板添加面板的 Grafana 文档](https://grafana.com/docs/grafana/latest/panels-visualizations/panel-editor-overview)
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/debug-high-memory-usage.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/debug-high-memory-usage.md
new file mode 100644
index 00000000000..a51a45041ec
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/debug-high-memory-usage.md
@@ -0,0 +1,19 @@
+---
+title: 调试高内存用量
+---
+
+Prometheus 中的每个时间序列都由其[指标名称](https://prometheus.io/docs/practices/naming/#metric-names)和称为[标签](https://prometheus.io/docs/practices/naming/#labels)的可选键值对唯一标识。
+
+标签允许过滤和聚合时间序列数据,但它们也使 Prometheus 收集的数据量成倍增加。
+
+每个时间序列都有一组定义的标签,Prometheus 为所有唯一的标签组合生成一个新的时间序列。如果一个指标附加了两个标签,则会为该指标生成两个时间序列。更改任何标签值,包括添加或删除标签,都会创建一个新的时间序列。
+
+Prometheus 经过了优化,可以存储基于索引的序列数据。它是为相对一致的时间序列数量和相对大量的样本而设计的,这些样本需要随时间从 exporter 处收集。
+
+但是,Prometheus 没有就快速变化的时间序列数量进行对应的优化。因此,如果你在创建和销毁了大量资源的集群(尤其是多租户集群)上安装 Monitoring,可能会出现内存使用量激增的情况。
+
+### 减少内存激增
+
+为了减少内存消耗,Prometheus 可以通过抓取更少的指标或在时间序列上添加更少的标签,从而存储更少的时间序列。要查看使用内存最多的序列,你可以查看 Prometheus UI 中的 TSDB(时序数据库)状态页面。
+
+分布式 Prometheus 解决方案(例如 [Thanos](https://thanos.io/) 和 [Cortex](https://cortexmetrics.io/))使用了一个替代架构,该架构部署多个小型 Prometheus 实例。如果使用 Thanos,每个 Prometheus 的指标都聚合到通用的 Thanos 部署中,然后再将这些指标导出到 S3 之类的持久存储。这种架构更加健康,能避免给单个 Prometheus 实例带来过多时间序列,同时还能在全局级别查询指标。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/enable-monitoring.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/enable-monitoring.md
new file mode 100644
index 00000000000..cfb2ebdf338
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/enable-monitoring.md
@@ -0,0 +1,75 @@
+---
+title: 启用 Monitoring
+---
+
+[管理员](../../new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions.md)或[集群所有者](../../new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#集群角色)可以通过配置 Rancher 来部署 Prometheus,从而监控 Kubernetes 集群。
+
+本文介绍如何使用新的 monitoring 应用在集群内启用监控和告警。
+
+不论是否使用 SSL,你都可以启用 monitoring。
+
+## 要求
+
+- 在每个节点上允许端口 9796 上的流量。Prometheus 将从这些端口抓取指标。
+ - 如果 [PushProx](../../../integrations-in-rancher/monitoring-and-alerting/how-monitoring-works.md#pushprox) 被禁用(`ingressNginx.enabled` 设置为 `false`),或者你已经升级了安装了 Monitoring V1 的 Rancher 版本,你可能还需要为每个节点允许端口 10254 上的流量。
+- 确保你的集群满足资源要求。集群应至少有 1950Mi 可用内存、2700m CPU 和 50Gi 存储。有关资源限制和请求的详细信息,请参阅[配置资源限制和请求](../../../reference-guides/monitoring-v2-configuration/helm-chart-options.md#配置资源限制和请求)。
+- 在使用 RancherOS 或 Flatcar Linux 节点的 RKE 集群上安装 Monitoring 时,请将 etcd 节点证书目录更改为 `/opt/rke/etc/kubernetes/ssl`。
+- 如果集群是使用 RKE CLI 配置的,而且地址设置为主机名而不是 IP 地址,请在安装的 Values 配置步骤中将 `rkeEtcd.clients.useLocalhost` 设置为 `true`。例如:
+
+```yaml
+rkeEtcd:
+ clients:
+ useLocalhost: true
+```
+
+:::note
+
+如果要设置 Alertmanager、Grafana 或 Ingress,必须通过 Helm chart 部署上的设置来完成。在部署之外创建 Ingress 可能会产生问题。
+
+:::
+
+## 设置资源限制和请求
+
+安装 `rancher-monitoring` 时可以配置资源请求和限制。要从 Rancher UI 配置 Prometheus 资源,请单击左上角的 **Apps > Monitoring**。
+
+有关默认限制的更多信息,请参阅[此页面](../../../reference-guides/monitoring-v2-configuration/helm-chart-options.md#配置资源限制和请求)。
+
+## 安装 Monitoring 应用
+
+### 在不使用 SSL 的情况下启用 Monitoring
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 点击**集群工具**(左下角)。
+1. 单击 Monitoring 的**安装**。
+1. 可选:在 Values 步骤中为 Alerting、Prometheus 和 Grafana 自定义请求、限制等。如需帮助,请参阅[配置参考](../../../reference-guides/monitoring-v2-configuration/helm-chart-options.md)。
+
+**结果**:Monitoring 应用已部署到 `cattle-monitoring-system` 命名空间中。
+
+### 在使用 SSL 的情况下启用 Monitoring
+
+1. 按照[此页面](../../new-user-guides/kubernetes-resources-setup/secrets.md)上的步骤创建密文,以便将 SSL 用于告警。
+- 密文应该创建到 `cattle-monitoring-system` 命名空间中。如果它不存在,请先创建它。
+- 将 `ca`、`cert` 和 `key` 文件添加到密文中。
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要启用 Monitoring 以与 SSL 一起使用的集群,然后单击 **Explore**。
+1. 单击 **Apps > Charts**。
+1. 单击 **Monitoring**。
+1. 根据你是否已安装 Monitoring,单击**安装**或**更新**。
+1. 选中**在安装前自定义 Helm 选项**,然后单击**下一步**。
+1. 单击 **Alerting**。
+1. 在**补充密文**字段中,添加之前创建的密文。
+
+**结果**:Monitoring 应用已部署到 `cattle-monitoring-system` 命名空间中。
+
+[创建接收器](../../../reference-guides/monitoring-v2-configuration/receivers.md#在-rancher-ui-中创建接收器)时,启用 SSL 的接收器(例如电子邮件或 webhook)将具有 **SSL**,其中包含 **CA 文件路径**、**证书文件路径**和**密钥文件路径**字段。使用 `ca`、`cert` 和 `key` 的路径填写这些字段。路径的格式为 `/etc/alertmanager/secrets/name-of-file-in-secret`。
+
+例如,如果你使用以下键值对创建了一个密文:
+
+```yaml
+ca.crt=`base64-content`
+cert.pem=`base64-content`
+key.pfx=`base64-content`
+```
+
+则**证书文件路径**需要设为 `/etc/alertmanager/secrets/cert.pem`。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/customize-grafana-dashboards.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/customize-grafana-dashboards.md
new file mode 100644
index 00000000000..44d69d05f9e
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/customize-grafana-dashboards.md
@@ -0,0 +1,7 @@
+---
+title: 自定义 Grafana 仪表板
+---
+
+无论是用于 rancher-monitoring 还是 Prometheus Federator,Grafana 仪表板的定制方式都是相同的。
+
+有关说明,请参阅[此页面](../customize-grafana-dashboard.md)。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/enable-prometheus-federator.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/enable-prometheus-federator.md
new file mode 100644
index 00000000000..c6bac839971
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/enable-prometheus-federator.md
@@ -0,0 +1,86 @@
+---
+title: 启用 Prometheus Federator
+---
+
+## 要求
+
+默认情况下,Prometheus Federator 已配置并旨在与 [rancher-monitoring](../../../../pages-for-subheaders/monitoring-and-alerting.md) 一起部署。rancher-monitoring 同时部署了 Prometheus Operator 和 Cluster Prometheus,每个项目监控堆栈(Project Monitoring Stack)默认会联合命名空间范围的指标。
+
+有关安装 rancher-monitoring 的说明,请参阅[此页面](../enable-monitoring.md)。
+
+默认配置与你的 rancher-monitoring 堆栈是兼容的。但是,为了提高集群中 Prometheus Federator 的安全性和可用性,我们建议对 rancher-monitoring 进行以下额外的配置:
+
+- [确保 cattle-monitoring-system 命名空间位于 System 项目中](#确保-cattle-monitoring-system-命名空间位于-system-项目中或者位于一个锁定并能访问集群中其他项目的项目中)
+- [将 rancher-monitoring 配置为仅监视 Helm Chart 创建的资源](#将-rancher-monitoring-配置为仅监视-helm-chart-创建的资源)
+- [提高 Cluster Prometheus 的 CPU/内存限制](#提高-cluster-prometheus-的-cpu内存限制)
+
+### 确保 cattle-monitoring-system 命名空间位于 System 项目中(或者位于一个锁定并能访问集群中其他项目的项目中)
+
+
+
+Prometheus Operator 的安全模型有一定的要求,即希望部署它的命名空间(例如,`cattle-monitoring-system`)对除集群管理员之外的任何用户都只有有限的访问权限,从而避免通过 Pod 内执行(例如正在执行的 Helm 操作的 Job)来提升权限。此外,如果将 Prometheus Federator 和所有 Project Prometheus 堆栈都部署到 System 项目中,即使网络策略是通过项目网络隔离定义的,每个 Project Prometheus 都依然能够在所有项目中抓取工作负载。它还为项目所有者、项目成员和其他用户提供有限的访问权限,从而确保这些用户无法访问他们不应访问的数据(例如,在 pod 中执行,在项目外部抓取命名空间数据等)。
+
+1. 打开 `System` 项目以检查你的命名空间:
+
+ 在 Rancher UI 中单击 **Cluster > Projects/Namespaces**。这将显示 `System` 项目中的所有命名空间:
+
+ 
+
+1. 如果你在 `cattle-monitoring-system` 命名空间中已经安装了一个 Monitoring V2,但该命名空间不在 `System` 项目中,你可以将 `cattle- monitoring-system` 命名空间移动到 `System` 项目或另一个访问受限的项目中。为此,你有以下两种方法:
+
+ - 将命名空间拖放到 `System` 项目。
+ - 选择命名空间右侧的 **⋮**,点击 **Move**,然后从 **Target Project** 下拉列表中选择 `System`:
+
+ 
+
+### 将 rancher-monitoring 配置为仅监视 Helm Chart 创建的资源
+
+每个项目监控堆栈都会监视其他命名空间并收集其他自定义工作负载指标或仪表板。因此,我们建议在所有选择器上配置以下设置,以确保 Cluster Prometheus 堆栈仅监控由 Helm Chart 创建的资源:
+
+```
+matchLabels:
+ release: "rancher-monitoring"
+```
+
+建议为以下选择器字段赋予此值:
+- `.Values.alertmanager.alertmanagerSpec.alertmanagerConfigSelector`
+- `.Values.prometheus.prometheusSpec.serviceMonitorSelector`
+- `.Values.prometheus.prometheusSpec.podMonitorSelector`
+- `.Values.prometheus.prometheusSpec.ruleSelector`
+- `.Values.prometheus.prometheusSpec.probeSelector`
+
+启用此设置后,你始终可以通过向它们添加 `release: "rancher-monitoring"` 标签来创建由 Cluster Prometheus 抓取的 ServiceMonitor 或 PodMonitor。在这种情况下,即使这些 ServiceMonitor 或 PodMonitor 所在的命名空间不是 System 命名空间,项目监控堆栈也会默认自动忽略它们。
+
+:::note
+
+如果你不希望用户能够在 Project 命名空间中创建聚合到 Cluster Prometheus 中的 ServiceMonitor 和 PodMonitor,你可以另外将 Chart 上的 namespaceSelectors 设置为仅目标 System 命名空间(必须包含 `cattle-monitoring-system` 和 `cattle-dashboards`,默认情况下资源通过 rancher-monitoring 部署到该命名空间中。你还需要监控 `default` 命名空间以获取 apiserver 指标,或创建自定义 ServiceMonitor 以抓取位于 `default` 命名空间中的 Service 的 apiserver 指标),从而限制你的 Cluster Prometheus 获取其他 Prometheus Operator CR。在这种情况下,建议设置 `.Values.prometheus.prometheusSpec.ignoreNamespaceSelectors=true`。这样,你可以定义能从 System 命名空间中监视非 System 命名空间的 ServiceMonitor。
+
+:::
+
+### 提高 Cluster Prometheus 的 CPU/内存限制
+
+根据集群的设置,我们一般建议为 Cluster Prometheus 配置大量的专用内存,以避免因内存不足的错误(OOMKilled)而重启。通常情况下,集群中创建的改动项(churn)会导致大量高基数指标在一个时间块内生成并被 Prometheus 引入,然后导致这些错误。这也是为什么默认的 Rancher Monitoring 堆栈希望能分配到大约 4GB 的 RAM 以在正常大小的集群中运行的原因之一。但是,如果你引入向同一个 Cluster Prometheus 发送 `/federate` 请求的项目监控堆栈,并且项目监控堆栈依赖于 Cluster Prometheus 的启动状态来在其命名空间上联合系统数据,那么你更加需要为 Cluster Prometheus 分配足够的 CPU/内存,以防止集群中的所有 Prometheus 项目出现数据间隙的中断。
+
+:::note
+
+我们没有 Cluster Prometheus 内存配置的具体建议,因为这完全取决于用户的设置(即遇到高改动率的可能性以及可能同时生成的指标的规模)。不同的设置通常有不同的推荐参数。
+
+:::
+
+## 安装 Prometheus Federator 应用程序
+
+1. 点击 **☰ > 集群管理**。
+1. 转到要安装 Prometheus Federator 的集群,然后单击 **Explore**。
+1. 点击**应用 > Charts**。
+1. 单击 **Prometheus Federator** Chart。
+1. 单击**安装**。
+1. 在**元数据**页面,点击**下一步**。
+1. 在**命名空间** > **项目 Release 命名空间项目 ID** 字段中,`System 项目`是默认值,但你可以使用具有类似[有限访问权限](#确保-cattle-monitoring-system-命名空间位于-system-项目中或者位于一个锁定并能访问集群中其他项目的项目中)的另一个项目覆盖它。你可以在 local 上游集群中运行以下命令来找到项目 ID:
+
+```plain
+kubectl get projects -A -o custom-columns="NAMESPACE":.metadata.namespace,"ID":.metadata.name,"NAME":.spec.displayName
+```
+
+1. 单击**安装**。
+
+**结果**:Prometheus Federator 应用程序已部署在 `cattle-monitoring-system` 命名空间中。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/project-monitors.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/project-monitors.md
new file mode 100644
index 00000000000..9dba3d6d401
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/project-monitors.md
@@ -0,0 +1,17 @@
+---
+title: 安装 Project Monitor
+---
+
+在要启用项目监控的各个项目中安装 **Project Monitor**。
+
+1. 点击 **☰ > 集群管理**。
+
+1. 在**集群**页面中,转到要启用监控的集群,然后单击 **Explore**。
+
+1. 单击左侧导航栏上的**监控 > Project Monitor**。然后,点击右上角的**创建**。
+
+ 
+
+1. 从下拉菜单中选择你的项目,然后再次单击**创建**。
+
+ 
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/set-up-workloads.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/set-up-workloads.md
new file mode 100644
index 00000000000..10aaf5d95b7
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/set-up-workloads.md
@@ -0,0 +1,13 @@
+---
+title: 为工作负载设置 Prometheus Federator
+---
+
+### 显示工作负载的 CPU 和内存指标
+
+使用 Prometheus Federator 显示 CPU 和内存指标的方式与使用 rancher-monitoring 相同。有关说明,请参阅[此处](../set-up-monitoring-for-workloads.md#显示工作负载的-cpu-和内存指标)。
+
+### 设置 CPU 和内存之外的指标
+
+使用 Prometheus Federator 设置 CPU 和内存之外的指标与使用 rancher-monitoring 的方式相同。有关说明,请参阅[此处](../set-up-monitoring-for-workloads.md#设置-cpu-和内存之外的指标)。
+
+
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/uninstall-prometheus-federator.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/uninstall-prometheus-federator.md
new file mode 100644
index 00000000000..c6b04a736bb
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides/uninstall-prometheus-federator.md
@@ -0,0 +1,13 @@
+---
+title: 卸载 Prometheus Federator
+---
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 在左侧导航栏中,点击 **Apps**。
+1. 点击**已安装的应用**。
+1. 转到 `cattle-monitoring-system` 命名空间并选中 `rancher-monitoring-crd` 和 `rancher-monitoring`。
+1. 单击**删除**。
+1. 确认**删除**。
+
+**结果**:已卸载 `prometheus-federator`。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/set-up-monitoring-for-workloads.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/set-up-monitoring-for-workloads.md
new file mode 100644
index 00000000000..7ab5dd36f79
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/set-up-monitoring-for-workloads.md
@@ -0,0 +1,27 @@
+---
+title: 为工作负载设置 Monitoring
+---
+
+如果你只需要工作负载的 CPU 和内存时间序列,则不需要部署 ServiceMonitor 或 PodMonitor,因为 Monitoring 应用默认会收集资源使用情况的指标数据。
+
+设置工作负载监控的步骤取决于你是否需要基本指标(例如工作负载的 CPU 和内存),或者是否需要从工作负载中抓取自定义指标。
+
+如果你只需要工作负载的 CPU 和内存时间序列,则不需要部署 ServiceMonitor 或 PodMonitor,因为 Monitoring 应用默认会收集资源使用情况的指标数据。资源使用的时间序列数据在 Prometheus 的本地时间序列数据库中。
+
+Grafana 显示聚合数据,你也可以使用 PromQL 查询来查看单个工作负载的数据。进行 PromQL 查询后,你可以在 Prometheus UI 中单独执行查询并查看可视化的时间序列,你也可以使用查询来自定义显示工作负载指标的 Grafana 仪表板。有关工作负载指标的 PromQL 查询示例,请参阅[本节](../../../integrations-in-rancher/monitoring-and-alerting/promql-expressions.md#工作负载指标)。
+
+要为你的工作负载设置自定义指标,你需要设置一个 Exporter 并创建一个新的 ServiceMonitor 自定义资源,从而将 Prometheus 配置为从 Exporter 中抓取指标。
+
+### 显示工作负载的 CPU 和内存指标
+
+默认情况下,Monitoring 应用会抓取 CPU 和内存指标。
+
+要获取特定工作负载的细粒度信息,你可以自定义 Grafana 仪表板来显示该工作负载的指标。
+
+### 设置 CPU 和内存之外的指标
+
+对于自定义指标,你需要使用 Prometheus 支持的格式来公开应用上的指标。
+
+我们建议你创建一个新的 ServiceMonitor 自定义资源。创建此资源时,Prometheus 自定义资源将自动更新,以便将新的自定义指标端点包含在抓取配置中。然后 Prometheus 会开始从端点抓取指标。
+
+你还可以创建 PodMonitor 来公开自定义指标端点,但 ServiceMonitor 更适合大多数用例。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/uninstall-monitoring.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/uninstall-monitoring.md
new file mode 100644
index 00000000000..06845311909
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-alerting-guides/uninstall-monitoring.md
@@ -0,0 +1,19 @@
+---
+title: 卸载 Monitoring
+---
+
+1. 点击 **☰ > 集群管理**。
+1. 选择你创建的集群,并点击 **Explore**。
+1. 在左侧导航栏中,点击 **Apps**。
+1. 点击**已安装的应用**。
+1. 转到 `cattle-monitoring-system` 命名空间并选中 `rancher-monitoring-crd` 和 `rancher-monitoring`。
+1. 单击**删除**。
+1. 确认**删除**。
+
+**结果**:已卸载 `rancher-monitoring`。
+
+:::note 持久化 Grafana 仪表板:
+
+如果你的 Monitoring V2 版本是 v9.4.203 或更低版本,卸载 Monitoring chart 将同时删除 cattle-dashboards 命名空间,所有持久化的仪表板将被删除(除非命名空间带有注释 `helm.sh/resource-policy: "keep"`)。Monitoring V2 v14.5.100+ 会默认添加此注释。但如果你的集群上安装了旧版本的 Monitoring Chart,你可以在卸载它之前手动将注释应用到 cattle-dashboards 命名空间。
+
+:::
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-v2-configuration-guides/advanced-configuration/alertmanager.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-v2-configuration-guides/advanced-configuration/alertmanager.md
new file mode 100644
index 00000000000..77851a3accb
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-v2-configuration-guides/advanced-configuration/alertmanager.md
@@ -0,0 +1,43 @@
+---
+title: Alertmanager 配置
+---
+
+通常情况下,你不需要直接编辑 Alertmanager 自定义资源。对于大多数用例,只需要编辑接收器和路由即可配置通知。
+
+当路由和接收器更新时,Monitoring 应用将自动更新 Alertmanager 自定义资源来与这些更改保持一致。
+
+:::note
+
+本节参考假设你已经熟悉 Monitoring 组件的协同工作方式。有关 Alertmanager 的详细信息,请参阅[本节](../../../../integrations-in-rancher/monitoring-and-alerting/how-monitoring-works.md#3-alertmanager-的工作原理)。
+
+:::
+
+## 关于 Alertmanager 自定义资源
+
+默认情况下,Rancher Monitoring 将单个 Alertmanager 部署到使用默认 Alertmanager Config Secret 的集群上。
+
+如果你想使用 Rancher UI 表单中未公开的高级选项(例如创建超过两层深的路由树结构),你可能需要编辑 Alertmanager 自定义资源。
+
+你也可以在集群中创建多个 Alertmanager 来实现命名空间范围的监控。在这种情况下,你应该使用相同的底层 Alertmanager Config Secret 来管理 Alertmanager 自定义资源。
+
+### 深度嵌套的路由
+
+虽然 Rancher UI 仅支持两层深度的路由树,但你可以通过编辑 Alertmanager YAML 来配置更深的嵌套路由结构。
+
+### 多个 Alertmanager 副本
+
+作为 Chart 部署选项的一部分,你可以选择增加部署到集群上的 Alertmanager 副本的数量。这些副本使用相同的底层 Alertmanager Config Secret 进行管理。
+
+此 Secret 可以按照你的需求随时更新或修改:
+
+- 添加新的通知程序或接收器
+- 更改应该发送给指定通知程序或接收器的告警
+- 更改发出的告警组
+
+默认情况下,你可以选择提供现有的 Alertmanager Config Secret(即 `cattle-monitoring-system` 命名空间中的任何 Secret),或允许 Rancher Monitoring 将默认的 Alertmanager Config Secret 部署到你的集群上。
+
+默认情况下,在升级或卸载 `rancher-monitoring` Chart 时,Rancher 创建的 Alertmanager Config Secret 不会被修改或删除。这个限制可以防止用户在 Chart 上执行操作时丢失或覆盖他们的告警配置。
+
+有关可以在 Alertmanager Config Secret 中指定的字段的更多信息,请查看 [Prometheus Alertmanager 文档](https://prometheus.io/docs/alerting/latest/alertmanager/)。
+
+你可以在[此处](https://prometheus.io/docs/alerting/latest/configuration/#configuration-file)找到 Alertmanager 配置文件的完整规范及其内容。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-v2-configuration-guides/advanced-configuration/prometheus.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-v2-configuration-guides/advanced-configuration/prometheus.md
new file mode 100644
index 00000000000..b83ad90b748
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-v2-configuration-guides/advanced-configuration/prometheus.md
@@ -0,0 +1,19 @@
+---
+title: Prometheus 配置
+---
+
+通常情况下,你不需要直接编辑 Prometheus 自定义资源,因为 Monitoring 应用会根据 ServiceMonitor 和 PodMonitor 的更改自动更新资源。
+
+:::note
+
+本节参考假设你已经熟悉 Monitoring 组件的协同工作方式。有关详细信息,请参阅[本节](../../../../integrations-in-rancher/monitoring-and-alerting/how-monitoring-works.md)。
+
+:::
+
+## 关于 Prometheus 自定义资源
+
+Prometheus CR 定义了所需的 Prometheus deployment。Prometheus Operator 会观察 Prometheus CR。当 CR 发生变化时,Prometheus Operator 会创建 `prometheus-rancher-monitoring-prometheus`,即根据 CR 配置的 Prometheus deployment。
+
+Prometheus CR 指定了详细信息,例如规则以及连接到 Prometheus 的 Alertmanager。Rancher 会为你构建这个 CR。
+
+Monitoring V2 仅支持每个集群一个 Prometheus。如果你想将监控限制到指定命名空间,你需要编辑 Prometheus CR。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-v2-configuration-guides/advanced-configuration/prometheusrules.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-v2-configuration-guides/advanced-configuration/prometheusrules.md
new file mode 100644
index 00000000000..fc12de7e488
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/monitoring-v2-configuration-guides/advanced-configuration/prometheusrules.md
@@ -0,0 +1,80 @@
+---
+title: 配置 PrometheusRule
+---
+
+PrometheusRule 定义了一组 Prometheus 告警和/或记录规则。
+
+:::note
+
+本节参考假设你已经熟悉 Monitoring 组件的协同工作方式。有关详细信息,请参阅[本节](../../../../integrations-in-rancher/monitoring-and-alerting/how-monitoring-works.md)。
+
+:::
+
+### 在 Rancher UI 中创建 PrometheusRule
+
+:::note 先决条件:
+
+已安装 Monitoring 应用。
+
+:::
+
+要在 Rancher UI 中创建规则组:
+
+1. 转到要创建规则组的集群。单击**监控 > 高级选项**,然后单击 **PrometheusRules**。
+1. 单击**创建**。
+1. 输入**组名称**。
+1. 配置规则。在 Rancher 的 UI 中,规则组需要包含告警规则或记录规则,但不能同时包含两者。如需获取填写表单的帮助,请参阅下方的配置选项。
+1. 单击**创建**。
+
+**结果**:告警可以向接收器发送通知。
+
+### 关于 PrometheusRule 自定义资源
+
+当你定义规则时(在 PrometheusRule 资源的 RuleGroup 中声明),[规则本身的规范](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#rule)会包含标签,然后 Alertmanager 会使用这些标签来确定接收此告警的路由。例如,标签为 `team: front-end` 的告警将发送到与该标签匹配的所有路由。
+
+Prometheus 规则文件保存在 PrometheusRule 自定义资源中。PrometheusRule 支持定义一个或多个 RuleGroup。每个 RuleGroup 由一组 Rule 对象组成,每个 Rule 对象均能表示告警或记录规则,并具有以下字段:
+
+- 新告警或记录的名称
+- 新告警或记录的 PromQL 表达式
+- 用于标记告警或记录的标签(例如集群名称或严重性)
+- 对需要在告警通知上显示的其他重要信息进行编码的注释(例如摘要、描述、消息、Runbook URL 等)。记录规则不需要此字段。
+
+有关可以指定的字段的更多信息,请查看 [Prometheus Operator 规范。](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#prometheusrulespec)
+
+你可以使用 Prometheus 对象中的标签选择器字段 `ruleSelector` 来定义要挂载到 Prometheus 的规则文件。
+
+如需查看示例,请参阅 Prometheus 文档中的[记录规则](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/)和[告警规则](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)。
+
+## 配置
+
+### 规则组
+
+| 字段 | 描述 |
+|-------|----------------|
+| 组名称 | 组的名称。在规则文件中必须是唯一的。 |
+| 覆盖组间隔 | 组中规则的评估时间间隔(单位:秒)。 |
+
+
+### 告警规则
+
+[告警规则](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)可以让你根据 PromQL(Prometheus 查询语言)表达式来定义告警条件,并将触发告警的通知发送到外部服务。
+
+| 字段 | 描述 |
+|-------|----------------|
+| 告警名称 | 告警的名称。必须是有效的标签值。 |
+| 告警触发等待时间 | 时长,以秒为单位。当告警触发时间到达该指定时长时,则视为触发。当告警未触发足够长的时间,则视为待处理。 |
+| PromQL 表达式 | 要评估的 PromQL 表达式。Prometheus 将在每个评估周期评估此 PromQL 表达式的当前值,并且所有生成的时间序列都将成为待处理/触发告警。有关详细信息,请参阅 [Prometheus 文档](https://prometheus.io/docs/prometheus/latest/querying/basics/)或我们的 [PromQL 表达式示例](../../../../integrations-in-rancher/monitoring-and-alerting/promql-expressions.md)。 |
+| Labels | 为每个告警添加或覆盖的标签。 |
+| 严重程度 | 启用后,标签会附加到告警或记录中,这些标签通过严重程度来标识告警/记录。 |
+| 严重程度 Label 值 | Critical,warning 或 none |
+| 注释 | 注释是一组信息标签,可用于存储更长的附加信息,例如告警描述或 Runbook 链接。[Runbook](https://en.wikipedia.org/wiki/Runbook) 是一组有关如何处理告警的文档。注释值可以是[模板化](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/#templating)的。 |
+
+### 记录规则
+
+[记录规则](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#recording-rules)允许你预先计算常用或计算量大的 PromQL(Prometheus 查询语言)表达式,并将其结果保存为一组新的时间序列。
+
+| 字段 | 描述 |
+|-------|----------------|
+| 时间序列名称 | 要输出的时间序列的名称。必须是有效的指标名称。 |
+| PromQL 表达式 | 要评估的 PromQL 表达式。Prometheus 将在每个评估周期评估此 PromQL 表达式的当前值,并且将结果记录为一组新的时间序列,其指标名称由“记录”指定。有关表达式的更多信息,请参阅 [Prometheus 文档](https://prometheus.io/docs/prometheus/latest/querying/basics/)或我们的 [PromQL 表达式示例](../../../../integrations-in-rancher/monitoring-and-alerting/promql-expressions.md)。 |
+| Labels | 在存储结果之前要添加或覆盖的标签。 |
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/open-ports-with-firewalld.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/open-ports-with-firewalld.md
new file mode 100644
index 00000000000..7e43c7234b2
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/open-ports-with-firewalld.md
@@ -0,0 +1,107 @@
+---
+title: 使用 firewalld 打开端口
+---
+
+> 我们建议禁用 firewalld。如果你使用的是 Kubernetes 1.19 或更高版本,则必须关闭 firewalld。
+
+某些 [源自 RHEL](https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux#Rebuilds) 的 Linux 发行版(包括 Oracle Linux)的默认防火墙规则可能会阻止与 Helm 的通信。
+
+例如,AWS 中的一个 Oracle Linux 镜像具有 REJECT 规则,这些规则会阻止 Helm 与 Tiller 通信:
+
+```
+Chain INPUT (policy ACCEPT)
+target prot opt source destination
+ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
+ACCEPT icmp -- anywhere anywhere
+ACCEPT all -- anywhere anywhere
+ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
+REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
+
+Chain FORWARD (policy ACCEPT)
+target prot opt source destination
+REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
+
+Chain OUTPUT (policy ACCEPT)
+target prot opt source destination
+```
+
+你可运行以下命令检查默认防火墙规则:
+
+```
+sudo iptables --list
+```
+
+下文介绍如何使用 `firewalld`,将[防火墙端口规则](../../pages-for-subheaders/installation-requirements.md#端口要求)应用到高可用 Rancher Server 集群中的节点。
+
+## 先决条件
+
+安装 v7.x 或更高版本的 `firewalld`:
+
+```
+yum install firewalld
+systemctl start firewalld
+systemctl enable firewalld
+```
+
+## 应用防火墙端口规则
+
+在 Rancher 高可用安装中,Rancher Server 设置在三个节点上,三个节点均具有 Kubernetes 的所有三个角色(etcd、controlplane 和 worker)。如果你的 Rancher Server 节点同时具有这三个角色,请在每个节点上运行以下命令:
+
+```
+firewall-cmd --permanent --add-port=22/tcp
+firewall-cmd --permanent --add-port=80/tcp
+firewall-cmd --permanent --add-port=443/tcp
+firewall-cmd --permanent --add-port=2376/tcp
+firewall-cmd --permanent --add-port=2379/tcp
+firewall-cmd --permanent --add-port=2380/tcp
+firewall-cmd --permanent --add-port=6443/tcp
+firewall-cmd --permanent --add-port=8472/udp
+firewall-cmd --permanent --add-port=9099/tcp
+firewall-cmd --permanent --add-port=10250/tcp
+firewall-cmd --permanent --add-port=10254/tcp
+firewall-cmd --permanent --add-port=30000-32767/tcp
+firewall-cmd --permanent --add-port=30000-32767/udp
+```
+如果你的 Rancher Server 节点配置了单独的角色,请根据节点角色运行以下命令:
+
+```
+# 在 etcd 节点上运行以下命令:
+firewall-cmd --permanent --add-port=2376/tcp
+firewall-cmd --permanent --add-port=2379/tcp
+firewall-cmd --permanent --add-port=2380/tcp
+firewall-cmd --permanent --add-port=8472/udp
+firewall-cmd --permanent --add-port=9099/tcp
+firewall-cmd --permanent --add-port=10250/tcp
+
+# 在 controlplane 节点上运行以下命令:
+firewall-cmd --permanent --add-port=80/tcp
+firewall-cmd --permanent --add-port=443/tcp
+firewall-cmd --permanent --add-port=2376/tcp
+firewall-cmd --permanent --add-port=6443/tcp
+firewall-cmd --permanent --add-port=8472/udp
+firewall-cmd --permanent --add-port=9099/tcp
+firewall-cmd --permanent --add-port=10250/tcp
+firewall-cmd --permanent --add-port=10254/tcp
+firewall-cmd --permanent --add-port=30000-32767/tcp
+firewall-cmd --permanent --add-port=30000-32767/udp
+
+# 在 worker 节点上运行以下命令:
+firewall-cmd --permanent --add-port=22/tcp
+firewall-cmd --permanent --add-port=80/tcp
+firewall-cmd --permanent --add-port=443/tcp
+firewall-cmd --permanent --add-port=2376/tcp
+firewall-cmd --permanent --add-port=8472/udp
+firewall-cmd --permanent --add-port=9099/tcp
+firewall-cmd --permanent --add-port=10250/tcp
+firewall-cmd --permanent --add-port=10254/tcp
+firewall-cmd --permanent --add-port=30000-32767/tcp
+firewall-cmd --permanent --add-port=30000-32767/udp
+```
+
+在节点上运行 `firewall-cmd` 命令后,使用以下命令启用防火墙规则:
+
+```
+firewall-cmd --reload
+```
+
+**结果**:防火墙已更新,因此 Helm 可以与 Rancher Server 节点通信了。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/tune-etcd-for-large-installs.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/tune-etcd-for-large-installs.md
new file mode 100644
index 00000000000..6cadea62ced
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/advanced-user-guides/tune-etcd-for-large-installs.md
@@ -0,0 +1,39 @@
+---
+title: 为大型安装进行 etcd 调优
+---
+
+当你运行具有 15 个或更多集群的大型 Rancher 安装时,我们建议你扩大 etcd 的默认 keyspace(默认为 2GB)。你最大可以将它设置为 8GB。此外,请确保主机有足够的 RAM 来保存整个数据集。如果需要增加这个值,你还需要同步增加主机的大小。如果你预计在垃圾回收间隔期间 Pod 的变化率很高,你也可以在较小的安装中调整 Keyspace 大小。
+
+Kubernetes 每隔五分钟会自动清理 etcd 数据集。在某些情况下(例如发生部署抖动),在垃圾回收发生并进行清理之前会有大量事件写入 etcd 并删除,从而导致 Keyspace 填满。如果你在 etcd 日志或 Kubernetes API Server 日志中看到 `mvcc: database space exceeded` 错误,你可以在 etcd 服务器上设置 [quota-backend-bytes](https://etcd.io/docs/v3.4.0/op-guide/maintenance/#space-quota) 来增加 Keyspace 的大小。
+
+### 示例:此 RKE cluster.yml 文件的代码片段将 Keyspace 的大小增加到 5GB
+
+```yaml
+# RKE cluster.yml
+---
+services:
+ etcd:
+ extra_args:
+ quota-backend-bytes: 5368709120
+```
+
+## 扩展 etcd 磁盘性能
+
+你可以参见 [etcd 文档](https://etcd.io/docs/v3.4.0/tuning/#disk)中的建议,了解如何调整主机上的磁盘优先级。
+
+此外,为了减少 etcd 磁盘上的 IO 争用,你可以为 data 和 wal 目录使用专用设备。etcd 最佳实践不建议配置 Mirror RAID(因为 etcd 在集群中的节点之间复制数据)。你可以使用 striping RAID 配置来增加可用的 IOPS。
+
+要在 RKE 集群中实现此解决方案,你需要在底层主机上为 `/var/lib/etcd/data` 和 `/var/lib/etcd/wal` 目录挂载并格式化磁盘。`etcd` 服务的 `extra_args` 指令中必须包含 `wal_dir` 目录。如果不指定 `wal_dir`,etcd 进程会尝试在权限不足的情况下操作底层的 `wal` 挂载。
+
+```yaml
+# RKE cluster.yml
+---
+services:
+ etcd:
+ extra_args:
+ data-dir: '/var/lib/rancher/etcd/data/'
+ wal-dir: '/var/lib/rancher/etcd/wal/wal_dir'
+ extra_binds:
+ - '/var/lib/etcd/data:/var/lib/rancher/etcd/data'
+ - '/var/lib/etcd/wal:/var/lib/rancher/etcd/wal'
+```
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/add-users-to-projects.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/add-users-to-projects.md
new file mode 100644
index 00000000000..4f4f6712b0e
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/add-users-to-projects.md
@@ -0,0 +1,62 @@
+---
+title: 添加项目成员
+---
+
+如果你想为用户提供集群内 _特定_ 项目和资源的访问权限,请为用户分配项目成员资格。
+
+你可以在创建项目时将成员添加到项目中,或将用户添加到现有项目中。
+
+:::tip
+
+如果你需要为用户提供对集群内 _所有_ 项目的访问权限,请参见[添加集群成员](../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md)。
+
+:::
+
+### 将成员添加到新项目
+
+你可以在创建项目时将成员添加到项目中(建议)。有关创建新项目的详细信息,请参阅[集群管理](../../how-to-guides/new-user-guides/manage-clusters/projects-and-namespaces.md)。
+
+### 将成员添加到现有项目
+
+创建项目后,你可以将用户添加为项目成员,以便用户可以访问项目的资源:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要添加项目成员的集群,然后单击 **Explore**。
+1. 单击**集群 > 项目/命名空间**。
+1. 转到要添加成员的项目。在项目名称上方的**创建命名空间**按钮旁边,单击 **☰**。选择 **编辑配置**。
+1. 在**成员**选项卡中,单击**添加**。
+1. 搜索要添加到项目的用户或组。
+
+ 如果配置了外部身份验证:
+
+ - 在你键入时,Rancher 会从你的外部身份验证源返回用户。
+
+ - 你可以在下拉菜单中添加组,而不是单个用户。下拉列表仅会列出你(登录用户)所在的组。
+
+ :::note
+
+ 如果你以本地用户身份登录,外部用户不会显示在你的搜索结果中。
+
+ :::
+
+1. 分配用户或组的**项目**角色。
+
+ [什么是项目角色?](../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md)
+
+ :::note 注意事项:
+
+ - 如果用户分配到了项目的`所有者`或`成员`角色,用户会自动继承`命名空间创建`角色。然而,这个角色是 [Kubernetes ClusterRole](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#role-and-clusterrole),这表示角色的范围会延展到集群中的所有项目。因此,对于显式分配到了项目`所有者`或`成员`角色的用户来说,即使只有`只读`角色,这些用户也可以在分配给他们的其他项目中创建或删除命名空间。
+
+ - 默认情况下,Rancher 的`项目成员`角色继承自 `Kubernetes-edit` 角色,而`项目所有者`角色继承自 `Kubernetes-admin` 角色。因此,`项目成员`和`项目所有者`角色都能管理命名空间,包括创建和删除命名空间。
+
+ - 对于`自定义`角色,你可以修改可分配的角色列表。
+
+ - 要将角色添加到列表中,请[添加自定义角色](../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/custom-roles.md)。
+ - 要从列表中删除角色,请[锁定/解锁角色](../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/locked-roles.md)。
+
+ :::
+
+**结果**:已将选中的用户添加到项目中。
+
+- 要撤销项目成员资格,请选择用户并单击**删除**。此操作会删除成员资格,而不会删除用户。
+- 要修改项目中的用户角色,请将其从项目中删除,然后使用修改后的角色重新添加用户。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-provisioning-drivers/manage-cluster-drivers.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-provisioning-drivers/manage-cluster-drivers.md
new file mode 100644
index 00000000000..5f9c30227ba
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-provisioning-drivers/manage-cluster-drivers.md
@@ -0,0 +1,42 @@
+---
+title: 集群驱动
+---
+
+集群驱动用于在[托管 Kubernetes 提供商](../../../../pages-for-subheaders/set-up-clusters-from-hosted-kubernetes-providers.md)(例如 Google GKE)中创建集群。创建集群时可以显示的集群驱动,是由集群驱动的状态定义的。只有 `active` 集群驱动将作为创建集群的选项显示。默认情况下,Rancher 与多个现有的云提供商集群驱动打包在一起,但你也可以将自定义集群驱动添加到 Rancher。
+
+如果你不想向用户显示特定的集群驱动,你可以在 Rancher 中停用这些集群驱动,它们将不会作为创建集群的选项出现。
+
+### 管理集群驱动
+
+:::note 先决条件:
+
+要创建、编辑或删除集群驱动,你需要以下权限中的_一个_:
+
+- [管理员全局权限](../manage-role-based-access-control-rbac/global-permissions.md)
+- 分配了[管理集群驱动角色](../manage-role-based-access-control-rbac/global-permissions.md)的[自定义全局权限](../manage-role-based-access-control-rbac/global-permissions.md#自定义全局权限)。
+
+:::
+
+## 激活/停用集群驱动
+
+默认情况下,Rancher 仅激活主流的云提供商 Google GKE、Amazon EKS 和 Azure AKS 的驱动。如果要显示或隐藏驱动,你可以更改驱动的状态:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+
+2. 在左侧导航菜单中,单击**驱动**。
+
+3. 在**集群驱动**选项卡上,选择要激活或停用的驱动,然后单击 **⋮ > 激活** 或 **⋮ > 停用**。
+
+## 添加自定义集群驱动
+
+如果你想使用 Rancher 不支持开箱即用的集群驱动,你可以添加提供商的驱动,从而使用该驱动来创建 _托管_ Kubernetes 集群:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在左侧导航菜单中,单击**驱动**。
+1. 在**集群驱动**选项卡上,单击**添加集群驱动**。
+1. 填写**添加集群驱动**表单。然后单击**创建**。
+
+
+### 开发自己的集群驱动
+
+如果要开发集群驱动并添加到 Rancher,请参考我们的[示例](https://github.com/rancher-plugins/kontainer-engine-driver-example)。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-provisioning-drivers/manage-node-drivers.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-provisioning-drivers/manage-node-drivers.md
new file mode 100644
index 00000000000..bb49bcbe46a
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-provisioning-drivers/manage-node-drivers.md
@@ -0,0 +1,41 @@
+---
+title: 主机驱动
+---
+
+主机驱动用于配置主机,Rancher 使用这些主机启动和管理 Kubernetes 集群。主机驱动与 [Docker Machine 驱动](https://docs.docker.com/machine/drivers/)相同。创建主机模板时可以显示的主机驱动,是由主机驱动的状态定义的。只有 `active` 主机驱动将显示为创建节点模板的选项。默认情况下,Rancher 与许多现有的 Docker Machine 驱动打包在一起,但你也可以创建自定义主机驱动并添加到 Rancher。
+
+如果你不想向用户显示特定的主机驱动,则需要停用这些主机驱动。
+
+#### 管理主机驱动
+
+:::note 先决条件:
+
+要创建、编辑或删除驱动,你需要以下权限中的_一个_:
+
+- [管理员全局权限](../manage-role-based-access-control-rbac/global-permissions.md)
+- 分配了[管理主机驱动角色](../manage-role-based-access-control-rbac/global-permissions.md)的[自定义全局权限](../manage-role-based-access-control-rbac/global-permissions.md#自定义全局权限)。
+
+:::
+
+## 激活/停用主机驱动
+
+默认情况下,Rancher 仅激活主流云提供商 Amazon EC2、Azure、DigitalOcean 和 vSphere 的驱动。如果要显示或隐藏驱动,你可以更改驱动的状态:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+
+2. 在左侧导航菜单中,单击**驱动**。
+
+2. 在**主机驱动**选项卡上,选择要激活或停用的驱动,然后单击 **⋮ > 激活** 或 **⋮ > 停用**。
+
+## 添加自定义主机驱动
+
+如果你想使用 Rancher 不支持开箱即用的主机驱动,你可以添加提供商的驱动,从而使用该驱动为你的 Kubernetes 集群创建节点模板并最终创建节点池:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在左侧导航菜单中,单击**驱动**。
+1. 在**主机驱动**选项卡上,单击**添加主机驱动**。
+1. 填写**添加主机驱动**表单。然后单击**创建**。
+
+### 开发自己的主机驱动
+
+主机驱动使用 [Docker Machine](https://docs.docker.com/machine/) 来实现。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/access-or-share-templates.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/access-or-share-templates.md
new file mode 100644
index 00000000000..947f2a9784c
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/access-or-share-templates.md
@@ -0,0 +1,64 @@
+---
+title: 访问和共享
+---
+
+如果你是 RKE 模板所有者,你可以将该模板共享给用户或用户组,然后他们可以使用该模板创建集群。
+
+由于 RKE 模板是专门与用户和组共享的,因此所有者可以与不同的用户共享不同的 RKE 模板。
+
+共享模板时,每个用户都可以拥有以下两个访问权限中的其中一个:
+
+- **所有者**:可以更新、删除和共享他们拥有的模板。所有者还可以与其他用户共享模板。
+- **用户**:可以使用模板创建集群。他们还可以将这些集群升级到同一模板的新版本。如果你将模板共享为**公开(只读)**,你的 Rancher 设置中的所有用户都拥有该模板的用户访问权限。
+
+如果你创建了一个模板,你将自动成为该模板的所有者。
+
+如果你想让其他用户更新该模板,你可以共享模板的所有权。有关所有者如何修改模板的详细信息,请参阅[修改模板文档](manage-rke1-templates.md)。
+
+共享模板的方式有如下几种:
+
+- 在模板创建期间将用户添加到新的 RKE 模板
+- 将用户添加到现有 RKE 模板
+- 公开 RKE 模板,并与 Rancher 设置中的所有用户共享
+- 与受信任修改模板的用户共享模板所有权
+
+### 与特定用户或组共享模板
+
+要允许用户或组使用你的模板创建集群,你可以为他们提供模板的基本**用户**访问权限。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在 **RKE1 配置**下,单击 **RKE 模板**。
+1. 转到要共享的模板,然后单击 **⋮ > 编辑**。
+1. 在**共享模板**中,单击**添加成员**。
+1. 在**名称**字段中搜索你要与之共享模板的用户或组。
+1. 选择**用户**访问类型。
+1. 单击**保存**。
+
+**结果**:用户或组可以使用模板创建集群。
+
+### 与所有用户共享模板
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在左侧导航栏,单击 **RKE1 配置 > RKE 模板**。
+1. 转到要共享的模板,然后单击 **⋮ > 编辑**。
+1. 在**共享模板**下,选中 **公开(只读)** 复选框。
+1. 单击**保存**。
+
+**结果**:Rancher 设置中的所有用户都可以使用该模板创建集群。
+
+### 共享模板所有权
+
+如果你是模板的创建者,你可能希望将维护和更新模板的责任委派给其他用户或组。
+
+在这种情况下,你可以为用户提供**所有者**访问权限,该权限允许其他用户更新、删除模板或与其他用户共享对模板的访问权限。
+
+要授予用户或组**所有者**权限:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在 **RKE1 配置**下,单击 **RKE 模板**。
+1. 转到要共享的 RKE 模板,然后单击 **⋮ > 编辑**。
+1. 在**共享模板**下,单击**添加成员**并在**名称**字段中搜索要与之共享模板的用户或组。
+1. 在**访问类型**字段中,单击**所有者**。
+1. 单击**保存**。
+
+**结果**:用户或组具有**所有者**访问类型,可以修改、共享或删除模板。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/apply-templates.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/apply-templates.md
new file mode 100644
index 00000000000..3efac3e477e
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/apply-templates.md
@@ -0,0 +1,59 @@
+---
+title: 应用模板
+---
+
+你可以使用你自己创建的 RKE 模板来创建集群,也可以使用[与你共享的模板](access-or-share-templates.md)来创建集群。
+
+RKE 模板可以应用于新集群。
+
+你可以[将现有集群的配置保存为 RKE 模板](#将现有集群转换为使用-rke-模板)。这样,只有模板更新后才能更改集群的设置。
+
+你无法将集群更改为使用不同的 RKE 模板。你只能将集群更新为同一模板的新版本。
+
+
+### 使用 RKE 模板创建集群
+
+要使用 RKE 模板添加[由基础设施提供商托管](../../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)的集群,请按照以下步骤操作:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,单击**创建**并选择基础设施提供商。
+1. 设置集群名称和节点模板详情。
+1. 要使用 RKE 模板,请在**集群选项**下,选中**使用现有 RKE 模板和修订版**复选框。
+1. 从下拉菜单中选择 RKE 模板和修订版。
+1. 可选:你可以编辑 RKE 模板所有者在创建模板时标记为**允许用户覆盖**的任何设置。如果你无法更改某些设置,则需要联系模板所有者以获取模板的新修订版。然后,你需要编辑集群来将其升级到新版本。
+1. 单击**创建**以启动集群。
+
+### 更新使用 RKE 模板创建的集群
+
+模板所有者创建 RKE 模板时,每个设置在 Rancher UI 中都有一个开关,指示用户是否可以覆盖该设置。
+
+- 如果某个设置允许用户覆盖,你可以通过[编辑集群](../../../../pages-for-subheaders/cluster-configuration.md)来更新集群中的设置。
+- 如果该开关处于关闭状态,则除非集群所有者创建了允许你覆盖这些设置的模板修订版,否则你无法更改这些设置。如果你无法更改某些设置,则需要联系模板所有者以获取模板的新修订版。
+
+如果集群是使用 RKE 模板创建的,你可以编辑集群,来将集群更新为模板的新版本。
+
+现有集群的设置可以[保存为 RKE 模板](#将现有集群转换为使用-rke-模板)。在这种情况下,你还可以编辑集群以将集群更新为模板的新版本。
+
+:::note
+
+你无法将集群更改为使用不同的 RKE 模板。你只能将集群更新为同一模板的新版本。
+
+:::
+
+### 将现有集群转换为使用 RKE 模板
+
+本节介绍如何使用现有集群创建 RKE 模板。
+
+除非你将现有集群的设置保存为 RKE 模板,否则 RKE 模板不能应用于现有集群。这将把集群的设置导出为新的 RKE 模板,并且将集群绑定到该模板。然后,只有[更新了模板](manage-rke1-templates.md#更新模板)并且集群升级到**使用更新版本的模板**时,集群才能改变。
+
+要将现有集群转换为使用 RKE 模板:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要转换为使用 RKE 模板的集群。单击 **⋮ > 保存为 RKE 模板**。
+1. 在出现的表单中输入模板的名称,然后单击**创建**。
+
+**结果**:
+
+- 创建了一个新的 RKE 模板。
+- 将集群转换为使用该新模板。
+- 可以[使用新模板创建新集群](apply-templates.md#使用-rke-模板创建集群)。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/creator-permissions.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/creator-permissions.md
new file mode 100644
index 00000000000..7db812c38ef
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/creator-permissions.md
@@ -0,0 +1,57 @@
+---
+title: 模板创建者权限
+---
+
+管理员有创建 RKE 模板的权限,只有管理员可以将该权限授予其他用户。
+
+有关管理员权限的更多信息,请参阅[全局权限文档](../manage-role-based-access-control-rbac/global-permissions.md)。
+
+## 授予用户创建模板的权限
+
+只有具有**创建 RKE 模板**全局权限的用户才能创建模板。
+
+管理员拥有创建模板的全局权限,只有管理员才能将该权限授予其他用户。
+
+有关允许用户修改现有模板的信息,请参阅[共享模板](access-or-share-templates.md)。
+
+管理员可以通过两种方式授予用户创建 RKE 模板的权限:
+
+- 通过编辑[单个用户](#允许用户创建模板)的权限
+- 通过更改[新用户的默认权限](#默认允许新用户创建模板)
+
+### 允许用户创建模板
+
+管理员可以按照以下步骤将**创建 RKE 模板**角色单独授予给任何现有用户:
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**用户**。
+1. 选择要编辑的用户,然后单击 **⋮ > 编辑配置**。
+1. 在**内置角色**中,选中**创建 RKE 集群模板**角色以及用户应具有的其他角色。你可能还需要选中**创建 RKE 模板修订版**复选框。
+1. 单击**保存**。
+
+**结果**:用户拥有创建 RKE 模板的权限。
+
+### 默认允许新用户创建模板
+
+管理员也可以按照以下步骤为所有新用户授予创建 RKE 模板的默认权限。这不会影响现有用户的权限。
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**角色**。
+1. 转到**创建 RKE 集群模板**角色,然后单击 **⋮ > 编辑配置**。
+1. 选择**是:新用户的默认角色**选项。
+1. 单击**保存**。
+1. 如果你希望新用户能够创建 RKE 模板修订,请将该角色设置为默认值。
+
+**结果**:在此 Rancher 安装中创建的任何新用户都可以创建 RKE 模板。现有用户将不会获得此权限。
+
+### 取消创建模板的权限
+
+管理员可以通过以下步骤删除用户创建模板的权限。请注意,无论是否选择了细粒度权限,管理员都可以完全控制所有资源。
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**用户**。
+1. 选择要编辑权限的用户,然后单击 **⋮ > 编辑配置**。
+1. 在**内置角色**中,取消选中**创建 RKE 模板**和**创建 RKE 模板修订版**复选框(如果适用)。在此处,你可以将用户改回普通用户,或授予用户一组不同的权限。
+1. 单击**保存**。
+
+**结果**:用户无法创建 RKE 模板。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/enforce-templates.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/enforce-templates.md
new file mode 100644
index 00000000000..38ab0f41ee8
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/enforce-templates.md
@@ -0,0 +1,43 @@
+---
+title: 强制使用模板
+---
+
+本节介绍模板管理员如何在 Rancher 中强制执行模板,从而限制用户在没有模板的情况下创建集群。
+
+默认情况下,Rancher 中的任何普通用户都可以创建集群。但当开启强制使用 RKE 模板时,有以下约束:
+
+- 只有管理员才能在没有模板的情况下创建集群。
+- 所有普通用户必须使用 RKE 模板来创建新集群。
+- 普通用户在不使用模板的情况下无法创建集群。
+
+只有管理员[授予权限](creator-permissions.md#允许用户创建模板)后,用户才能创建新模板。
+
+使用 RKE 模板创建集群后,集群创建者无法编辑模板中定义的设置。创建集群后更改这些设置的唯一方法是[将集群升级到相同模板的新修订版](apply-templates.md#更新使用-rke-模板创建的集群)。如果集群创建者想要更改模板定义的设置,他们需要联系模板所有者以获取模板的新版本。有关模板修订如何工作的详细信息,请参阅[修订模板](manage-rke1-templates.md#更新模板)。
+
+## 强制新集群使用 RKE 模板
+
+要求用户创建新集群时使用模板,可以确保[普通用户](../manage-role-based-access-control-rbac/global-permissions.md)启动的任何集群都使用经过管理员审核的 Kubernetes 和 Rancher 设置。
+
+管理员可以通过以下步骤启用 RKE 模板强制,从而要求用户必须使用模板创建集群:
+
+1. 单击 **☰ > 全局设置**。
+1. 转到 `cluster-template-enforcement` 设置。单击 **⋮ > 编辑设置**。
+1. 将值设置为 **True** 并单击**保存**。
+
+ :::note 重要提示:
+
+ 如果管理员将 `cluster-template-enforcement` 设置为 True ,还需要与用户共享 `clusterTemplates`,以便用户可以选择其中一个模板来创建集群。
+
+ :::
+
+**结果**:除非创建者是管理员,否则 Rancher 配置的所有集群都必须使用模板。
+
+## 禁用 RKE 模板强制
+
+管理员可以通过以下步骤关闭 RKE 模板强制,从而允许用户在没有 RKE 模板的情况下创建新集群:
+
+1. 单击 **☰ > 全局设置**。
+1. 转到 `cluster-template-enforcement` 设置。单击 **⋮ > 编辑设置**。
+1. 将值设置为 **False** 并单击**保存**。
+
+**结果**:在 Rancher 中创建集群时,用户不需要使用模板。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/example-use-cases.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/example-use-cases.md
new file mode 100644
index 00000000000..7457df20253
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/example-use-cases.md
@@ -0,0 +1,70 @@
+---
+title: 示例场景
+---
+
+以下示例场景描述了组织如何使用模板来标准化集群创建。
+
+- **强制执行模板**:如果希望所有 Rancher 配置的新集群都具有某些设置,管理员可能想要[为每个用户强制执行一项或多项模板设置](#强制执行模板设置)。
+- **与不同的用户共享不同的模板**:管理员可以为[普通用户和高级用户提供不同的模板](#普通用户和高级用户模板)。这样,普通用户会有更多限制选项,而高级用户在创建集群时可以使用更多选项。
+- **更新模板设置**:如果组织的安全和 DevOps 团队决定将最佳实践嵌入到新集群所需的设置中,这些最佳实践可能会随着时间而改变。如果最佳实践发生变化,[可以将模板更新为新版本](#更新模板和集群)。这样,使用模板创建的集群可以升级到模板的新版本。
+- **共享模板的所有权**:当模板所有者不再想要维护模板或想要共享模板的所有权时,此方案描述了如何[授权模板所有权](#允许其他用户控制和共享模板)。
+
+
+## 强制执行模板设置
+
+假设一个组织的管理员决定用 Kubernetes 版本 1.14 创建所有新集群:
+
+1. 首先,管理员创建一个模板,将 Kubernetes 版本指定为 1.14,并将所有其他设置标记为**允许用户覆盖**。
+1. 管理员将模板公开。
+1. 管理员打开模板强制功能。
+
+**结果**:
+
+- 组织中的所有 Rancher 用户都可以访问该模板。
+- [普通用户](../manage-role-based-access-control-rbac/global-permissions.md)使用此模板创建的所有新集群都将使用 Kubernetes 1.14,它们无法使用其它 Kubernetes 版本。默认情况下,普通用户没有创建模板的权限。因此,除非与他们共享更多模板,否则此模板将是普通用户唯一可以使用的模板。
+- 所有普通用户都必须使用集群模板来创建新集群。他们无法在不使用模板的情况下创建集群。
+
+通过这种方式,管理员在整个组织中强制执行 Kubernetes 版本,同时仍然允许最终用户配置其他所有内容。
+
+## 普通用户和高级用户模板
+
+假设一个组织有普通用户和高级用户。管理员希望普通用户必须使用模板,而高级用户和管理员可以根据自己的需要创建集群。
+
+1. 首先,管理员开启 [RKE 模板强制执行](enforce-templates.md#强制新集群使用-rke-模板)。这意味着 Rancher 中的每个[普通用户](../manage-role-based-access-control-rbac/global-permissions.md)在创建集群时都需要使用 RKE 模板。
+1. 然后管理员创建两个模板:
+
+- 一个普通用户模板,该模板除了访问密钥外,几乎指定了所有选项
+- 一个高级用户模板,该模板具有大部分或所有已启用**允许用户覆盖**的选项
+
+1. 管理员仅与高级用户共享高级模板。
+1. 管理员将普通用户的模板公开,因此在 Rancher 中创建的 RKE 集群的每个人都能选择限制性更强的模板。
+
+**结果**:除管理员外,所有 Rancher 用户在创建集群时都需要使用模板。每个人都可以访问限制模板,但只有高级用户有权使用更宽松的模板。普通用户会受到更多限制,而高级用户在配置 Kubernetes 集群时有更多选择。
+
+## 更新模板和集群
+
+假设一个组织有一个模板,该模板要求集群使用 Kubernetes v1.14。然而,随着时间的推移,管理员改变了主意。管理员现在希望用户能够升级集群,以使用更新版本的 Kubernetes。
+
+在这个组织中,许多集群是用一个需要 Kubernetes v1.14 的模板创建的。由于模板不允许重写该设置,因此创建集群的用户无法直接编辑该设置。
+
+模板所有者可以有以下几个选项,来允许集群创建者在集群上升级 Kubernetes:
+
+- **在模板上指定 Kubernetes v1.15**:模板所有者可以创建指定 Kubernetes v1.15 的新模板修订版。然后使用该模板的每个集群的所有者可以将集群升级到模板的新版本。此模板升级允许集群创建者在集群上将 Kubernetes 升级到 v1.15。
+- **允许在模板上使用任何 Kubernetes 版本**:创建模板修订时,模板所有者还可以使用 Rancher UI 上该设置附近的开关,将 Kubernetes 版本标记为**允许用户覆盖**。该设置允许升级到此模板版本的集群使用任意 Kubernetes 的版本。
+- **允许在模板上使用最新的 Kubernetes 次要版本**:模板所有者还可以创建一个模板修订版,其中 Kubernetes 版本被定义为 **Latest v1.14(允许补丁版本升级)**。这意味着使用该版本的集群将能够进行补丁版本升级,但不支持主要版本升级。
+
+## 允许其他用户控制和共享模板
+
+假设 Alice 是 Rancher 管理员。她拥有一个 RKE 模板,该模板反映了她的组织为创建集群而商定的最佳实践。
+
+Bob 是一位高级用户,可以就集群配置做出明智的决策。随着最佳实践随着时间的推移不断更新,Alice 相信 Bob 会为她的模板创建新的修订。因此,她决定让 Bob 成为模板的所有者。
+
+为了与 Bob 共享模板的所有权,Alice [将 Bob 添加为模板的所有者](access-or-share-templates.md#共享模板所有权)。
+
+结果是,作为模板所有者,Bob 负责该模板的版本控制。Bob 现在可以执行以下所有操作:
+
+- 当最佳实践发生变化时[修改模板](manage-rke1-templates.md#更新模板)
+- [禁用模板的过时修订](manage-rke1-templates.md#禁用模板修订版),以禁止使用该模板来创建集群
+- 如果组织想要改变方向,则[删除整个模板](manage-rke1-templates.md#删除模板)
+- [将某个版本设置为默认值](manage-rke1-templates.md#将模板修订版设置为默认),用于用户创建集群。模板的最终用户仍然可以选择他们想要使用哪个版本来创建集群。
+- [与特定用户共享模板](access-or-share-templates.md),让所有 Rancher 用户都可以使用该模板,或与其他用户共享该模板的所有权。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/infrastructure.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/infrastructure.md
new file mode 100644
index 00000000000..a3cb27d9b6b
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/infrastructure.md
@@ -0,0 +1,69 @@
+---
+title: RKE 模板和基础设施
+---
+
+在 Rancher 中,RKE 模板用于配置 Kubernetes 和定义 Rancher 设置,而节点模板则用于配置节点。
+
+因此,即使开启了 RKE 模板强制,最终用户在创建 Rancher 集群时仍然可以灵活选择底层硬件。RKE 模板的最终用户仍然可以选择基础设施提供商和他们想要使用的节点。
+
+如果要标准化集群中的硬件,请将 RKE 模板与节点模板或服务器配置工具 (如 Terraform) 结合使用。
+
+### 节点模板
+
+[节点模板](../../../../reference-guides/user-settings/manage-node-templates.md)负责 Rancher 中的节点配置和节点预配。你可以在用户配置文件中设置节点模板,从而定义在每个节点池中使用的模板。启用节点池后,可以确保每个节点池中都有所需数量的节点,并确保池中的所有节点都相同。
+
+### Terraform
+
+Terraform 是一个服务器配置工具。它使用基础架构即代码,支持使用 Terraform 配置文件创建几乎所有的基础设施。它可以自动执行服务器配置,这种方式是自文档化的,并且在版本控制中易于跟踪。
+
+本节重点介绍如何将 Terraform 与 [Rancher 2 Terraform Provider](https://www.terraform.io/docs/providers/rancher2/) 一起使用,这是标准化 Kubernetes 集群硬件的推荐选项。如果你使用 Rancher Terraform Provider 来配置硬件,然后使用 RKE 模板在该硬件上配置 Kubernetes 集群,你可以快速创建一个全面的、可用于生产的集群。
+
+Terraform 支持:
+
+- 定义几乎任何类型的基础架构即代码,包括服务器、数据库、负载均衡器、监控、防火墙设置和 SSL 证书
+- 使用应用商店应用和多集群应用
+- 跨多个平台(包括 Rancher 和主要云提供商)对基础设施进行编码
+- 将基础架构即代码提交到版本控制
+- 轻松重复使用基础设施的配置和设置
+- 将基础架构更改纳入标准开发实践
+- 防止由于配置偏移,导致一些服务器的配置与其他服务器不同
+
+## Terraform 工作原理
+
+Terraform 是用扩展名为 `.tf` 的文件编写的。它是用 HashiCorp 配置语言编写的。HashiCorp 配置语言是一种声明性语言,支持定义集群中所需的基础设施、正在使用的云提供商以及提供商的凭证。然后 Terraform 向提供商发出 API 调用,以便有效地创建基础设施。
+
+要使用 Terraform 创建 Rancher 配置的集群,请转到你的 Terraform 配置文件并将提供商定义为 Rancher 2。你可以使用 Rancher API 密钥设置你的 Rancher 2 提供商。请注意,API 密钥与其关联的用户具有相同的权限和访问级别。
+
+然后 Terraform 会调用 Rancher API 来配置你的基础设施,而 Rancher 调用基础设施提供商。例如,如果你想使用 Rancher 在 AWS 上预配基础设施,你需要在 Terraform 配置文件或环境变量中提供 Rancher API 密钥和 AWS 凭证,以便它们用于预配基础设施。
+
+如果你需要对基础设施进行更改,你可以在 Terraform 配置文件中进行更改,而不是手动更新服务器。然后,可以将这些文件提交给版本控制、验证,并根据需要进行检查。然后,当你运行 `terraform apply` 时,更改将会被部署。
+
+## 使用 Terraform 的技巧
+
+- [Rancher 2 提供商文档](https://www.terraform.io/docs/providers/rancher2/)提供了如何配置集群大部分的示例。
+
+- 在 Terraform 设置中,你可以使用 Docker Machine 主机驱动来安装 Docker Machine。
+
+- 可以在 Terraform Provider 中修改身份验证。
+
+- 可以通过更改 Rancher 中的设置,来反向工程如何在 Terraform 中定义设置,然后返回并检查 Terraform 状态文件,以查看该文件如何映射到基础设施的当前状态。
+
+- 如果你想在一个地方管理 Kubernetes 集群设置、Rancher 设置和硬件设置,请使用 [Terraform 模块](https://github.com/rancher/terraform-modules)。你可以将集群配置 YAML 文件或 RKE 模板配置文件传递给 Terraform 模块,以便 Terraform 模块创建它。在这种情况下,你可以使用基础架构即代码来管理 Kubernetes 集群及其底层硬件的版本控制和修订历史。
+
+## 创建符合 CIS 基准的集群的技巧
+
+本节描述了一种方法,可以使安全合规相关的配置文件成为集群的标准配置文件。
+
+在你创建[符合 CIS 基准的集群](../../../../pages-for-subheaders/rancher-security.md)时,你有一个加密配置文件和一个审计日志配置文件。
+
+你的基础设施预配系统可以将这些文件写入磁盘。然后在你的 RKE 模板中,你需要指定这些文件的位置,然后将你的加密配置文件和审计日志配置文件作为额外的挂载添加到 `kube-api-server`。
+
+然后,你需要确保 RKE 模板中的 `kube-api-server` 标志使用符合 CIS 的配置文件。
+
+通过这种方式,你可以创建符合 CIS 基准的标志。
+
+## 资源
+
+- [Terraform 文档](https://www.terraform.io/docs/)
+- [Rancher2 Terraform Provider 文档](https://www.terraform.io/docs/providers/rancher2/)
+- [The RanchCast - 第 1 集:Rancher 2 Terraform Provider](https://youtu.be/YNCq-prI8-8):在此演示中,社区主管 Jason van Brackel 使用 Rancher 2 Terraform Provider 创建了节点并创建自定义集群。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/manage-rke1-templates.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/manage-rke1-templates.md
new file mode 100644
index 00000000000..6e4adb98239
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/manage-rke1-templates.md
@@ -0,0 +1,161 @@
+---
+title: 创建和修改 RKE 模板
+---
+
+本节介绍如何管理 RKE 模板和修订版。你可以从 **RKE1 配置 > RKE 模板**下的**集群管理**视图创建、共享、更新和删除模板。
+
+模板更新通过修订系统处理。当模板所有者想要更改或更新模板时,他们会创建模板的新版本。单个修订无法编辑。但是,如果你想防止使用修订来创建新集群,你可以禁用它。
+
+你可以使用两种方式来使用模板修订:创建新集群,或升级使用较早版本的模板创建的集群。模板创建者可以设置默认修订版,但是在最终用户创建集群时,他们可以选择任何模板以及可供使用的任何模板修订版。使用指定的修订版创建集群后,就无法将其更改为另一个模板,但是可以将集群升级为同一模板的较新的可用修订版。
+
+模板所有者对模板修订版具有完全控制权,并且可以创建新的修订版来更新模板,删除或禁用不应被用于创建集群的修订版,和设置默认的模板修订版。
+
+
+### 先决条件
+
+如果你具有**创建 RKE 模板**权限,则可以创建 RKE 模板,该权限可由[管理员授予](creator-permissions.md)。
+
+如果你是模板的所有者,你可以修改、共享和删除模板。有关如何成为模板所有者的详细信息,请参阅[共享模板所有权文档](access-or-share-templates.md#共享模板所有权)。
+
+### 创建模板
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 单击 **RKE1 配置 > 节点模板**。
+1. 单击**添加模板**。
+1. 输入模板的名称。Rancher 已经为模板的第一个版本自动生成了名称,该版本与该模板一起创建。
+1. 可选:通过将用户添加为成员,来[与其他用户或组共享模板](access-or-share-templates.md#与特定用户或组共享模板)。你还可以将模板公开,从而与 Rancher 中的所有人共享。
+1. 然后按照屏幕上的表格将集群配置参数保存为模板修订的一部分。可以将修订标记为此模板的默认值。
+
+**结果**:配置了具有一个修订版的 RKE 模板。你可以稍后在[配置 Rancher 启动的集群](../../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)时使用此 RKE 模板修订版。通过 RKE 模板管理集群后,集群无法解除与模板的绑定,并且无法取消选中**使用现有 RKE 模板和修订版**。
+
+### 更新模板
+
+更新 RKE 模板相当于创建现有模板的修订版。使用旧版本模板创建的集群可以进行更新,从而匹配新版本。
+
+你不能编辑单个修订。由于你无法编辑模板的单个修订,为了防止使用某个修订,你可以[禁用该修订版](#禁用模板修订版)。
+
+创建新模板修订时,使用旧模板修订的集群不受影响。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在左侧导航栏,单击 **RKE1 配置 > RKE 模板**。
+1. 转到要编辑的模板,然后单击 **⋮ > 编辑**。
+1. 编辑所需信息并单击**保存**。
+1. 可选:你可以更改此模板的默认修订版,也可以更改共享对象。
+
+**结果**:模板已更新。要将其应用到使用旧版本模板的集群,请参阅[升级集群以使用新的模板修订版](#升级集群以使用新的模板修订版)。
+
+### 删除模板
+
+当不再需要为任何集群使用某个 RKE 模板时,可以将其删除。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 单击 **RKE1 配置 > RKE 模板**。
+1. 转到要删除的 RKE 模板,然后单击 **⋮ > 删除**。
+1. 确认删除。
+
+**结果**:模板被删除。
+
+### 基于默认版创建新修订版
+
+你可以复制默认模板修订版并快速更新其设置,而无需从头开始创建新修订版。克隆模板为你省去了重新输入集群创建所需的访问密钥和其他参数的麻烦。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在左侧导航栏,单击 **RKE1 配置 > RKE 模板**。
+1. 转到要克隆的 RKE 模板,然后单击 **⋮ > 基于默认版创建新修订版**。
+1. 填写表单的其余部分来创建新修订。
+
+**结果**:克隆并配置了 RKE 模板修订版。
+
+### 基于克隆版创建新修订版
+
+通过用户设置创建新的 RKE 模板修订版时,可以克隆现有修订版并快速更新其设置,而无需从头开始创建新的修订版。克隆模板修订省去了重新输入集群参数的麻烦。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在 **RKE1 配置**下,单击 **RKE 模板**。
+1. 转到要克隆的模板修订。然后选择 **⋮ > 克隆修订版**。
+1. 填写表单的其余部分。
+
+**结果**:克隆并配置了 RKE 模板修订版。你可以在配置集群时使用 RKE 模板修订。任何使用此 RKE 模板的现有集群都可以升级到此新版本。
+
+### 禁用模板修订版
+
+当你不需要将 RKE 模板修订版本用于创建新集群时,可以禁用模板修订版。你也可以重新启用禁用了的修订版。
+
+如果没有任何集群使用该修订,你可以禁用该修订。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在左侧导航栏,单击 **RKE1 配置 > RKE 模板**。
+1. 转到要禁用的模板修订版。然后选择 **⋮ > 禁用**。
+
+**结果**:RKE 模板修订版不能用于创建新集群。
+
+### 重新启用禁用的模板修订版
+
+如果要使用已禁用的 RKE 模板修订版来创建新集群,你可以重新启用该修订版。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在 **RKE1 配置**下,单击 **RKE 模板**。
+1. 转到要重新启用的模板修订。然后选择 **⋮ > 启用**。
+
+**结果**:RKE 模板修订版可用于创建新集群。
+
+### 将模板修订版设置为默认
+
+当最终用户使用 RKE 模板创建集群时,他们可以选择使用哪个版本来创建集群。你可以配置默认使用的版本。
+
+要将 RKE 模板修订版设置为默认:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在左侧导航栏,单击 **RKE1 配置 > RKE 模板**。
+1. 转到要设为默认的 RKE 模板修订版,然后单击 **⋮ > 设为默认配置**。
+
+**结果**:使用模板创建集群时,RKE 模板修订版将用作默认选项。
+
+### 删除模板修订版
+
+你可以删除模板的所有修订(默认修订除外)。
+
+要永久删除修订版:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在左侧导航栏,单击 **RKE1 配置 > RKE 模板**。
+1. 转到要删除的 RKE 模板修订版,然后单击 **⋮ > 删除**。
+
+**结果**:RKE 模板修订版被删除。
+
+### 升级集群以使用新的模板修订版
+
+:::note
+
+本部分假设你已经有一个集群,该集群[应用了 RKE 模板](apply-templates.md)。
+
+本部分还假设你已[更新了集群使用的模板](#更新模板),以便可以使用新的模板修订版。
+
+:::
+
+要将集群升级到使用新的模板修订版:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 转到要升级的集群,然后单击 **⋮ > 编辑配置**。
+1. 在**集群选项**中,单击模板修订版的下拉菜单,然后选择新的模板修订版。
+1. 单击**保存**。
+
+**结果**:集群已升级为使用新模板修订版中定义的设置。
+
+### 将正在运行的集群导出到新的 RKE 模板和修订版
+
+你可以将现有集群的设置保存为 RKE 模板。
+
+这将把集群的设置导出为新的 RKE 模板,并且将集群绑定到该模板。然后,只有[更新了模板](#更新模板)并且集群升级到[使用更新版本的模板](#升级集群以使用新的模板修订版)时,集群才能改变。
+
+要将现有集群转换为使用 RKE 模板:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 转到将被转换为使用 RKE 模板的集群,然后 **⋮ > 保存为 RKE 模板**。
+1. 在出现的表单中输入 RKE 模板的名称,然后单击**创建**。
+
+**结果**:
+
+- 创建了一个新的 RKE 模板。
+- 将集群转换为使用该新模板。
+- 可以[使用新模板和修订版创建新集群。](apply-templates.md#使用-rke-模板创建集群)
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/override-template-settings.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/override-template-settings.md
new file mode 100644
index 00000000000..11ecac6fabd
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates/override-template-settings.md
@@ -0,0 +1,14 @@
+---
+title: 覆盖模板设置
+---
+
+用户创建 RKE 模板时,模板中的每个设置在 Rancher UI 中都有一个开关,指示用户是否可以覆盖该设置。此开关将这些设置标记为**允许用户覆盖**。打开开关表示用户可以修改对应的参数,关闭开关表示用户无权修改对应的参数。
+
+使用模板创建集群后,除非模板所有者将设置标记为**允许用户覆盖**,否则最终用户无法更新模板中定义的任何设置。但是,如果模板[更新到新修订版](manage-rke1-templates.md),且该修订版更改了设置或允许最终用户更改设置,则集群可以升级到模板的新修订版,并且新修订版中的更改将应用于集群。
+
+如果 RKE 模板上的任何参数设置为**允许用户覆盖**,最终用户必须在集群创建期间设置这些字段,然后他们可以随时编辑这些设置。
+
+RKE 模板的**允许用户覆盖**选项的适用场景如下:
+
+- 管理员认为某些参数需要保持灵活性,以便随时更新。
+- 最终用户将需要输入他们自己的访问密钥或密文密钥,例如,云凭证或备份快照的凭证。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-active-directory.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-active-directory.md
new file mode 100644
index 00000000000..704c47a68c5
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-active-directory.md
@@ -0,0 +1,219 @@
+---
+title: 配置 Active Directory (AD)
+---
+
+如果你的组织使用 Microsoft Active Directory 作为中心用户仓库,你可以将 Rancher 配置为与 Active Directory 服务器通信,从而对用户进行身份验证。这使 Rancher 管理员可以对外部用户系统中的用户和组进行集群和项目的访问控制,同时允许最终用户在登录 Rancher UI 时使用 Active Directory 凭证进行身份验证。
+
+Rancher 使用 LDAP 与 Active Directory 服务器通信。因此,Active Directory 与 [OpenLDAP 身份验证](../../../../pages-for-subheaders/configure-openldap.md)的流程相同。
+
+:::note
+
+在开始之前,请熟悉[外部身份验证配置和主体用户](../../../../pages-for-subheaders/authentication-config.md#外部身份验证配置和用户主体)的概念。
+
+:::
+
+## 先决条件
+
+你需要创建或从你的 AD 管理员处获取一个新的 AD 用户,用作 Rancher 的 ServiceAccount。此用户必须具有足够的权限,才能执行 LDAP 搜索并读取你的 AD 域下的用户和组的属性。
+
+通常可以使用(非管理员)**域用户**账号,因为默认情况下,该用户对域分区中的大多数对象具有只读特权。
+
+但是,请注意,在某些锁定的 Active Directory 配置中,此默认操作可能不适用。在这种情况下,你需要确保 ServiceAccount 用户在 Base OU(包含用户和组)上或全局范围内至少拥有域的 **Read** 和 **List Content** 权限。
+
+:::note 使用 TLS?
+
+- 如果 AD 服务器使用的证书是自签名的或不是来自认可的证书颁发机构,请确保手头有 PEM 格式的 CA 证书(包含所有中间证书)。你必须在配置期间粘贴此证书,以便 Rancher 能够验证证书链。
+
+- 升级到 v2.6.0 后,如果 AD 服务器上的证书不支持 SAN 属性,则使用 TLS 通过 Rancher 对 Active Directory 进行身份验证可能会失败。这是 Go v1.15 中默认启用的检查。
+
+ - 收到"Error creating SSL connection: LDAP Result Code 200 "Network Error": x509 错误:证书依赖于旧的通用名称(Common Name)字段,使用 SAN 或临时启用与 GODEBUG=x509ignoreCN=0 匹配的通用名称。
+
+ - 要解决此错误,请使用支持 SAN 属性的新证书更新或替换 AD 服务器上的证书。或者,将 `GODEBUG=x509ignoreCN=0` 设置为 Rancher Server 容器的环境变量来忽略此错误。
+
+:::
+
+## 配置步骤
+### 打开 Active Directory 配置
+
+1. 使用初始的本地 `admin` 账号登录到 Rancher UI。
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏,单击**认证**。
+1. 单击 **ActiveDirectory**。然后会显示**验证提供程序:ActiveDirectory** 的表单。
+1. 填写表单。如果需要获取帮助,请参见下方的配置选项详情。
+1. 点击**启用**。
+
+### 配置 Active Directory 服务器
+
+在 `1. 配置 Active Directory 服务器` 的步骤中,使用你 Active Directory 的实际信息完成字段配置。有关每个参数所需值的详细信息,请参阅下表。
+
+:::note
+
+如果你不确定要在用户/组`搜索库`字段中输入什么值,请参见[使用 ldapsearch 确定搜索库和 Schema](#附录使用-ldapsearch-确定搜索库和-schema)。
+
+:::
+
+**表 1:AD 服务器参数**
+
+| 参数 | 描述 |
+|:--|:--|
+| 主机名 | 指定 AD 服务器的主机名或 IP 地址。 |
+| 端口 | 指定 AD 服务器监听连接的端口。未加密的 LDAP 通常使用 389 的标准端口,而 LDAPS 使用 636 端口。 |
+| TLS | 选中此框可启用 SSL/TLS 上的 LDAP(通常称为 LDAPS)。 |
+| 服务器连接超时 | Rancher 在认为无法访问 AD 服务器之前等待的时间(秒)。 |
+| ServiceAccount 用户名 | 输入对域分区具有只读访问权限的 AD 账号的用户名(参见[先决条件](#先决条件))。用户名可以用 NetBIOS(例如 "DOMAIN\serviceaccount")或 UPN 格式(例如 "serviceaccount@domain.com")。 |
+| ServiceAccount 密码 | ServiceAccount 的密码。 |
+| 默认登录域 | 如果你使用 AD 域的 NetBIOS 名称配置此字段,在绑定到 AD 服务器时,没有包含域的用户名(例如“jdoe”)将自动转换为带斜杠的 NetBIOS 登录(例如,“LOGIN_DOMAIN\jdoe”)。如果你的用户以 UPN(例如,"jdoe@acme.com")作为用户名进行身份验证,则此字段必须**必须**留空。 |
+| 用户搜索库 | 输入目录树中开始搜索用户对象的节点的标识名称(DN)。所有用户都必须是此基础标识名称的后代。例如,"ou=people,dc=acme,dc=com"。 |
+| 组搜索库 | 如果组位于`用户搜索库`下配置的节点之外的其他节点下,则需要在此处提供标识名称。否则请留空。例如:"ou=groups,dc=acme,dc=com"。 |
+
+---
+
+### 配置用户/组 Schema
+
+在 `2. 自定义 Schema` 中,你必须为 Rancher 提供与目录中使用的 Schema 对应的用户和组属性的正确映射。
+
+Rancher 使用 LDAP 查询来搜索和检索关于 Active Directory 中的用户和组的信息。本节中配置的属性映射用于构造搜索筛选器和解析组成员身份。因此,所提供的设置需要反映你 AD 域的真实情况。
+
+:::note
+
+如果你不熟悉 Active Directory 域中使用的 Schema,请参见[使用 ldapsearch 确定搜索库和 Schema](#附录使用-ldapsearch-确定搜索库和-schema) 来确定正确的配置值。
+
+:::
+
+#### 用户 Schema
+
+下表详细说明了用户 Schema 配置的参数。
+
+**表 2:用户 Schema 配置参数**
+
+| 参数 | 描述 |
+|:--|:--|
+| Object Class | 域中用于用户对象的对象类别名称。如果定义了此参数,则仅指定对象类别的名称 - *请勿*将其放在 LDAP 包装器中,例如 `&(objectClass=xxxx)`。 |
+| Username Attribute | 用户属性的值适合作为显示名称。 |
+| Login Attribute | 登录属性的值与用户登录 Rancher 时输入的凭证的用户名部分匹配。如果你的用户以他的 UPN(例如 "jdoe@acme.com")作为用户名进行身份验证,则此字段通常必须设置为 `userPrincipalName`。否则,对于旧的 NetBIOS 风格的登录名(例如 "jdoe"),则通常设为 `sAMAccountName`。 |
+| User Member Attribute | 包含用户所属组的属性。 |
+| Search Attribute | 当用户输入文本以在用户界面中添加用户或组时,Rancher 会查询 AD 服务器,并尝试根据此设置中提供的属性匹配用户。可以通过使用管道(“\|”)符号分隔属性来指定多个属性。要匹配 UPN 用户名(例如 jdoe@acme.com),通常应将此字段的值设置为 `userPrincipalName`。 |
+| Search Filter | 当 Rancher 尝试将用户添加到网站访问列表,或尝试将成员添加到集群或项目时,此筛选器将应用于搜索的用户列表。例如,用户搜索筛选器可能是 (|(memberOf=CN=group1,CN=Users,DC=testad,DC=rancher,DC=io)(memberOf=CN=group2,CN=Users,DC=testad,DC=rancher,DC=io))。注意:如果搜索筛选器未使用[有效的 AD 搜索语法](https://docs.microsoft.com/en-us/windows/win32/adsi/search-filter-syntax),则用户列表将为空。 |
+| User Enabled Attribute | 该属性是一个整数值,代表用户账号标志的枚举。Rancher 使用此选项来确定用户账号是否已禁用。通常应该将此参数设置为 AD 标准的 `userAccountControl`。 |
+| Disabled Status Bitmask | 指定的禁用用户账号的 `User Enabled Attribute` 的值。通常,你应该将此参数设置为 Microsoft Active Directory Schema 中指定的默认值 2(请参见[此处](https://docs.microsoft.com/en-us/windows/desktop/adschema/a-useraccountcontrol#remarks))。 |
+
+---
+
+#### 组 Schema
+
+下表详细说明了组 Schema 配置的参数。
+
+**表 3:组 Schema 配置参数**
+
+| 参数 | 描述 |
+|:--|:--|
+| Object Class | 域中用于组对象的对象类别名称。如果定义了此参数,则仅指定对象类别的名称 - *请勿*将其放在 LDAP 包装器中,例如 `&(objectClass=xxxx)`。 |
+| Name Attribute | 名称属性的值适合作为显示名称。 |
+| Group Member User Attribute | **用户属性**的名称。它的格式与 `Group Member Mapping Attribute` 中的组成员匹配。 |
+| Group Member Mapping Attribute | 包含组成员的组属性的名称。 |
+| Search Attribute | 在将组添加到集群或项目时,用于构造搜索筛选器的属性。请参见用户 Schema 的 `Search Attribute`。 |
+| Search Filter | 当 Rancher 尝试将组添加到网站访问列表,或将组添加到集群或项目时,此筛选器将应用于搜索的组列表。例如,组搜索筛选器可以是 (|(cn=group1)(cn=group2))。注意:如果搜索筛选器未使用[有效的 AD 搜索语法](https://docs.microsoft.com/en-us/windows/win32/adsi/search-filter-syntax),则组列表将为空。 |
+| Group DN Attribute | 组属性的名称,其格式与描述用户成员身份的用户属性中的值匹配。参见 `User Member Attribute`。 |
+| Nested Group Membership | 此设置定义 Rancher 是否应解析嵌套组成员身份。仅当你的组织使用这些嵌套成员身份时才使用(即你有包含其他组作为成员的组。我们建议尽量避免使用嵌套组,从而避免在存在大量嵌套成员时出现潜在的性能问题)。 |
+
+---
+
+### 测试身份验证
+
+完成配置后,请**使用你的 AD 管理员账户**测试与 AD 服务器的连接。如果测试成功,将启用配置的 Active Directory 身份验证,测试时使用的账号会成为管理员。
+
+:::note
+
+与此步骤中输入的凭证相关的 AD 用户将映射到本地主体账号,并在 Rancher 中分配系统管理员权限。因此,你应该决定使用哪个 AD 账号来执行此步骤。
+
+:::
+
+1. 输入应映射到本地主体账号的 AD 账号的**用户名**和**密码** 。
+2. 点击**启用 Active Directory 认证**来完成设置。
+
+**结果**:
+
+- 已启用 Active Directory 身份验证。
+- 你已使用 AD 凭证以系统管理员身份登录到 Rancher。
+
+:::note
+
+如果 LDAP 服务中断,你仍然可以使用本地配置的 `admin` 账号和密码登录。
+
+:::
+
+## 附录:使用 ldapsearch 确定搜索库和 Schema
+
+为了成功配置 AD 身份验证,你必须提供 AD 服务器的层次结构和 Schema 的正确配置。
+
+[`ldapsearch`](https://manpages.ubuntu.com/manpages/kinetic/en/man1/ldapsearch.1.html) 工具允许你查询你的 AD 服务器,从而了解用于用户和组对象的 Schema。
+
+在下面的示例命令中,我们假设:
+
+- Active Directory 服务器的主机名是 `ad.acme.com`。
+- 服务器正在监听端口 `389` 上的未加密连接。
+- Active Directory 的域是 `acme`。
+- 你有一个用户名为 `jdoe`,密码为 `secret` 的有效 AD 账号。
+
+### 确认搜索库
+
+首先,我们将使用 `ldapsearch` 来找到用户和组的父节点的标识名称:
+
+```
+$ ldapsearch -x -D "acme\jdoe" -w "secret" -p 389 \
+-h ad.acme.com -b "dc=acme,dc=com" -s sub "sAMAccountName=jdoe"
+```
+
+此命令执行 LDAP 搜索,搜索起点设置为域根目录(`-b "dc=acme,dc=com"`),并执行针对用户账号(`sAMAccountNam=jdoe`)的筛选器,返回所述用户的属性:
+
+
+
+因为在这种情况下,用户的 DN 是 `CN=John Doe,CN=Users,DC=acme,DC=com` [5],所以我们应该使用父节点 DN `CN=Users,DC=acme,DC=com` 来配置**用户搜索库**。
+
+同样,基于 **memberOf** 属性 [4] 中引用的组的 DN,**组搜索库**的值将是该值的父节点,即 `OU=Groups,DC=acme,DC=com`。
+
+### 确定用户 Schema
+
+上述 `ldapsearch` 查询的输出还能用于确定在用户 Schema 配置中使用的值:
+
+- `Object Class`:**person** [1]
+- `Username Attribute`::**name** [2]
+- `Login Attribute`:**sAMAccountName** [3]
+- `User Member Attribute`:**memberOf** [4]
+
+:::note
+
+如果我们组织中的 AD 用户使用其 UPN(例如 `jdoe@acme.com`)而不是短登录名进行身份验证,则必须将 `Login Attribute` 设置为 **userPrincipalName**。
+
+:::
+
+我们还将 `Search Attribute` 数设置为 **sAMAccountName|name**。这样,用户可以通过输入用户名或全名添加到 Rancher UI 中的集群/项目中。
+
+### 确定组 Schema
+
+接下来,我们将查询与此用户关联的一个组,在本例中为 `CN=examplegroup,OU=Groups,DC=acme,DC=com`:
+
+```
+$ ldapsearch -x -D "acme\jdoe" -w "secret" -p 389 \
+-h ad.acme.com -b "ou=groups,dc=acme,dc=com" \
+-s sub "CN=examplegroup"
+```
+
+此命令将告知我们用于组对象的属性:
+
+
+
+同样,这能让我们确定要在组 Schema 配置中输入的值:
+
+- `Object Class`:**group** [1]
+- `Name Attribute`:**name** [2]
+- `Group Member Mapping Attribute`:**member** [3]
+- `Search Attribute`:**sAMAccountName** [4]
+
+查看 **member** 属性的值,我们可以看到它包含被引用用户的 DN。这对应我们的用户对象中的 **distinguishedName** 属性。因此,必须将 `Group Member User Attribute` 参数的值设置为此属性。
+
+同样,我们可以看到用户对象中 **memberOf** 属性中的值对应组的 **distinguishedName** [5]。因此,我们需要将 `Group DN Attribute` 参数的值设置为此属性。
+
+## 附录:故障排除
+
+如果在测试与 Active Directory 服务器的连接时遇到问题,请首先仔细检查为 ServiceAccount 输入的凭证以及搜索库配置。你还可以检查 Rancher 日志来查明问题的原因。调试日志可能包含有关错误的更详细信息。详情请参见[如何启用调试日志](../../../../faq/technical-items.md#如何启用调试日志记录)。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-azure-ad.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-azure-ad.md
new file mode 100644
index 00000000000..77d51e007bf
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-azure-ad.md
@@ -0,0 +1,326 @@
+---
+title: 配置 Azure AD
+---
+
+## Microsoft Graph API
+
+Microsoft Graph API 现在是设置 Azure AD 的流程。下文将帮助[新用户](#新用户设置)使用新实例来配置 Azure AD,并帮助现有 Azure 应用所有者[迁移到新流程](#从-azure-ad-graph-api-迁移到-microsoft-graph-api)。
+
+Rancher 中的 Microsoft Graph API 流程正在不断发展。建议你使用最新的 2.7 补丁版本,该版本仍在积极开发中,并将持续获得新功能和改进。
+
+### 新用户设置
+
+如果你在 Azure 中托管了一个 Active Directory(AD)实例,你可以将 Rancher 配置为允许你的用户使用 AD 账号登录。你需要在 Azure 和 Rancher 中进行 Azure AD 外部身份验证。
+
+:::note 注意事项
+
+- Azure AD 集成仅支持服务提供商发起的登录。
+- 大部分操作是从 [Microsoft Azure 门户](https://portal.azure.com/)执行的。
+
+:::
+
+#### Azure Active Directory 配置概述
+
+要将 Rancher 配置为允许用户使用其 Azure AD 账号进行身份验证,你需要执行多个步骤。在你开始之前,请查看下文操作步骤大纲。
+
+:::tip
+
+在开始之前,打开两个浏览器选项卡:一个用于 Rancher,另一个用于 Azure 门户。这样,你可以将门户的配置值复制并粘贴到 Rancher 中。
+
+:::
+
+
+#### 1. 在 Azure 注册 Rancher
+
+在 Rancher 中启用 Azure AD 之前,你必须先向 Azure 注册 Rancher。
+
+1. 以管理用户身份登录 [Microsoft Azure](https://portal.azure.com/)。后续配置步骤中需要管理访问权限。
+
+1. 使用搜索功能打开 **App registrations** 服务。
+
+1. 点击 **New registration** 并填写表单。
+
+ 
+
+ 1. 输入 **Name**(例如 `Rancher`)。
+
+
+ 1. 在 **Supported account types** 中,选择 **Accounts in this organizational directory only (AzureADTest only - Single tenant)**。这对应于旧版应用注册选项。
+
+ :::note
+
+ 在更新后的 Azure 门户中,Redirect URI 与 Reply URL 的意思相同。为了将 Azure AD 与 Rancher 一起使用,你必须将 Rancher 列入 Azure 白名单(之前通过 Reply URL 完成)。因此,请确保使用你的 Rancher Server URL 填写 Redirect URI,以包含下面列出的验证路径。
+
+ :::
+
+ 1. 在 [**Redirect URI**](https://docs.microsoft.com/en-us/azure/active-directory/develop/reply-url) 中,确保从下拉列表中选择 **Web**,并在旁边的文本框中输入 Rancher Server 的 URL。Rancher Server URL 后需要追加验证路径,例如 `/verify-auth-azure`。
+
+ :::tip
+
+ 你可以在 Azure AD 身份验证页面(全局视图 > Authentication > Web)中找到你 Rancher 中的个性化 Azure Redirect URI(Reply URL)。
+
+ :::
+
+ 1. 单击 **Register**。
+
+:::note
+
+此更改可能需要五分钟才能生效。因此,如果在配置 Azure AD 之后无法立即进行身份验证,请不要惊慌。
+
+:::
+
+#### 2. 创建客户端密文
+
+在 Azure 门户中,创建一个客户端密文。Rancher 将使用此密钥向 Azure AD 进行身份验证。
+
+1. 使用搜索功能打开 **App registrations** 服务。然后打开你在上一个步骤中创建的 Rancher 项。
+
+ 
+
+1. 在导航窗格中,单击 **Certificates & secrets**。
+
+1. 单击 **New client secret**。
+ 
+1. 输入 **Description**(例如 `Rancher`)。
+1. 从 **Expires** 下的选项中选择持续时间。此下拉菜单设置的是密钥的到期日期。日期越短则越安全,但需要你更频繁地创建新密钥。
+ 请注意,如果检测到应用程序 Secret 已过期,用户将无法登录 Rancher。为避免此问题,请在 Azure 中轮换 Secret 并在过期前在 Rancher 中更新它。
+1. 单击 **Add**(无需输入值,保存后会自动填充)。
+
+
+1. 稍后你将在 Rancher UI 中输入此密钥作为你的 **Application Secret**。由于你将无法在 Azure UI 中再次访问键值,因此请在其余设置过程中保持打开此窗口。
+
+#### 3. 设置 Rancher 所需的权限
+
+接下来,在 Azure 中为 Rancher 设置 API 权限。
+
+:::caution
+
+确保你设置了 Application 权限,而*不是* Delegated 权限。否则,你将无法登录 Azure AD。
+
+:::
+
+1. 在导航窗格中,选择 **API permissions**。
+
+1. 单击 **Add a permission**。
+
+1. 从 Microsoft Graph API 中,选择以下 **Application Permissions**: `Directory.Read.All`。
+
+ 
+
+1. 返回导航栏中的 **API permissions**。在那里,单击 **Grant admin consent**。然后单击 **Yes**。该应用程序的权限应如下所示:
+
+
+
+:::note
+
+Rancher 不会验证你授予 Azure 应用程序的权限。你可以自由使用任何你所需的权限,只要这些权限允许 Rancher 使用 AD 用户和组。
+
+具体来说,Rancher 需要允许以下操作的权限:
+- 获取一个用户。
+- 列出所有用户。
+- 列出给定用户所属的组。
+- 获取一个组。
+- 列出所有组。
+
+Rancher 执行这些操作来登录用户或搜索用户/组。请记住,权限必须是 `Application` 类型。
+
+下面是几个满足 Rancher 需求的权限组合示例:
+- `Directory.Read.All`
+- `User.Read.All` 和 `GroupMember.Read.All`
+- `User.Read.All` 和 `Group.Read.All`
+
+:::
+
+#### 4. 复制 Azure 应用数据
+
+
+
+1. 获取你的 Rancher **租户 ID**。
+
+ 1. 使用搜索打开 **App registrations**。
+
+ 1. 找到你为 Rancher 创建的项。
+
+ 1. 复制 **Directory ID** 并将其作为 **Tenant ID** 粘贴到 Rancher 中。
+
+1. 获取你的 Rancher **Application (Client) ID**。
+
+ 1. 如果你还未在该位置,请使用搜索打开 **App registrations**。
+
+ 1. 在 **Overview**中,找到你为 Rancher 创建的条目。
+
+ 1. 复制 **Application (Client) ID** 并将其作为 **Application ID** 粘贴到 Rancher 中。
+
+1. 你的端点选项通常是 [Standard](#global) 或 [China](#中国)。对于这两个选项,你只需要输入 **Tenant ID**、**Application ID** 和 **Application Secret**。
+
+
+
+**对于自定义端点**:
+
+:::caution
+
+Rancher 未测试也未完全支持自定义端点。
+
+:::
+
+你还需要手动输入 Graph、Token 和 Auth Endpoints。
+
+- 从 App registrations 中,点击 Endpoints :
+
+
+
+- 以下端点将是你的 Rancher 端点值。请使用这些端点的 v1 版本。
+ - **Microsoft Graph API endpoint**(Graph 端点)
+ - **OAuth 2.0 token endpoint (v1)**(Token 端点)
+ - **OAuth 2.0 authorization endpoint (v1)** (Auth 端点)
+
+#### 5. 在 Rancher 中配置 Azure AD
+
+要完成配置,请在 Rancher UI 中输入你的 AD 实例信息。
+
+1. 登录到 Rancher。
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+
+1. 在左侧导航栏,单击**认证**。
+
+1. 单击 **AzureAD**。
+
+1. 使用你在[复制 Azure 应用数据](#4-复制-azure-应用数据)时复制的信息,填写**配置 Azure AD 账号**的表单。
+
+ :::caution
+
+ Azure AD 帐户将被授予管理员权限,因为其详细信息将映射到 Rancher 本地主体帐户。在继续之前确保此权限级别是适当的。
+
+ :::
+
+ **对于标准或中国端点:**
+
+ 下表介绍了你在 Azure 门户中复制的值与 Rancher 中字段的映射:
+
+ | Rancher 字段 | Azure 值 |
+ | ------------------ | ------------------------------------- |
+ | 租户 ID | Directory ID |
+ | Application ID | Application ID |
+ | 应用密文 | Key Value |
+ | 端点 | https://login.microsoftonline.com/ |
+
+ **对于自定义端点**:
+
+ 下表将你的自定义配置值映射到 Rancher 字段:
+
+ | Rancher 字段 | Azure 值 |
+ | ------------------ | ------------------------------------- |
+ | Graph 端点 | Microsoft Graph API Endpoint |
+ | Token 端点 | OAuth 2.0 Token Endpoint |
+ | Auth 端点 | OAuth 2.0 Authorization Endpoint |
+
+ **重要提示**:在自定义配置中输入 Graph Endpoint 时,请从 URL 中删除 Tenant ID:
+
+ https://g raph.microsoft.com/abb5adde-bee8-4821-8b03-e63efdc7701c
+
+1. 点击**启用**。
+
+**结果**:Azure Active Directory 身份验证已配置。
+
+
+### 从 Azure AD Graph API 迁移到 Microsoft Graph API
+
+由于 [Azure AD Graph API](https://docs.microsoft.com/en-us/graph/migrate-azure-ad-graph-overview) 已弃用并计划于 2023 年 6 月停用,管理员应更新他们的 Azure AD 应用程序以在 Rancher 中使用 [Microsoft Graph API](https://docs.microsoft.com/en-us/graph/use-the-api)。
+你需要在端点弃用之前完成操作。
+如果在停用后 Rancher 仍配置为使用 Azure AD Graph API,用户可能无法使用 Azure AD 登录 Rancher。
+
+#### 在 Rancher UI 中更新端点
+
+:::caution
+
+管理员需要在迁移下述端点之前创建一个 [Rancher 备份](../../../new-user-guides/backup-restore-and-disaster-recovery/back-up-rancher.md)。
+
+:::
+
+1. [更新](#3-设置-rancher-所需的权限) Azure AD 应用程序注册的权限。这个步骤非常关键。
+
+1. 登录到 Rancher。
+
+1. 在 Rancher UI 主页中,记下屏幕顶部的横幅,该横幅建议用户更新 Azure AD 身份验证。单击提供的链接以执行此操作。
+
+ 
+
+1. 要完成新的 Microsoft Graph API 迁移,请单击 **Update Endpoint**。
+
+ **注意**:在开始更新之前,请确保你的 Azure 应用程序具有[新的权限集](#3-设置-rancher-所需的权限)。
+
+ 
+
+1. 在收到弹出警告消息时,单击 **Update**:
+
+ 
+
+1. 有关 Rancher 执行的完整端点更改,请参阅下面的[表格](#global)。管理员不需要手动执行此操作。
+
+#### 离线环境
+
+在离线环境中,由于 Graph Endpoint URL 正在更改,因此管理员需要确保其端点被[列入白名单](#3.2)。
+
+#### 回滚迁移
+
+如果你需要回滚迁移,请注意以下事项:
+
+1. 如果管理员想要回滚,我们建议他们使用正确的恢复流程。有关参考信息,请参阅[备份文档](../../../new-user-guides/backup-restore-and-disaster-recovery/back-up-rancher.md)、[恢复文档](../../../new-user-guides/backup-restore-and-disaster-recovery/restore-rancher.md)和[示例](../../../../reference-guides/backup-restore-configuration/examples.md)。
+
+1. 如果 Azure 应用程序所有者想要轮换应用程序密钥,他们也需要在 Rancher 中进行轮换(因为在 Azure 中更改应用程序密钥时,Rancher 不会自动更新应用程序密钥)。在 Rancher 中,它存储在名为 `azureadconfig-applicationsecret` 的 Kubernetes 密文中,该密文位于 `cattle-global-data` 命名空间中。
+
+:::caution
+
+如果你使用现有的 Azure AD 设置升级到 Rancher v2.7.0+,并选择了禁用认证提供程序,你将无法恢复以前的设置。你也无法使用旧流程设置 Azure AD。你需要使用新的认证流程重新注册。由于 Rancher 现在使用 Graph API,因此用户需要[在 Azure 门户中设置适当的权限](#3-设置-rancher-所需的权限)。
+
+:::
+
+
+#### Global:
+
+| Rancher 字段 | 已弃用的端点 |
+---------------- | -------------------------------------------------------------
+| Auth 端点 | https://login.microsoftonline.com/{tenantID}/oauth2/authorize |
+| 端点 | https://login.microsoftonline.com/ |
+| Graph 端点 | https://graph.windows.net/ |
+| Token 端点 | https://login.microsoftonline.com/{tenantID}/oauth2/token |
+
+| Rancher 字段 | 新端点 |
+---------------- | ------------------------------------------------------------------
+| Auth 端点 | https://login.microsoftonline.com/{tenantID}/oauth2/v2.0/authorize |
+| 端点 | https://login.microsoftonline.com/ |
+| Graph 端点 | https://graph.microsoft.com |
+| Token 端点 | https://login.microsoftonline.com/{tenantID}/oauth2/v2.0/token |
+
+#### 中国:
+
+| Rancher 字段 | 已弃用的端点 |
+---------------- | ----------------------------------------------------------
+| Auth 端点 | https://login.chinacloudapi.cn/{tenantID}/oauth2/authorize |
+| 端点 | https://login.chinacloudapi.cn/ |
+| Graph 端点 | https://graph.chinacloudapi.cn/ |
+| Token 端点 | https://login.chinacloudapi.cn/{tenantID}/oauth2/token |
+
+| Rancher 字段 | 新端点 |
+---------------- | -------------------------------------------------------------------------
+| Auth 端点 | https://login.partner.microsoftonline.cn/{tenantID}/oauth2/v2.0/authorize |
+| 端点 | https://login.partner.microsoftonline.cn/ |
+| Graph 端点 | https://microsoftgraph.chinacloudapi.cn |
+| Token 端点 | https://login.partner.microsoftonline.cn/{tenantID}/oauth2/v2.0/token |
+
+
+## 已弃用的 Azure AD Graph API
+
+> **重要提示**:
+>
+> - [Azure AD Graph API](https://docs.microsoft.com/en-us/graph/migrate-azure-ad-graph-overview) 已被弃用,Microsoft 将在 2023 年 6 月 30 日后随时停用它且不会另行通知。我们将更新我们的文档,以便在停用时向社区提供建议。Rancher 现在使用 [Microsoft Graph API](https://docs.microsoft.com/en-us/graph/use-the-api) 来将 Azure AD 设置为外部身份验证提供程序。
+>
+>
+> - 如果你是新用户或希望进行迁移,请参阅新的流程说明: Rancher v2.7.0+ 。
+>
+>
+> - 如果你不想在 Azure AD Graph API 停用后升级到 v2.7.0+,你需要:
+> - 使用内置的 Rancher 身份认证,或者
+> - 使用另一个第三方身份认证系统并在 Rancher 中进行设置。请参阅[身份验证文档](../../../../pages-for-subheaders/authentication-config.md),了解如何配置其他开放式身份验证提供程序。
+
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-freeipa.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-freeipa.md
new file mode 100644
index 00000000000..6f3100e462c
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-freeipa.md
@@ -0,0 +1,60 @@
+---
+title: 配置 FreeIPA
+---
+
+如果你的组织使用 FreeIPA 进行用户身份验证,你可以通过配置 Rancher 来允许你的用户使用 FreeIPA 凭证登录。
+
+:::note 先决条件:
+
+- 你必须配置了 [FreeIPA 服务器](https://www.freeipa.org/)。
+- 在 FreeIPA 中创建一个具有 `read-only` 访问权限的 ServiceAccount 。当用户使用 API 密钥发出请求时,Rancher 使用此账号来验证组成员身份。
+- 参见[外部身份验证配置和主体用户](../../../../pages-for-subheaders/authentication-config.md#外部身份验证配置和用户主体)。
+
+:::
+
+1. 使用分配了 `administrator` 角色(即 _本地主体_)的本地用户登录到 Rancher。
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏,单击**认证**。
+1. 单击 **FreeIPA**。
+1. 填写**配置 FreeIPA 服务器**表单,
+
+ 你可能需要登录到域控制器,来查找表单中请求的信息。
+
+ :::note 使用 TLS?
+
+ 如果证书是自签名,或者不是来自公认的证书颁发机构的,请确保提供完整的证书链。Rancher 需要该链来验证服务器的证书。
+
+ :::
+
+ :::note 用户搜索库 vs. 组搜索库
+
+ 搜索库使 Rancher 可以搜索 FreeIPA 中的用户和组。这些字段仅用于搜索库,不适用于搜索筛选器。
+
+ * 如果你的用户和组位于同一搜索库中,则仅填写用户搜索库。
+ * 如果你的组位于其他搜索库中,则可以选择填写组搜索库。该字段专用于搜索组,但不是必需的。
+
+ :::
+
+1. 如果你的 FreeIPA 不同于标准的 AD Schema,则必须完成**自定义 Schema** 部分实现匹配。否则,调过此步骤。
+
+ :::note 搜索属性
+
+ `搜索属性`字段的默认值为三个特定值:`uid|sn|givenName`。配置 FreeIPA 后,当用户输入文本以添加用户或组时,Rancher 会自动查询 FreeIPA 服务器,并尝试按用户 ID,姓氏或名字来匹配字段。Rancher 专门搜索以在搜索字段中输入的文本开头的用户/组。
+
+ 默认字段值为 `uid|sn|givenName`,但是你可以将此字段配置为这些字段的子集。管道符 (`|`) 用于分隔各个字段。
+
+ * `uid`:用户 ID
+ * `sn`:姓
+ * `givenName`:名
+
+ Rancher 使用此搜索属性为用户和组创建搜索筛选器,但是你*不能*在此字段中添加自己的搜索筛选器。
+
+ :::
+
+1. 在 **Authenticate with FreeIPA** 中输入你的 FreeIPA 用户名和密码,确认已为 Rancher 配置 FreeIPA 身份验证。
+1. 点击**启用**。
+
+**结果**:
+
+- FreeIPA 验证配置成功。
+- 你将使用你的 FreeIPA 账号(即 _外部主体_)登录到 Rancher。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-github.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-github.md
new file mode 100644
index 00000000000..e903421611d
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-github.md
@@ -0,0 +1,56 @@
+---
+title: 配置 GitHub
+---
+
+在使用 GitHub 的环境中,你可以通过配置 Rancher 允许用户使用 GitHub 凭证登录。
+
+:::note 先决条件:
+
+参见[外部身份验证配置和主体用户](../../../../pages-for-subheaders/authentication-config.md#外部身份验证配置和用户主体)。
+
+:::
+
+1. 使用分配了 `administrator` 角色(即 _本地主体_)的本地用户登录到 Rancher。
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏,单击**认证**。
+1. 单击 **GitHub**。
+1. 按照显示的说明设置 GitHub 应用。Rancher 会将你重定向到 GitHub 完成注册。
+
+ :::note 什么是授权回调 URL?
+
+ 授权回调 URL 是用户开始使用你的应用(即初始屏幕)的 URL。
+
+ 使用外部身份验证时,实际上不会在你的应用中进行身份验证。相反,身份验证在外部进行(在本例中为 GitHub)。在外部身份验证成功完成后,用户将通过授权回调 URL 重新进入应用。
+
+ :::
+
+1. 从 GitHub 复制 **Client ID** 和 **Client Secret**。将它们粘贴到 Rancher 中。
+
+ :::note 在哪里可以找到 Client ID 和 Client Secret?
+
+ 在 GitHub 中,选择 **Settings > Developer Settings > OAuth Apps**。你可以在此处找到 Client ID 和 Client Secret。
+
+ :::
+
+1. 单击**使用 GitHub 认证**。
+
+1. 使用 **Site Access** 选项来配置用户授权的范围。
+
+ - **允许任何有效用户**
+
+ _任何_ GitHub 用户都能访问 Rancher。通常不建议使用此设置。
+
+ - **允许集群和项目成员,以及授权的用户和组织**
+
+ 添加为**集群成员**或**项目成员**的任何 GitHub 用户或组都可以登录 Rancher。此外,任何添加到**授权用户和组织**列表中的 GitHub 用户和组都能登录到 Rancher。
+
+ - **仅允许授权用户和组织**
+
+ 只有添加到**授权用户和组织**的 GitHub 用户和组能登录 Rancher。
+
+1. 点击**启用**。
+
+**结果**:
+
+- GitHub 验证配置成功。
+- 你将使用你的 GitHub 账号(即 _外部主体_)登录到 Rancher。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-google-oauth.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-google-oauth.md
new file mode 100644
index 00000000000..ca4d522ba35
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-google-oauth.md
@@ -0,0 +1,111 @@
+---
+title: 配置 Google OAuth
+---
+
+如果你的组织使用 G Suite 进行用户身份验证,你可以通过配置 Rancher 来允许你的用户使用 G Suite 凭证登录。
+
+只有 G Suite 域的管理员才能访问 Admin SDK。因此,只有 G Suite 管理员可以配置 Rancher 的 Google OAuth。
+
+在 Rancher 中,只有具有 **Manage Authentication** [全局角色](../../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions.md)的管理员或用户才能配置身份验证。
+
+## 先决条件
+
+- 你必须配置了 [G Suite 管理员账号](https://admin.google.com)。
+- G Suite 需要一个[顶级私有域 FQDN](https://github.com/google/guava/wiki/InternetDomainNameExplained#public-suffixes-and-private-domains) 作为授权域。获取 FQDN 的一种方法是在 Route53 中为 Rancher Server 创建 A 记录。你不需要使用该记录更新 Rancher Server 的 URL 设置,因为可能有集群使用该 URL。
+- 你的 G Suite 域必须启用了 Admin SDK API。你可以按照[此页面](https://support.google.com/a/answer/60757?hl=en)中的步骤启用它。
+
+启用 Admin SDK API 后,你的 G Suite 域的 API 页面应如下图所示:
+
+
+## 在 Rancher 中为 OAuth 设置 G Suite
+
+在 Rancher 中设置 Google OAuth 之前,你需要登录到你的 G Suite 账号并完成以下设置:
+
+1. [在 G Suite 中将 Rancher 添加为授权域](#1-将-rancher-添加为授权域)
+1. [为 Rancher Server 生成 OAuth2 凭证](#2-为-rancher-server-生成-oauth2-凭证)
+1. [为 Rancher Server 创建 ServiceAccount 凭证](#3-创建-serviceaccount-凭证)
+1. [将 ServiceAccount 密钥注册成 OAuth Client](#4-将-serviceaccount-密钥注册成-oauth-client)
+
+### 1. 将 Rancher 添加为授权域
+
+1. 点击[此处](https://console.developers.google.com/apis/credentials)前往你的 Google 域的凭证页面。
+1. 选择你的项目,然后点击 **OAuth consent screen**。
+ 
+1. 前往 **Authorized Domains**,并在列表中输入你的 Rancher Server URL 的顶级私有域。顶级私有域是最右边的超级域。例如,`www.foo.co.uk` 是 `foo.co.uk` 的顶级私有域。有关顶级私有域的更多信息,请参见[此处](https://github.com/google/guava/wiki/InternetDomainNameExplained#public-suffixes-and-private-domains)。
+1. 前往 **Scopes for Google APIs**,并确保已启用 **email**,**profile** 和 **openid**。
+
+**结果**:Rancher 已被添加为 Admin SDK API 的授权域。
+
+### 2. 为 Rancher Server 生成 OAuth2 凭证
+
+1. 前往 Google API 控制台,选择你的项目并前往 [credentials ](https://console.developers.google.com/apis/credentials)页面。
+ 
+1. 在 **Create Credentials** 下拉框中,选择 **OAuth client ID**。
+1. 点击 **Web application**。
+1. 输入一个名称。
+1. 填写 **Authorized JavaScript origins** 和 **Authorized redirect URIs**。请注意,设置 Google OAuth 的 Rancher UI 页面(**Security > Authentication > Google** 下的全局视图)为你提供了这一步要输入的准确链接。
+- 在 **Authorized JavaScript origins** 处,输入你的 Rancher Server URL。
+- 在 **Authorized redirect URIs** 处,输入你的 Rancher Server 的 URL 并附加路径 `verify-auth`。例如,如果你的 URI 是 `https://rancherServer`,你需要输入 `https://rancherServer/verify-auth`。
+1. 点击 **Create**。
+1. 创建凭证之后,你将看到一个页面,其中显示你的凭证列表。选择刚刚创建的凭证,然后在最右边的行中单击 **Download JSON**。保存该文件,以便向 Rancher 提供这些凭证。
+
+**结果**:你已成功创建 OAuth 凭证。
+
+### 3. 创建 ServiceAccount 凭证
+由于 Google Admin SDK 只对管理员可用,普通用户不能使用它来检索其他用户或其组的配置文件。普通用户甚至不能检索他们自己的组。
+
+由于 Rancher 提供基于组的成员访问,我们要求用户能够获得自己的组,并在需要时查找其他用户和组。
+
+为了解决这个问题,G Suite 建议创建一个 ServiceAccount,并将你的 G Suite 域的权限委托给该 ServiceAccount。
+
+本节介绍如何:
+
+- 创建一个 ServiceAccount
+- 为 ServiceAccount 创建一个密钥并下载 JSON 格式的凭证
+
+1. 点击[此处](https://console.developers.google.com/iam-admin/serviceaccounts)并选择要生成 OAuth 凭证的项目。
+1. 点击 **Create Service Account**。
+1. 输入名称,并点击 **Create**。
+ 
+1. 不要在 **Service account permissions** 页面设置任何角色,然后单击 **Continue**。
+ 
+1. 点击 **Create Key** 并选择 JSON 选项。下载并保存 JSON 文件,以便你可以将其作为 ServiceAccount 凭证提供给 Rancher。
+ 
+
+**结果**:你的 ServiceAccount 已创建成功。
+
+### 4. 将 ServiceAccount 密钥注册成 OAuth Client
+
+你需要为在上一步中创建的 ServiceAccount 授予一些权限。Rancher 仅要求为用户和组授予只读权限。
+
+使用 ServiceAccount 密钥的唯一 ID,按照以下步骤将其注册为 Oauth Client:
+
+1. 获取你刚刚创建的密钥的唯一 ID。如果它没有显示在你创建的键旁边的键列表中,你需要先启用 Unique ID 列。点击 **Unique ID** 然后点击 **OK**。这将向 ServiceAccount 密钥列表中添加 **Unique ID** 列。保存你创建的 ServiceAccount 对应的唯一 ID。注意:这是一个数字 Key,不要与字母数字字段 **Key ID** 混淆。
+
+ 
+1. 前往 [**Domain-wide Delegation** 页面。](https://admin.google.com/ac/owl/domainwidedelegation)
+1. 在 **Client Name** 字段中添加上一步中获得的唯一 ID。
+1. 在 **One or More API Scopes** 字段中,添加以下作用域:
+ ```
+ openid,profile,email,https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.group.readonly
+ ```
+1. 点击 **Authorize**。
+
+**结果**:ServiceAccount 在你的 G Suite 账号中已注册为 OAuth 客户端。
+
+## 在 Rancher 中配置 Google OAuth
+
+1. 使用分配了 [administrator](../../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions.md) 角色的本地用户登录到 Rancher。这个用户也称为本地主体。
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏,单击**认证**。
+1. 单击 **Google**。UI 中的说明介绍了使用 Google OAuth 设置身份验证的步骤。
+ 1. 管理员邮箱:提供 GSuite 设置中的管理员账户的电子邮箱。为了查找用户和组,Google API 需要管理员的电子邮件和 ServiceAccount 密钥。
+ 1. 域名:提供配置了 G Suite 的域。请提供准确的域,而不是别名。
+ 1. 属于多个用户组的用户:选中此框以启用嵌套组成员关系。Rancher 管理员可以在配置认证后的任何时候禁用它。
+ - **步骤一**是将 Rancher 添加为授权域(详情请参见[本节](#1-将-rancher-添加为授权域))。
+ - **步骤二**提供你完成[本节](#2-为-rancher-server-生成-oauth2-凭证)后下载的 OAuth 凭证 JSON。你可以上传文件或将内容粘贴到 **OAuth Credentials** 字段。
+ - **步骤三**提供在[本节](#3-创建-serviceaccount-凭证)末尾下载的 ServiceAccount 凭证 JSON。仅当你成功[在 G Suite 账号中将 ServiceAccount 密钥注册为 OAuth Client](#4-将-serviceaccount-密钥注册成-oauth-client) 后,凭证才能正常工作。
+1. 点击**使用 Google 认证**。
+1. 点击**启用**。
+
+**结果**:Google 验证配置成功。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-keycloak-oidc.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-keycloak-oidc.md
new file mode 100644
index 00000000000..5516672eb87
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-keycloak-oidc.md
@@ -0,0 +1,145 @@
+---
+title: 配置 Keycloak (OIDC)
+description: 创建 Keycloak OpenID Connect (OIDC) 客户端并配置 Rancher 以使用 Keycloak。你的用户将能够使用他们的 Keycloak 登录名登录 Rancher。
+---
+
+如果你的组织使用 [Keycloak Identity Provider (IdP)](https://www.keycloak.org) 进行用户身份验证,你可以通过配置 Rancher 来允许用户使用 IdP 凭证登录。Rancher 支持使用 OpenID Connect (OIDC) 协议和 SAML 协议来集成 Keycloak。与 Rancher 一起使用时,这两种实现在功能上是等效的。本文描述了配置 Rancher 以通过 OIDC 协议与 Keycloak 一起使用的流程。
+
+如果你更喜欢将 Keycloak 与 SAML 协议一起使用,请参见[此页面](configure-keycloak-saml.md)。
+
+如果你有使用 SAML 协议的现有配置并希望切换到 OIDC 协议,请参见[本节](#从-saml-迁移到-oidc)。
+
+## 先决条件
+
+- 已在 Rancher 上禁用 Keycloak (SAML)。
+- 你必须配置了 [Keycloak IdP 服务器](https://www.keycloak.org/docs/latest/server_installation/)。
+- 在 Keycloak 中,使用以下设置创建一个[新的 OIDC 客户端](https://www.keycloak.org/docs/latest/server_admin/#oidc-clients)。如需获取帮助,请参见 [Keycloak 文档](https://www.keycloak.org/docs/latest/server_admin/#oidc-clients)。
+
+ | 设置 | 值 |
+ ------------|------------
+ | `Client ID` | <CLIENT_ID> (例如 `rancher`) |
+ | `Name` | <CLIENT_NAME> (例如 `rancher`) |
+ | `Client Protocol` | `openid-connect` |
+ | `Access Type` | `confidential` |
+ | `Valid Redirect URI` | `https://yourRancherHostURL/verify-auth` |
+
+- 在新的 OIDC 客户端中,创建 [Mappers](https://www.keycloak.org/docs/latest/server_admin/#_protocol-mappers) 来公开用户字段。
+ - 使用以下设置创建一个新的 "Groups Mapper":
+
+ | 设置 | 值 |
+ ------------|------------
+ | `Name` | `Groups Mapper` |
+ | `Mapper Type` | `Group Membership` |
+ | `Token Claim Name` | `groups` |
+ | `Add to ID token` | `OFF` |
+ | `Add to access token` | `OFF` |
+ | `Add to user info` | `ON` |
+
+ - 使用以下设置创建一个新的 "Client Audience" :
+
+ | 设置 | 值 |
+ ------------|------------
+ | `Name` | `Client Audience` |
+ | `Mapper Type` | `Audience` |
+ | `Included Client Audience` | <CLIENT_NAME> |
+ | `Add to access token` | `ON` |
+
+ - 使用以下设置创建一个新的 "Groups Path":
+
+ | 设置 | 值 |
+ ------------|------------
+ | `Name` | `Group Path` |
+ | `Mapper Type` | `Group Membership` |
+ | `Token Claim Name` | `full_group_path` |
+ | `Full group path` | `ON` |
+ | `Add to user info` | `ON` |
+
+## 在 Rancher 中配置 Keycloak
+
+1. 在 Rancher UI 中,单击 **☰ > 用户 & 认证**。
+1. 单击左侧导航栏的**认证**。
+1. 选择 **Keycloak (OIDC)**。
+1. 填写**配置 Keycloak OIDC 账号**表单。有关填写表单的帮助,请参见[配置参考](#配置参考)。
+1. 完成**配置 Keycloak OIDC 账号**表单后,单击**启用**。
+
+ Rancher 会将你重定向到 IdP 登录页面。输入使用 Keycloak IdP 进行身份验证的凭证,来验证你的 Rancher Keycloak 配置。
+
+ :::note
+
+ 你可能需要禁用弹出窗口阻止程序才能看到 IdP 登录页面。
+
+ :::
+
+**结果**:已将 Rancher 配置为使用 OIDC 协议与 Keycloak 一起工作。你的用户现在可以使用 Keycloak 登录名登录 Rancher。
+
+## 配置参考
+
+| 字段 | 描述 |
+| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| 客户端 ID | 你的 Keycloak 客户端的 `Client ID`。 |
+| 客户端密码 | 你的 Keycloak 客户端生成的 `Secret`。在 Keycloak 控制台中,单击 **Clients**,选择你创建的客户端,选择 **Credentials** 选项卡,然后复制 `Secret` 字段的值。 |
+| 私钥/证书 | 在 Rancher 和你的 IdP 之间创建安全外壳(SSH)的密钥/证书对。如果你的 Keycloak 服务器上启用了 HTTPS/SSL,则为必填。 |
+| 端点 | 选择为 `Rancher URL`、`发行者`和 `Auth 端点`字段使用生成的值,还是在不正确时进行手动覆盖。 |
+| Keycloak URL | 你的 Keycloak 服务器的 URL。 |
+| Keycloak Realm | 创建 Keycloak 客户端的 Realm 的名称。 |
+| Rancher URL | Rancher Server 的 URL。 |
+| Issuer | 你的 IdP 的 URL。 |
+| Auth 端点 | 重定向用户进行身份验证的 URL。 |
+
+## 从 SAML 迁移到 OIDC
+
+本节描述了将使用 Keycloak (SAML) 的 Rancher 过渡到 Keycloak (OIDC) 的过程。
+
+### 重新配置 Keycloak
+
+1. 将现有客户端更改为使用 OIDC 协议。在 Keycloak 控制台中,单击 **Clients**,选择要迁移的 SAML 客户端,选择 **Settings** 选项卡,将 `Client Protocol` 从 `saml` 更改为 `openid-connect`,然后点击 **Save**。
+
+1. 验证 `Valid Redirect URIs` 是否仍然有效。
+
+1. 选择 **Mappers** 选项卡并使用以下设置创建一个新的 Mapper:
+
+ | 设置 | 值 |
+ ------------|------------
+ | `Name` | `Groups Mapper` |
+ | `Mapper Type` | `Group Membership` |
+ | `Token Claim Name` | `groups` |
+ | `Add to ID token` | `ON` |
+ | `Add to access token` | `ON` |
+ | `Add to user info` | `ON` |
+
+### 重新配置 Rancher
+
+在将 Rancher 配置为使用 Keycloak (OIDC) 之前,必须先禁用 Keycloak (SAML):
+
+1. 在 Rancher UI 中,单击 **☰ > 用户 & 认证**。
+1. 单击左侧导航栏的**认证**。
+1. 选择 **Keycloak (SAML)**。
+1. 单击**禁用**。
+
+按照[本节](#在-rancher-中配置-keycloak)中的步骤将 Rancher 配置为使用 Keycloak (OIDC)。
+
+:::note
+
+配置完成后,由于用户权限不会自动迁移,你需要重新申请 Rancher 用户权限。
+
+:::
+
+## 附录:故障排除
+
+如果你在测试与 Keycloak 服务器的连接时遇到问题,请先检查 OIDC 客户端的配置选项。你还可以检查 Rancher 日志来查明问题的原因。调试日志可能包含有关错误的更详细信息。详情请参见[如何启用调试日志](../../../../faq/technical-items.md#如何启用调试日志记录)。
+
+所有与 Keycloak 相关的日志条目都将添加 `[generic oidc]` 或 `[keycloak oidc]`。
+
+### 不能重定向到 Keycloak
+
+完成**配置 Keycloak OIDC 账号**表单并单击**启用**后,你没有被重定向到你的 IdP。
+
+* 验证你的 Keycloak 客户端配置。
+
+### 生成的 `Issuer` 和 `Auth 端点`不正确
+
+* 在**配置 Keycloak OIDC 账号**表单中,将**端点**更改为`指定(高级设置)`并覆盖`发行者` 和 `Auth 端点`的值。要查找这些值,前往 Keycloak 控制台并选择 **Realm Settings**,选择 **General** 选项卡,然后单击 **OpenID Endpoint Configuration**。JSON 输出将显示 `issuer` 和 `authorization_endpoint` 的值。
+
+### Keycloak 错误:"Invalid grant_type"
+
+* 在某些情况下,这条错误提示信息可能有误导性,实际上造成错误的原因是 `Valid Redirect URI` 配置错误。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-keycloak-saml.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-keycloak-saml.md
new file mode 100644
index 00000000000..17d906c51c0
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-keycloak-saml.md
@@ -0,0 +1,190 @@
+---
+title: 配置 Keycloak (SAML)
+description: 创建 Keycloak SAML 客户端并配置 Rancher 以使用 Keycloak。你的用户将能够使用他们的 Keycloak 登录名登录 Rancher。
+---
+
+如果你的组织使用 Keycloak Identity Provider (IdP) 进行用户身份验证,你可以通过配置 Rancher 来允许用户使用 IdP 凭证登录。
+
+## 先决条件
+
+- 你必须配置了 [Keycloak IdP 服务器](https://www.keycloak.org/docs/latest/server_installation/)。
+- 在 Keycloak 中,使用以下设置创建一个[新的 SAML 客户端](https://www.keycloak.org/docs/latest/server_admin/#saml-clients)。如需获取帮助,请参见 [Keycloak 文档](https://www.keycloak.org/docs/latest/server_admin/#saml-clients)。
+
+ | 设置 | 值 |
+ ------------|------------
+ | `Sign Documents` | `ON` 1 |
+ | `Sign Assertions` | `ON` 1 |
+ | 所有其他 `ON/OFF` 设置 | `OFF` |
+ | `Client ID` | 输入 `https://yourRancherHostURL/v1-saml/keycloak/saml/metadata`,或在 Rancher Keycloak 配置2 中 `Entry ID 字段`的值。 |
+ | `Client Name` | (例如 `rancher`) |
+ | `Client Protocol` | `SAML` |
+ | `Valid Redirect URI` | `https://yourRancherHostURL/v1-saml/keycloak/saml/acs` |
+
+ > 1 :可以选择启用这些设置中的一个或两个。
+ > 2 :在配置和保存 SAML 身份提供商之前,不会生成 Rancher SAML 元数据。
+
+ 
+
+- 在新的 SAML 客户端中,创建 Mappers 来公开用户字段。
+ - 添加所有 "Builtin Protocol Mappers"
+ 
+ - 创建一个 "Group list" mapper,来将成员属性映射到用户的组:
+ 
+
+## 获取 IDP 元数据
+
+
+
+
+要获取 IDP 元数据,请从 Keycloak 客户端导出 `metadata.xml` 文件。
+在**安装**选项卡中,选择**SAML 元数据 IDPSSODescriptor** 格式选项并下载你的文件。
+
+
+
+
+1. 在**配置**中,单击 **Realm 设置**选项卡。
+1. 点击**通用**选项卡。
+1. 在**端点**字段中,单击 **SAML 2.0 身份提供者元数据**。
+
+验证 IDP 元数据是否包含以下属性:
+
+```
+xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
+xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+```
+
+某些浏览器(例如 Firefox)可能会渲染/处理文档,使得内容看起来已被修改,并且某些属性看起来可能有缺失。在这种情况下,请使用通过浏览器找到的原始响应数据。
+
+以下是 Firefox 的示例流程,其他浏览器可能会略有不同:
+
+1. 按下 **F12** 访问开发者控制台。
+1. 点击 **Network** 选项卡。
+1. 从表中,单击包含 `descriptor` 的行。
+1. 在 details 窗格中,单击 **Response** 选项卡。
+1. 复制原始响应数据。
+
+获得的 XML 以 `EntitiesDescriptor` 作为根元素。然而,Rancher 希望根元素是 `EntityDescriptor` 而不是 `EntitiesDescriptor`。因此,在将这个 XML 传递给 Rancher 之前,请按照以下步骤调整:
+
+1. 将所有不存在的属性从 `EntitiesDescriptor` 复制到 `EntityDescriptor`。
+1. 删除开头的 `` 标签。
+1. 删除 xml 末尾的 ` `。
+
+最后的代码会是如下:
+
+```
+
+....
+
+```
+
+
+
+
+1. 在**配置**中,单击 **Realm 设置**选项卡。
+1. 点击**通用**选项卡。
+1. 在**端点**字段中,单击 **SAML 2.0 身份提供者元数据**。
+
+验证 IDP 元数据是否包含以下属性:
+
+```
+xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
+xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+```
+
+某些浏览器(例如 Firefox)可能会渲染/处理文档,使得内容看起来已被修改,并且某些属性看起来可能有缺失。在这种情况下,请使用通过浏览器找到的原始响应数据。
+
+以下是 Firefox 的示例流程,其他浏览器可能会略有不同:
+
+1. 按下 **F12** 访问开发者控制台。
+1. 点击 **Network** 选项卡。
+1. 从表中,单击包含 `descriptor` 的行。
+1. 在 details 窗格中,单击 **Response** 选项卡。
+1. 复制原始响应数据。
+
+
+
+
+## 在 Rancher 中配置 Keycloak
+
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏,单击**认证**。
+1. 单击 **Keycloak SAML**。
+1. 填写**配置 Keycloak 账号**表单。有关填写表单的帮助,请参见[配置参考](#配置参考)。
+1. 完成**配置 Keycloak 账号**表单后,单击**启用**。
+
+ Rancher 会将你重定向到 IdP 登录页面。输入使用 Keycloak IdP 进行身份验证的凭证,来验证你的 Rancher Keycloak 配置。
+
+ :::note
+
+ 你可能需要禁用弹出窗口阻止程序才能看到 IdP 登录页面。
+
+ :::
+
+**结果**:已将 Rancher 配置为使用 Keycloak。你的用户现在可以使用 Keycloak 登录名登录 Rancher。
+
+:::note SAML 身份提供商注意事项
+
+- SAML 协议不支持搜索或查找用户或组。因此,将用户或组添加到 Rancher 时不会对其进行验证。
+- 添加用户时,必须正确输入确切的用户 ID(即 `UID` 字段)。键入用户 ID 时,将不会搜索可能匹配的其他用户 ID。
+- 添加组时,必须从文本框旁边的下拉列表中选择组。Rancher 假定来自文本框的任何输入都是用户。
+- 用户组下拉列表仅显示你所属的用户组。如果你不是某个组的成员,你将无法添加该组。
+
+:::
+
+## 配置参考
+
+| 字段 | 描述 |
+| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| 显示名称字段 | 包含用户显示名称的属性。 示例:`givenName` |
+| 用户名字段 | 包含用户名/给定名称的属性。 示例:`email` |
+| UID 字段 | 每个用户独有的属性。 示例:`email` |
+| 用户组字段 | 创建用于管理组成员关系的条目。 示例:`member` |
+| Entity ID 字段 | Keycloak 客户端中需要配置为客户端的 ID。 默认值:`https://yourRancherHostURL/v1-saml/keycloak/saml/metadata` |
+| Rancher API 主机 | Rancher Server 的 URL。 |
+| 私钥/证书 | 在 Rancher 和你的 IdP 之间创建安全外壳(SSH)的密钥/证书对。 |
+| IDP 元数据 | 从 IdP 服务器导出的 `metadata.xml` 文件。 |
+
+:::tip
+
+你可以使用 openssl 命令生成一个密钥/证书对。例如:
+
+openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout myservice.key -out myservice.cert
+
+:::
+
+## 附录:故障排除
+
+如果你在测试与 Keycloak 服务器的连接时遇到问题,请先检查 SAML 客户端的配置选项。你还可以检查 Rancher 日志来查明问题的原因。调试日志可能包含有关错误的更详细信息。详情请参见[如何启用调试日志](../../../../faq/technical-items.md#如何启用调试日志记录)。
+
+### 不能重定向到 Keycloak
+
+点击**使用 Keycloak 认证**时,没有重定向到你的 IdP。
+
+* 验证你的 Keycloak 客户端配置。
+* 确保 `Force Post Binding` 设为 `OFF`。
+
+
+### IdP 登录后显示禁止消息
+
+你已正确重定向到你的 IdP 登录页面,并且可以输入凭证,但是之后收到 `Forbidden` 消息。
+
+* 检查 Rancher 调试日志。
+* 如果日志显示 `ERROR: either the Response or Assertion must be signed`,确保 `Sign Documents` 或 `Sign assertions` 在 Keycloak 客户端中设置为 `ON`。
+
+### 访问 `/v1-saml/keycloak/saml/metadata` 时返回 HTTP 502
+
+常见原因:配置 SAML 提供商之前未创建元数据。
+尝试配置 Keycloak,并将它保存为你的 SAML 提供商,然后访问元数据。
+
+### Keycloak 错误:"We're sorry, failed to process response"
+
+* 检查你的 Keycloak 日志。
+* 如果日志显示 `failed: org.keycloak.common.VerificationException: Client does not have a public key`,请在 Keycloak 客户端中将 `Encrypt Assertions` 设为 `OFF`。
+
+### Keycloak 错误:"We're sorry, invalid requester"
+
+* 检查你的 Keycloak 日志。
+* 如果日志显示 `request validation failed: org.keycloak.common.VerificationException: SigAlg was null`,请在 Keycloak 客户端中将 `Client Signature Required` 设为 `OFF`。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-okta-saml.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-okta-saml.md
new file mode 100644
index 00000000000..212f7cf45d1
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-okta-saml.md
@@ -0,0 +1,107 @@
+---
+title: 配置 Okta (SAML)
+---
+
+如果你的组织使用 Okta Identity Provider (IdP) 进行用户身份验证,你可以通过配置 Rancher 来允许用户使用 IdP 凭证登录。
+
+:::note
+
+Okta 集成仅支持服务提供商发起的登录。
+
+:::
+## 先决条件
+
+在 Okta 中,使用以下设置创建一个新的 SAML 应用。如需获取帮助,请参见 [Okta 文档](https://developer.okta.com/standards/SAML/setting_up_a_saml_application_in_okta)。
+
+| 设置 | 值 |
+------------|------------
+| `Single Sign on URL` | `https://yourRancherHostURL/v1-saml/okta/saml/acs` |
+| `Audience URI (SP Entity ID)` | `https://yourRancherHostURL/v1-saml/okta/saml/metadata` |
+
+## 在 Rancher 中配置 Okta
+
+你可以将 Okta 与 Rancher 集成,以便经过身份认证的用户通过组权限访问 Rancher 资源。Okta 会返回一个对用户进行身份认证的 SAML 断言,包括用户所属的组。
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏,单击**认证**。
+1. 单击 **Okta**。
+1. 填写**配置 Okta 账号**表单。下面的示例描述了如何将 Okta 属性从属性语句映射到 Rancher 中的字段:
+
+ | 字段 | 描述 |
+ | ------------------------- | ----------------------------------------------------------------------------- |
+ | 显示名称字段 | 属性语句中包含用户显示名称的属性名称。 |
+ | 用户名字段 | 属性语句中包含用户名/给定名称的属性名称。 |
+ | UID 字段 | 属性语句中每个用户唯一的属性名称。 |
+ | 用户组字段 | 组属性语句中公开你的组的属性名称。 |
+ | Rancher API 主机 | Rancher Server 的 URL。 |
+ | 私钥/证书 | 密钥/证书对,用于断言加密。 |
+ | 元数据 XML | 你在应用 `Sign On` 部分中找到的 `Identity Provider metadata` 文件。 |
+
+ :::tip
+
+ 你可以使用 openssl 命令生成一个密钥/证书对。例如:
+
+ ```
+ openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout myservice.key -out myservice.crt
+ ```
+
+ :::
+
+
+1. 完成**配置 Okta 账号**表单后,单击**启用**。
+
+ Rancher 会将你重定向到 IdP 登录页面。输入使用 Okta IdP 进行身份验证的凭证,来验证你的 Rancher Okta 配置。
+
+ :::note
+
+ 如果什么都没有发生,很可能是因为你的浏览器阻止了弹出窗口。请在弹出窗口阻止程序中禁用 Rancher 域,并在其他类似扩展中将 Rancher 列入白名单。
+
+ :::
+
+**结果**:已将 Rancher 配置为使用 Okta。你的用户现在可以使用 Okta 登录名登录 Rancher。
+
+:::note SAML 身份提供商注意事项
+
+如果你在没有 OpenLDAP 的情况下配置 Okta,你将无法搜索或直接查找用户或组。相关的警告如下:
+
+- 在 Rancher 中为用户和组分配权限时将不会验证用户和组。
+- 添加用户时,必须正确输入确切的用户 ID(即 `UID` 字段)。键入用户 ID 时,将不会搜索可能匹配的其他用户 ID。
+- 添加组时,必须从文本框旁边的下拉列表中选择组。Rancher 假定来自文本框的任何输入都是用户。
+- 用户组下拉列表仅显示你所属的用户组。如果你不是某个组的成员,你将无法添加该组。
+
+:::
+
+## Okta 与 OpenLDAP 搜索
+
+你可以添加 OpenLDAP 后端来协助用户和组搜索。Rancher 将显示来自 OpenLDAP 服务的其他用户和组。这允许你将权限分配给用户不属于的组。
+
+### OpenLDAP 先决条件
+
+如果你使用 Okta 作为 IdP,你可以[设置 LDAP 接口](https://help.okta.com/en-us/Content/Topics/Directory/LDAP-interface-main.htm)以供 Rancher 使用。你还可以配置外部 OpenLDAP Server。
+
+你必须使用 LDAP 绑定帐户(也称为 ServiceAccount)来配置 Rancher,以便搜索和检索应具有访问权限的用户和组的 LDAP 条目。不要使用管理员帐户或个人帐户作为 LDAP 绑定帐户。在 OpenLDAP 中[创建](https://help.okta.com/en-us/Content/Topics/users-groups-profiles/usgp-add-users.htm)一个专用帐户,对搜索库下的用户和组具有只读访问权限。
+
+:::warning 安全注意事项
+
+OpenLDAP ServiceAccount 用于所有搜索。无论用户个人的 SAML 权限是什么,Rancher 用户都将看到 OpenLDAP ServiceAccount 可以查看的用户和组。
+
+:::
+
+
+> **使用 TLS?**
+>
+> 如果 OpenLDAP Server 使用的证书是自签名的或来自无法识别的证书颁发机构,则 Rancher 需要 PEM 格式的 CA 证书(包含所有中间证书)。你需要在配置期间提供此证书,以便 Rancher 能够验证证书链。
+
+### 在 Rancher 中配置 OpenLDAP
+
+[配置 OpenLDAP Server、组和用户的设置](../configure-openldap/openldap-config-reference.md)。请注意,不支持嵌套组成员。
+
+> 在继续配置之前,请熟悉[外部身份认证配置和主要用户](../../../../pages-for-subheaders/authentication-config.md#外部身份验证配置和用户主体)。
+
+1. 使用分配了 [administrator](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions) 角色(即 _本地主体_)的本地用户登录到 Rancher。
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏,单击**认证**。
+1. 单击 **Okta**,如果已配置 SAML,则单击**编辑配置**。
+1. 在**用户和组搜索**下,选中**配置 OpenLDAP Server**。
+
+如果你在测试与 OpenLDAP Server 的连接时遇到问题,请确保你输入了ServiceAccount 的凭证并正确配置了搜索库。你可以检查 Rancher 日志来查明根本原因。调试日志可能包含有关错误的更详细信息。请参阅[如何启用调试日志](../../../../faq/technical-items.md#如何启用调试日志记录)了解更多信息。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-pingidentity.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-pingidentity.md
new file mode 100644
index 00000000000..0eebb8363c9
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-pingidentity.md
@@ -0,0 +1,62 @@
+---
+title: 配置 PingIdentity (SAML)
+---
+
+如果你的组织使用 Ping Identity Provider (IdP) 进行用户身份验证,你可以通过配置 Rancher 来允许用户使用 IdP 凭证登录。
+
+> **先决条件**:
+>
+> - 你必须配置了 [Ping IdP 服务器](https://www.pingidentity.com/)。
+> - 以下是 Rancher Service Provider 配置所需的 URL:
+> 元数据 URL:`https:///v1-saml/ping/saml/metadata`
+> 断言使用者服务 (ACS) URL:`https:///v1-saml/ping/saml/acs`
+> 请注意,在 Rancher 中保存验证配置之前,这些 URL 不会返回有效数据。
+> - 从 IdP 服务器导出 `metadata.xml` 文件。详情请参见 [PingIdentity 文档](https://documentation.pingidentity.com/pingfederate/pf83/index.shtml#concept_exportingMetadata.html)。
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏,单击**认证**。
+1. 单击 **Ping Identity**。
+1. 填写**配置 Ping 账号**表单。Ping IdP 允许你指定要使用的数据存储。你可以添加数据库或使用现有的 ldap 服务器。例如,如果你选择 Active Directory (AD) 服务器,下面的示例将描述如何将 AD 属性映射到 Rancher 中的字段:
+
+ 1. **显示名称字段**:包含用户显示名称的 AD 属性(例如:`displayName`)。
+
+ 1. **用户名字段**:包含用户名/给定名称的 AD 属性(例如:`givenName`)。
+
+ 1. **UID 字段**:每个用户唯一的 AD 属性(例如:`sAMAccountName`、`distinguishedName`)。
+
+ 1. **用户组字段**: 创建用于管理组成员关系的条目(例如:`memberOf`)。
+
+ 1. **Entity ID 字段**(可选):你的合作伙伴已公布的、依赖协议的、唯一的标识符。该 ID 将你的组织定义为将服务器用于 SAML 2.0 事务的实体。这个 ID 可以通过带外传输或 SAML 元数据文件获得。
+
+ 1. **Rancher API 主机**:你的 Rancher Server 的 URL。
+
+ 1. **私钥**和**证书**:密钥/证书对,用于在 Rancher 和你的 IdP 之间创建一个安全外壳(SSH)。
+
+ 你可以使用 openssl 命令进行创建。例如:
+
+ ```
+ openssl req -x509 -newkey rsa:2048 -keyout myservice.key -out myservice.cert -days 365 -nodes -subj "/CN=myservice.example.com"
+ ```
+ 1. **IDP 元数据**:[从 IdP 服务器导出的 `metadata.xml` 文件](https://documentation.pingidentity.com/pingfederate/pf83/index.shtml#concept_exportingMetadata.html)。
+
+
+1. 完成**配置 Ping 账号**表单后,单击**启用**。
+
+ Rancher 会将你重定向到 IdP 登录页面。输入使用 Ping IdP 进行身份验证的凭证,来验证你的 Rancher PingIdentity 配置。
+
+ :::note
+
+ 你可能需要禁用弹出窗口阻止程序才能看到 IdP 登录页面。
+
+ :::
+
+**结果**:已将 Rancher 配置为使用 PingIdentity。你的用户现在可以使用 PingIdentity 登录名登录 Rancher。
+
+:::note SAML 身份提供商注意事项
+
+- SAML 协议不支持搜索或查找用户或组。因此,将用户或组添加到 Rancher 时不会对其进行验证。
+- 添加用户时,必须正确输入确切的用户 ID(即 `UID` 字段)。键入用户 ID 时,将不会搜索可能匹配的其他用户 ID。
+- 添加组时,必须从文本框旁边的下拉列表中选择组。Rancher 假定来自文本框的任何输入都是用户。
+- 用户组下拉列表仅显示你所属的用户组。如果你不是某个组的成员,你将无法添加该组。
+
+:::
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/create-local-users.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/create-local-users.md
new file mode 100644
index 00000000000..e6589e67693
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/create-local-users.md
@@ -0,0 +1,15 @@
+---
+title: 本地身份验证
+---
+
+在配置外部验证提供程序之前,你将默认使用本地身份验证。Rancher 将用户帐户信息(例如用户名和密码)存储在本地。默认情况下,用于首次登录 Rancher 的 `admin` 用户就是一个本地用户。
+
+## 添加本地用户
+
+无论是否使用外部身份验证服务,你都应创建一些本地身份认证的用户,以便在外部验证服务遇到问题时继续使用 Rancher。
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏,单击**用户**。
+1. 单击**创建**。
+1. 完成**添加用户**的表单。
+1. 单击**创建**。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/manage-users-and-groups.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/manage-users-and-groups.md
new file mode 100644
index 00000000000..b44cc440312
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/manage-users-and-groups.md
@@ -0,0 +1,77 @@
+---
+title: 用户和组
+---
+
+Rancher 依赖用户和组来决定允许登录到 Rancher 的用户,以及他们可以访问哪些资源。你配置外部身份验证提供程序后,该提供程序的用户将能够登录到你的 Rancher Server。用户登录时,验证提供程序将向你的 Rancher Server 提供该用户所属的组列表。
+
+你可以通过向资源添加用户或组,来控制其对集群、项目、多集群应用、全局 DNS 提供程序和相关资源的访问。将组添加到资源时,身份验证提供程序中属于该组的所有用户都将能够使用组的权限访问该资源。有关角色和权限的更多信息,请参见 [RBAC](../../../../pages-for-subheaders/manage-role-based-access-control-rbac.md)。
+
+## 管理成员
+
+向资源添加用户或用户组时,你可以通过输入用户或组的名称来搜索用户或组。Rancher Server 会查询身份验证提供程序,来查找与你输入的内容匹配的用户和组。搜索仅限于你登录时使用的身份验证提供程序。例如,如果你启用了 GitHub 身份验证,但使用[本地](create-local-users.md)用户登录,则无法搜索 GitHub 用户或组。
+
+你可以查看和管理所有用户,包括本地用户和来自身份验证提供程序的用户。在左上角,单击 **☰ > 用户 & 认证**。在左侧导航栏中单击**用户**。
+
+:::note SAML 身份提供商注意事项
+
+- SAML 协议不支持搜索或查找用户或组。因此,将用户或组添加到 Rancher 时不会对其进行验证。
+- 添加用户时,必须正确输入确切的用户 ID(即 `UID` 字段)。键入用户 ID 时,将不会搜索可能匹配的其他用户 ID。
+- 添加组时,必须从文本框旁边的下拉列表中选择组。Rancher 假定来自文本框的任何输入都是用户。
+- 用户组下拉列表仅显示你所属的用户组。如果你不是某个组的成员,你将无法添加该组。
+
+:::
+
+## 用户信息
+
+Rancher 会维护通过身份验证提供程序登录的每个用户的信息,包括用户是否允许访问 Rancher Server,以及用户所属的组的列表。Rancher 保留此用户信息,以便 CLI、API 和 kubectl 能够准确地反映用户基于身份验证提供程序中的组成员关系的访问。
+
+当用户使用身份验证提供程序登录到 UI 时,Rancher 将自动更新该用户信息。
+
+### 自动刷新用户信息
+
+Rancher 会定期刷新用户信息,甚至在用户通过 UI 登录之前也是如此。你可以控制 Rancher 执行刷新的频率。
+
+有两个参数可以控制这个操作:
+
+- **`auth-user-info-max-age-seconds`**
+
+ 此设置控制用户信息的最大老化时间,如果超过这个时间,Rancher 就会刷新信息。如果用户进行 API 调用(直接 UI 访问或通过使用 Rancher CLI 或 kubectl 调用),并且与 Rancher 上次刷新用户信息的时间间隔大于此设置,则 Rancher 将触发刷新。此设置默认为 `3600` 秒,即 1 小时。
+
+- **`auth-user-info-resync-cron`**
+
+ 此设置控制用于所有用户重新同步身份验证提供程序信息的定期任务周期。无论用户最近是否登录或使用 API,自动刷新任务都会按照指定的时间间隔刷新用户信息。此设置默认为 `0 0 * * *`,即每天午夜进行一次。有关此设置的有效值的更多信息,请参见 [Cron 文档](https://en.wikipedia.org/wiki/Cron)。
+
+如果需要更改设置:
+
+1. 在左上角,单击 **☰ > 全局设置**。
+1. 前往你需要配置的设置,并点击 **⋮ > 编辑设置**。
+
+:::note
+
+由于 SAML 不支持用户查找,因此基于 SAML 的身份验证提供程序不支持定期刷新用户信息。只有当用户登录到 Rancher UI 时,才会刷新用户信息。
+
+:::
+### 手动刷新用户信息
+
+如果你不确定 Rancher 上一次执行用户信息自动刷新的时间,则可以通过手动刷新来刷新所有用户的信息。
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在**用户**页面,单击**刷新用户组成员名单**。
+
+**结果**:Rancher 刷新了所有用户的信息。请求此刷新将更新哪些用户可以访问 Rancher 以及每个用户所属的所有组。
+
+:::note
+
+由于 SAML 不支持用户查找,因此基于 SAML 的身份验证提供程序不支持手动刷新用户信息。只有当用户登录到 Rancher UI 时,才会刷新用户信息。
+
+:::
+
+## 会话周期
+
+用户会话的默认生命周期(TTL)是可调的。默认的会话周期是 16 小时。
+
+1. 在左上角,单击 **☰ > 全局设置**。
+1. 前往 **`auth-user-session-ttl-minutes`** 并单击**⋮ > 编辑设置**。
+1. 输入会话应该持续的时间(以分钟为单位),然后单击**Save**。
+
+**结果**:用户的 Rancher 登录会话在设定的分钟数后自动退出。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-microsoft-ad-federation-service-saml/configure-ms-adfs-for-rancher.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-microsoft-ad-federation-service-saml/configure-ms-adfs-for-rancher.md
new file mode 100644
index 00000000000..858be390e9c
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-microsoft-ad-federation-service-saml/configure-ms-adfs-for-rancher.md
@@ -0,0 +1,83 @@
+---
+title: 1. 在 Microsoft AD FS 中配置 Rancher
+---
+
+在配置 Rancher 以支持 Active Directory Federation Service (AD FS) 之前,你必须在 AD FS 中将 Rancher 添加为 [relying party trust](https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/technical-reference/understanding-key-ad-fs-concepts)(信赖方信任)。
+
+1. 以管理用户身份登录 AD 服务器。
+
+1. 打开 **AD FS Management** 控制台。在 **Actions** 菜单中选择 **Add Relying Party Trust...**。然后单击 **Start**。
+
+ 
+
+1. 选择 **Enter data about the relying party manually** 作为获取信赖方数据的选项。
+
+ 
+
+1. 为 **Relying Party Trust** 设置**显示名称**,例如 `Rancher`。
+
+ 
+
+1. 选择 **AD FS profile** 作为信赖方信任的配置文件。
+
+ 
+
+1. 留空 **optional token encryption certificate**,因为 Rancher AD FS 不会使用它。
+
+ 
+
+1. 选择 **Enable support for the SAML 2.0 WebSSO protocol** 并在 Service URL 处输入 `https:///v1-saml/adfs/saml/acs`。
+
+ 
+
+1. 将 `https:///v1-saml/adfs/saml/metadata` 添加为 **Relying party trust identifier**。
+
+ 
+
+1. 本教程不涉及多重身份验证。如果你想配置多重身份验证,请参见 [Microsoft 文档](https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/operations/configure-additional-authentication-methods-for-ad-fs)。
+
+ 
+
+1. 在 **Choose Issuance Authorization RUles** 中,你可以根据用例选择任何一个可用选项。但是考虑到本指南的目的,请选择 **Permit all users to access this relying party**。
+
+ 
+
+1. 检查所有设置后,选择 **Next** 来添加信赖方信任。
+
+ 
+
+
+1. 选择 **Open the Edit Claim Rules...**。然后单击 **Close**。
+
+ 
+
+1. 在 **Issuance Transform Rules** 选项卡中,单击 **Add Rule...**。
+
+ 
+
+1. 在 **Claim rule template** 中选择 **Send LDAP Attributes as Claims**。
+
+ 
+
+1. 将 **Claim rule name** 设置为所需的名称(例如 `Rancher Attributes`)并选择 **Active Directory** 作为 **Attribute store**。创建对应下表的映射:
+
+ | LDAP 属性 | 传出声明类型 |
+ | -------------------------------------------- | ------------------- |
+ | Given-Name | Given Name |
+ | User-Principal-Name | UPN |
+ | Token-Groups - Qualified by Long Domain Name | Group |
+ | SAM-Account-Name | 名称 |
+
+
+ 
+
+1. 从 AD 服务器的以下位置下载 `federationmetadata.xml`:
+```
+https:///federationmetadata/2007-06/federationmetadata.xml
+```
+
+**结果**:你已将 Rancher 添加为依赖信任方。现在你可以配置 Rancher 来使用 AD。
+
+### 后续操作
+
+[在 Rancher 中配置 Microsoft AD FS ](configure-rancher-for-ms-adfs.md)
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-microsoft-ad-federation-service-saml/configure-rancher-for-ms-adfs.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-microsoft-ad-federation-service-saml/configure-rancher-for-ms-adfs.md
new file mode 100644
index 00000000000..b4a15d2bf4c
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-microsoft-ad-federation-service-saml/configure-rancher-for-ms-adfs.md
@@ -0,0 +1,54 @@
+---
+title: 2. 在 Rancher 中配置 Microsoft AD FS
+---
+
+完成[在 Microsoft AD FS 中配置 Rancher](configure-ms-adfs-for-rancher.md) 后,将你的 Active Directory Federation Service (AD FS) 信息输入 Rancher,以便 AD FS 用户可以通过 Rancher 进行身份认证。
+
+:::note 配置 ADFS 服务器的重要说明:
+
+- SAML 2.0 WebSSO 协议服务 URL 为:`https:///v1-saml/adfs/saml/acs`
+- 信赖方信任标识符 URL 为:`https:///v1-saml/adfs/saml/metadata`
+- 你必须从 AD FS 服务器导出 `federationmetadata.xml` 文件。你可以在 `https:///federationmetadata/2007-06/federationmetadata.xml` 中找到该文件。
+
+:::
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏,单击**认证**。
+1. 单击 **ADFS**。
+1. 填写**配置 AD FS 账号**表单。Microsoft AD FS 允许你指定现有的 Active Directory (AD) 服务器。[以下配置示例](#配置)描述了如何将 AD 属性映射到 Rancher 中的字段。
+1. 完成**配置 AD FS 账号**表单后,单击**启用**。
+
+ Rancher 会将你重定向到 AD FS 登录页面。输入使用 Microsoft AD FS 进行身份验证的凭证,来验证你的 Rancher AD FS 配置。
+
+ :::note
+
+ 你可能需要禁用弹出窗口阻止程序才能看到 AD FS 登录页面。
+
+ :::
+
+**结果**:已将 Rancher 配置为使用 AD FS。你的用户现在可以使用 AD FS 登录名登录 Rancher。
+
+## 配置
+
+| 字段 | 描述 |
+|---------------------------|-----------------|
+| 显示名称字段 | 包含用户显示名称的 AD 属性。 示例:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name` |
+| 用户名字段 | 包含用户名/给定名称的 AD 属性。 示例:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname` |
+| UID 字段 | 每个用户独有的 AD 属性。 示例:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn` |
+| 用户组字段 | 创建用于管理组成员关系的条目。 示例:`http://schemas.xmlsoap.org/claims/Group` |
+| Rancher API 主机 | Rancher Server 的 URL。 |
+| 私钥/证书 | 在 Rancher 和你的 AD FS 之间创建安全外壳(SSH)的密钥/证书对。确保将 Common Name (CN) 设置为 Rancher Server URL。 [证书创建命令](#cert-command) |
+| 元数据 XML | 从 AD FS 服务器导出的 `federationmetadata.xml` 文件。 你可以在 `https:///federationmetadata/2007-06/federationmetadata.xml` 找到该文件。 |
+
+
+
+
+:::tip
+
+你可以使用 openssl 命令生成证书。例如:
+
+```
+openssl req -x509 -newkey rsa:2048 -keyout myservice.key -out myservice.cert -days 365 -nodes -subj "/CN=myservice.example.com"
+```
+
+:::
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-openldap/openldap-config-reference.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-openldap/openldap-config-reference.md
new file mode 100644
index 00000000000..581a85efc2c
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-openldap/openldap-config-reference.md
@@ -0,0 +1,78 @@
+---
+title: OpenLDAP 配置参考
+---
+
+有关配置 OpenLDAP 认证的更多详细信息,请参见[官方文档](https://www.openldap.org/doc/)。
+
+> 在开始之前,请熟悉[外部身份验证配置和主体用户](../../../../pages-for-subheaders/authentication-config.md#外部身份验证配置和用户主体)的概念。
+
+
+## 背景:OpenLDAP 认证流程
+
+1. 当用户尝试使用其 LDAP 凭证登录时,Rancher 会使用具有搜索目录和读取用户/组属性权限的 ServiceAccount,创建与 LDAP 服务器的初始绑定。
+2. 然后,Rancher 使用搜索筛选器根据用户名和配置的属性映射为用户搜索目录。
+3. 找到用户后,将使用用户的 DN 和提供的密码,通过另一个 LDAP 绑定请求对用户进行身份验证。
+4. 身份验证成功后,Rancher 将基于用户对象的成员属性和配置的用户映射属性执行组搜索,来解析组成员。
+
+## OpenLDAP 服务器配置
+
+你将需要输入地址,端口和协议来连接到 OpenLDAP 服务器。不安全流量的标准端口为 `389`,TLS 流量的标准端口为 `636`。
+
+> **使用 TLS?**
+>
+> 如果 OpenLDAP 服务器使用的证书是自签名的或不是来自认可的证书颁发机构,请确保手头有 PEM 格式的 CA 证书(包含所有中间证书)。你必须在配置期间粘贴此证书,以便 Rancher 能够验证证书链。
+
+如果你不确定要在用户/组`搜索库`字段中输入什么值,请咨询你的 LDAP 管理员,或参见 Active Directory 身份验证文档中的[使用 ldapsearch 确定搜索库和 Schema](../../../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-active-directory.md#附录使用-ldapsearch-确定搜索库和-schema) 章节。
+
+OpenLDAP 服务器参数
+
+| 参数 | 描述 |
+|:--|:--|
+| 主机名 | 指定 OpenLDAP 服务器的主机名或 IP 地址。 |
+| 端口 | 指定 OpenLDAP 服务器监听连接的端口。未加密的 LDAP 通常使用 389 的标准端口,而 LDAPS 使用 636 端口。 |
+| TLS | 选中此框可启用 SSL/TLS 上的 LDAP(通常称为 LDAPS)。如果服务器使用自签名/企业签名的证书,则还需要粘贴 CA 证书。 |
+| 服务器连接超时 | Rancher 在认为无法访问服务器之前等待的时间(秒)。 |
+| ServiceAccount 标识名称 | 输入用于绑定,搜索和检索 LDAP 条目的用户的标识名称(DN)。 |
+| ServiceAccount 密码 | ServiceAccount 的密码。 |
+| 用户搜索库 | 输入目录树中开始搜索用户对象的节点的标识名称(DN)。所有用户都必须是此基础标识名称的后代。例如,"ou=people,dc=acme,dc=com"。 |
+| 组搜索库 | 如果组位于`用户搜索库`下配置的节点之外的其他节点下,则需要在此处提供标识名称。否则,将此字段留空。例如:"ou=groups,dc=acme,dc=com"。 |
+
+## 用户/组 Schema 配置
+
+如果你的 OpenLDAP 目录不同于标准的 OpenLDAP Schema,则必须完成**自定义 Schema** 部分实现匹配。
+
+请注意,Rancher 使用本节中配置的属性映射来构造搜索筛选器和解析组成员。因此,我们建议你验证此处的配置是否与你在 OpenLDAP 中使用的 Schema 匹配。
+
+如果你不确定 OpenLDAP 服务器中使用的用户/组 Schema,请咨询你的 LDAP 管理员,或参见 Active Directory 身份验证文档中的[使用 ldapsearch 确定搜索库和 Schema](../../../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-active-directory.md#附录使用-ldapsearch-确定搜索库和-schema) 章节。
+
+### 用户 Schema 配置
+
+下表详细说明了用户 Schema 配置的参数。
+
+用户 Schema 配置参数
+
+| 参数 | 描述 |
+|:--|:--|
+| Object Class | 域中用于用户对象的对象类别名称。如果定义了此参数,则仅指定对象类别的名称 - *请勿*将其放在 LDAP 包装器中,例如 `&(objectClass=xxxx)`。 |
+| Username Attribute | 用户属性的值适合作为显示名称。 |
+| Login Attribute | 登录属性的值与用户登录 Rancher 时输入的凭证的用户名部分匹配。通常是 `uid`。 |
+| User Member Attribute | 包含用户所属组的标识名称的用户属性。通常是 `memberOf` 或 `isMemberOf`。 |
+| Search Attribute | 当用户输入文本以在用户界面中添加用户或组时,Rancher 会查询 LDAP 服务器,并尝试根据此设置中提供的属性匹配用户。可以通过使用管道(“\|”)符号分隔属性来指定多个属性。 |
+| User Enabled Attribute | 如果 OpenLDAP 服务器的 Schema 支持使用用户属性的值来评估账号是禁用还是关闭,请输入该属性的名称。默认的 OpenLDAP Schema 不支持此功能,因此此字段通常留空。 |
+| Disabled Status Bitmask | 禁用/锁定的用户账号的值。如果 `User Enabled Attribute` 是空的,则忽略此参数。 |
+
+### 组 Schema 配置
+
+下表详细说明了组 Schema 配置的参数。
+
+组 Schema 配置参数
+
+| 参数 | 描述 |
+|:--|:--|
+| Object Class | 域中用于组条目的对象类别名称。如果定义了此参数,则仅指定对象类别的名称 - *请勿*将其放在 LDAP 包装器中,例如 `&(objectClass=xxxx)`。 |
+| Name Attribute | 名称属性的值适合作为显示名称。 |
+| Group Member User Attribute | **用户属性**的名称。它的格式与 `Group Member Mapping Attribute` 中的组成员匹配。 |
+| Group Member Mapping Attribute | 包含组成员的组属性的名称。 |
+| Search Attribute | 在 UI 中将组添加到集群或项目时,用于构造搜索筛选器的属性。请参见用户 Schema 的 `Search Attribute`。 |
+| Group DN Attribute | 组属性的名称,其格式与用户的组成员属性中的值匹配。参见 `User Member Attribute`。 |
+| Nested Group Membership | 此设置定义 Rancher 是否应解析嵌套组成员身份。仅当你的组织使用这些嵌套成员身份时才使用(即你有包含其他组作为成员的组)。如果你使用 Shibboleth,此选项会被禁用。 |
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-shibboleth-saml/about-group-permissions.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-shibboleth-saml/about-group-permissions.md
new file mode 100644
index 00000000000..69155120d28
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-shibboleth-saml/about-group-permissions.md
@@ -0,0 +1,28 @@
+---
+title: Shibboleth 和 OpenLDAP 的组权限
+---
+
+由于 Shibboleth 是 SAML 提供者,因此它不支持搜索用户组的功能。虽然 Shibboleth 集成可以验证用户凭证,但是如果没有其他配置,Shibboleth 不能在 Rancher 中给用户组分配权限。
+
+你可以通过配置 OpenLDAP 标识提供者来解决这个问题。如果让 Shibboleth 使用 OpenLDAP 后端,你将能够在 Rancher 中搜索组,并从 Rancher UI 将集群、项目或命名空间等资源分配给用户组。
+
+### 名词解释
+
+- **Shibboleth**:用于计算机网络和互联网的单点登录系统。它允许用户仅使用一种身份登录到各种系统。它验证用户凭证,但不单独处理组成员身份。
+- **SAML**:安全声明标记语言(Security Assertion Markup Language),用于在身份提供程序和服务提供商之间交换身份验证和授权数据的开放标准。
+- **OpenLDAP**:轻型目录访问协议(LDAP)的免费开源实现。它用于管理组织的计算机和用户。OpenLDAP 对 Rancher 用户很有用,因为它支持组。只要组已存在于身份提供程序中,你就可以在 Rancher 中为组分配权限,从而让组访问资源(例如集群,项目或命名空间)。
+- **IdP 或 IDP**:身份提供程序。OpenLDAP 是身份提供程序的一个例子。
+
+### 将 OpenLDAP 组权限添加到 Rancher 资源
+
+下图说明了 OpenLDAP 组的成员如何访问 Rancher 中该组有权访问的资源。
+
+例如,集群所有者可以将 OpenLDAP 组添加到集群,从而让组有权查看大多数集群级别的资源并创建新项目。然后,OpenLDAP 组成员在登录 Rancher 后就可以访问集群。
+
+在这种情况下,OpenLDAP 允许集群所有者在分配权限时搜索组。如果没有 OpenLDAP,将不支持搜索组的功能。
+
+当 OpenLDAP 组的成员登录到 Rancher 时,用户将被重定向到 Shibboleth 并在那里输入用户名和密码。
+
+Shibboleth 会验证用户的凭证,并从 OpenLDAP 检索用户属性,其中包括用户所在的组信息。然后 Shibboleth 将向 Rancher 发送一个包含用户属性的 SAML 断言。Rancher 会使用组数据,以便用户可以访问他所在的组有权访问的所有资源。
+
+
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/create-pod-security-policies.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/create-pod-security-policies.md
new file mode 100644
index 00000000000..1136fdabc91
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/create-pod-security-policies.md
@@ -0,0 +1,78 @@
+---
+title: Pod 安全策略
+---
+
+:::caution
+Pod 安全策略仅在 Kubernetes v1.24 之前可用。[Pod 安全标准](pod-security-standards.md) 是内置的替代方案。
+:::
+
+[Pod 安全策略(PSP)](https://kubernetes.io/docs/concepts/security/pod-security-policy/)是用来控制安全敏感相关 Pod 规范(例如 root 特权)的对象。
+
+如果某个 Pod 不满足 PSP 指定的条件,Kubernetes 将不允许它启动,Rancher 中将显示错误消息 `Pod is forbidden: unable to validate...`。
+
+
+## PSP 工作原理
+
+你可以在集群或项目级别分配 PSP。
+
+PSP 通过继承的方式工作:
+
+- 默认情况下,分配给集群的 PSP 由其项目以及添加到这些项目的任何命名空间继承。
+- **例外**:无论 PSP 是分配给集群还是项目,未分配给项目的命名空间不会继承 PSP。因为这些命名空间没有 PSP,所以这些命名空间的工作负载 deployment 将失败,这是 Kubernetes 的默认行为。
+- 你可以通过将不同的 PSP 直接分配给项目来覆盖默认 PSP。
+
+在分配 PSP 之前已经在集群或项目中运行的任何工作负载如果符合 PSP,则不会被检查。你需要克隆或升级工作负载以查看它们是否通过 PSP。
+
+在 [Kubernetes 文档](https://kubernetes.io/docs/concepts/policy/pod-security-policy/)中阅读有关 Pod 安全策略的更多信息。
+
+## 默认 PSP
+
+Rancher 内置了三个默认 Pod 安全策略 (PSP),分别是 `restricted-noroot`(受限 noroot),`restricted`(受限)和 `unrestricted`(不受限)策略。
+
+### 受限-NoRoot
+
+此策略基于 Kubernetes [示例受限策略](https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/policy/restricted-psp.yaml)。它极大地限制了可以将哪些类型的 Pod 部署到集群或项目中。这项策略:
+
+- 阻止 Pod 以特权用户身份运行,并防止特权升级。
+- 验证服务器所需的安全机制是否到位,例如限制哪些卷只能挂载到核心卷类型,并防止添加 root 补充组。
+
+### 受限
+
+该策略是宽松版的 `restricted-noroot` 策略,除了允许以特权用户身份运行容器外,几乎所有限制都到位。
+
+### 不受限
+
+该策略等效于在禁用 PSP 控制器的情况下运行 Kubernetes。对于可以将哪些 Pod 部署到集群或项目中,它没有任何限制。
+
+:::note 重要提示:
+
+禁用 PSP 时,默认 PSP **不会**自动从集群中删除。如果不再需要它们,你必须手动删除它们。
+
+:::
+
+## 创建 PSP
+
+使用 Rancher,你可以使用我们的 GUI 创建 Pod 安全策略,而不是创建 YAML 文件。
+
+### 要求
+
+Rancher 只能为[使用 RKE 启动的集群](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)分配 PSP。
+
+你必须先在集群级别启用 PSP,然后才能将它们分配给项目。这可以通过[编辑集群](../../../pages-for-subheaders/cluster-configuration.md)来配置。
+
+最好的做法是在集群级别设置 PSP。
+
+我们建议在集群和项目创建期间添加 PSP,而不是将其添加到现有的项目或集群中。
+
+### 在 Rancher UI 中创建 PSP
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在左侧导航栏中,单击 **Pod 安全策略**。
+1. 单击**添加策略**。
+1. 为策略命名。
+1. 填写表格的每个部分。请参阅 [Kubernetes 文档](https://kubernetes.io/docs/concepts/policy/pod-security-policy/),了解每个策略的作用。
+1. 单击**创建**。
+
+## 配置
+
+关于 PSP 的 Kubernetes 文档,请参阅[这里](https://kubernetes.io/docs/concepts/policy/pod-security-policy/)。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/custom-branding.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/custom-branding.md
new file mode 100644
index 00000000000..59bd02daf07
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/custom-branding.md
@@ -0,0 +1,192 @@
+---
+title: 定制品牌
+---
+
+## 先决条件
+
+你至少需要拥有集群成员权限。
+
+## 品牌配置
+
+要配置品牌设置:
+
+1. 单击**☰ > 全局设置**。
+2. 单击**公司品牌**。
+
+### 自有品牌公司名称
+
+此选项将大多数出现的 “Rancher” 替换为你提供的值。名称中需要包含 Rancher 的文件,例如 `rancher-compose.yml`,不会被更改。
+
+### 支持链接
+
+使用 URL 地址发送新的`提交问题`报告,而不是让用户发送到 GitHub Issue 页面。可选择显示 Rancher 社区支持链接。
+
+### Logo
+
+上传深色和浅色的 Logo 来替换顶层导航标题中的 Rancher logo。
+
+### 主颜色
+
+使用自定义颜色替换整个 UI 中使用的主颜色。
+
+### 固定横幅
+
+在页眉、页脚或两者中显示自定义固定横幅。
+
+要配置横幅:
+
+1. 单击**☰ > 全局设置**。
+2. 点击**横幅**。
+
+## 自定义导航链接
+
+在本节中,你将了解如何配置**集群仪表板**左侧导航栏中的链接。要访问集群仪表板:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到你想要自定义导航链接的集群,然后单击 **Explore**。
+
+添加链接可以让你快速访问安装在集群上的服务。例如,你可以为安装了 Istio 的集群添加指向 Kiali UI 的链接,或者为安装了 Rancher Monitoring 的集群添加指向 Grafana UI 的链接。
+
+自定义链接不会影响可以访问各项服务的用户。
+
+可以在顶层创建链接,并且可以将多个链接组合在一起。
+
+### 添加自定义导航链接
+
+:::note 先决条件:
+
+你至少需要拥有集群成员或项目成员权限。
+
+:::
+
+1. 点击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到要添加自定义导航链接的集群,然后单击 **Explore**。
+2. 在顶部导航菜单中,单击 **🔍(资源搜索)**。
+3. 输入 **Nav** 并点击 **Nav Links**。
+4. 单击**使用 YAML 文件创建**。
+5. 创建导航链接的最简单方法是添加以下字段:
+
+ name: linkname
+ toURL: https://example.com
+
+ 有关设置链接(包括可选字段)的更多详细信息,请参阅[链接配置](#链接配置)。
+6. 单击**创建**。
+
+## 链接配置
+
+### `name`
+
+链接的显示名称。必填项。
+
+### `group`
+
+单击时展开的一组链接的名称。
+
+可选项。如果未提供,则显示为独立链接。
+
+组与独立链接分开显示,如下所示:
+
+
+
+### `iconSrc`
+
+Base64 格式的 Logo 图标源。
+
+以下是 Base64 格式的 Grafana Logo 示例:
+
+```
+data:image/png;base64,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
+```
+
+### `annotation`
+
+NavLink 自定义资源的 Kubernetes 注释。
+
+### `label`
+
+NavLink 自定义资源的 Kubernetes 标签。
+
+### `sideLabel`
+
+出现在左侧导航栏中的标签。
+
+### `target`
+
+设置链接的锚标记 (``) 的目标属性。该属性(取决于浏览器)确定它是在新窗口中打开还是在当前选项卡中打开。
+
+默认值为 `_self`,即在当前选项卡上打开链接。要在新窗口或选项卡中打开链接,请将目标设置为 `_blank`。
+
+有关目标属性的详细信息,请参阅[此页面](https://www.w3schools.com/tags/att_a_target.asp)。
+
+### `toService`
+
+有五个字段用于创建如下所示的 URL:`https:///k8s/clusters//k8s/namespace//service/: :/proxy/`
+
+例如,Monitoring 服务的链接可以这样设置:
+
+- 名称:`rancher-monitoring-grafana`
+- 命名空间:`cattle-monitoring-system`
+- 路径:`proxy/?orgId=1`
+- 端口:`"80"`
+- Scheme:`http`
+
+需要提供 `toService` 或 `toURL` 指令中的一个。
+
+### `toUrl`
+
+可以是任何链接,甚至可以是集群外部的链接。
+
+需要提供 `toService` 或 `toURL` 指令中的一个。
+
+## 链接示例
+
+### `toUrl` 的链接示例
+
+以下 NavLink YAML 显示了将 NavLink 配置到 Grafana 仪表板的示例:
+
+```yaml
+apiVersion: ui.cattle.io/v1
+kind: NavLink
+metadata:
+ name: grafana
+spec:
+ group: "Monitoring Dashboards"
+ toURL: https:///api/v1/namespaces/cattle-monitoring-system/services/http:rancher-monitoring-grafana:80/proxy/?orgId=1
+```
+
+添加上述 YAML 会创建 Grafana 的链接,如以下截图所示:
+
+
+
+### `toService` 的链接示例
+
+以下 YAML 显示了用于链接目标的 `toService` 示例:
+
+```yaml
+apiVersion: ui.cattle.io/v1
+kind: NavLink
+metadata:
+ annotations:
+ key: annotation
+ labels:
+ key: label
+ name: navlinkname
+spec:
+ description: This is a description field # Optional.
+ group: "group1" # 可选。如果未提供,则显示为独立链接。
+ iconSrc: data:image/jpeg;base64,[icon source string is clipped for brevity]
+ label: This is a label # 可选。
+ sideLabel: A side label. # 可选。
+ target: _blank # 可选。_blank 表示在新选项卡或窗口中打开链接。
+ toService: # 需要提供 toService 或 #toUrl。
+ name: rancher-monitoring-grafana
+ namespace: cattle-monitoring-system
+ path: proxy/?orgId=1
+ port: "80"
+ scheme: http
+```
+
+添加上面的 `toService` 参数会创建 Grafana 的链接,如以下截图所示:
+
+
+
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/global-default-private-registry.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/global-default-private-registry.md
new file mode 100644
index 00000000000..818ccfc025a
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/global-default-private-registry.md
@@ -0,0 +1,57 @@
+---
+title: 配置全局默认私有镜像仓库
+---
+
+:::note
+本页介绍了安装 Rancher 后如何从 Rancher UI 配置全局默认私有镜像仓库。
+
+有关如何在 Rancher 安装期间设置私有镜像仓库的说明,请参阅[离线安装指南](../../../pages-for-subheaders/air-gapped-helm-cli-install.md)。
+
+:::
+
+私有镜像仓库是集群中私有、一致且集中的容器镜像源。你可以使用私有容器镜像仓库,在组织内共享自定义基础镜像。
+
+在 Rancher 中设置私有镜像仓库主要有两种方式:
+
+* 通过全局视图中的 **Settings** 选项卡设置全局默认镜像仓库。
+* 在集群级别设置下的高级选项中设置私有镜像仓库。
+
+全局默认镜像仓库适用于离线环境,可用于不需要凭证的镜像仓库。而集群级私有镜像仓库用于需要凭证的私有镜像仓库。
+
+## 将不需要凭证的私有镜像仓库设置为默认镜像仓库
+
+1. 登录 Rancher 并配置默认管理员密码。
+1. 选择 **☰ > 全局设置**。
+1. 转到 `system-default-registry` 并选择 **⋮ > 编辑设置**。
+1. 输入你镜像仓库的主机名和端口(例如 `registry.yourdomain.com:port`)。不要在文本前加上 `http://` 或 `https://`。
+
+**结果**:Rancher 会从你的私有镜像仓库中拉取系统镜像。
+
+### 带 RKE2 下游集群的命名空间私有镜像仓库
+
+默认情况下,大多数私有镜像仓库应该能与 RKE2 下游集群一起工作。
+
+但是,如果你尝试设置 URL 格式为 `website/subdomain:portnumber` 的命名空间私有镜像仓库,则需要执行额外的步骤:
+
+1. 选择 **☰ > 集群管理**。
+1. 在列表中找到 RKE2 集群,然后点击 **⋮ > 编辑配置**。
+1. 从**集群配置**菜单中,选择**镜像仓库**。
+1. 在**镜像仓库**中,选择**配置高级 Containerd Mirror 和仓库认证选项**选项。
+1. 在 **Mirrors** 下的文本字段中,输入**镜像仓库主机名**和 **Mirror 端点**。
+1. 单击**保存**。
+1. 根据需要对每个下游 RKE2 集群重复操作。
+
+## 创建集群时配置使用凭证的私有镜像仓库
+
+无法为每个 Rancher 配置的集群全局设置具有授权认证的私有镜像仓库。因此,如果你希望 Rancher 配置的集群从使用凭证的私有镜像仓库中拉取镜像,则每次创建新集群时都必须通过高级集群选项传递镜像仓库凭证。
+
+由于创建集群后无法配置私有镜像仓库,因此你需要在初始集群设置期间执行这些步骤。
+
+1. 选择 **☰ > 集群管理**。
+1. 在**集群**页面上,单击**创建**。
+1. 选择集群类型。
+1. 在**集群配置**中,转到**镜像仓库**选项卡,然后选择**为 Rancher 从私有镜像仓库中拉取镜像**。
+1. 输入镜像仓库主机名和凭证。
+1. 单击**创建**。
+
+**结果**:新集群将从私有镜像仓库中拉取镜像。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md
new file mode 100644
index 00000000000..09b1cec4990
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md
@@ -0,0 +1,236 @@
+---
+title: 集群和项目角色
+---
+
+集群和项目角色定义集群或项目内的用户授权。
+
+要管理这些角色:
+
+1. 单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**角色**并转到**集群**或**项目或命名空间**选项卡。
+
+### 成员资格和角色分配
+
+非管理用户可以访问的项目和集群由 _成员资格_ 决定。成员资格是根据该集群或项目中分配的角色而有权访问特定集群或项目的用户列表。每个集群和项目都包含一个选项卡,具有适当权限的用户可以使用该选项卡来管理成员资格。
+
+创建集群或项目时,Rancher 会自动将创建者分配为`所有者`。分配了`所有者`角色的用户可以在集群或项目中给其他用户分配角色。
+
+:::note
+
+默认情况下,非管理员用户无法访问任何现有项目/集群。具有适当权限的用户(通常是所有者)必须显式分配项目和集群成员资格。
+
+:::
+
+### 集群角色
+
+_集群角色_ 是你可以分配给用户的角色,以授予他们对集群的访问权限。集群的两个主要角色分别是`所有者`和`成员`。
+
+- **集群所有者:**
+
+ 可以完全控制集群及其中的所有资源。
+
+- **集群成员:**
+
+ 可以查看大多数集群级别的资源并创建新项目。
+
+#### 自定义集群角色
+
+Rancher 支持将 _自定义集群角色_ 分配给普通用户,而不是典型的`所有者`或`成员`角色。这些角色可以是内置的自定义集群角色,也可以是 Rancher 管理员定义的角色。这些角色便于为集群内的普通用户定义更受限或特定的访问权限。有关内置自定义集群角色的列表,请参阅下表。
+
+#### 集群角色参考
+
+下表列出了可用的内置自定义集群角色,以及默认的集群级别角色`集群所有者`和`集群成员`是否包含该权限:
+
+| 内置集群角色 | 所有者 | 成员 |
+| ---------------------------------- | ------------- | --------------------------------- |
+| 创建项目 | ✓ | ✓ |
+| 管理集群备份 | ✓ | |
+| 管理集群应用商店 | ✓ | |
+| 管理集群成员 | ✓ | |
+| 管理节点[(见下表)](#管理节点权限) | ✓ | |
+| 管理存储 | ✓ | |
+| 查看所有项目 | ✓ | |
+| 查看集群应用商店 | ✓ | ✓ |
+| 查看集群成员 | ✓ | ✓ |
+| 查看节点 | ✓ | ✓ |
+
+#### 管理节点权限
+
+下表列出了 RKE 和 RKE2 中`管理节点`角色可用的权限:
+
+| 管理节点权限 | RKE | RKE2 |
+|-----------------------------|-------- |--------- |
+| SSH 访问 | ✓ | ✓ |
+| 删除节点 | ✓ | ✓ |
+| 集群的垂直扩缩容 | ✓ | * |
+\***在 RKE2 中,你必须拥有编辑集群的权限才能对集群进行垂直扩缩容。**
+
+
+如果需要了解各个集群角色如何访问 Kubernetes 资源,在 Rancher UI 中找到这些角色:
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**角色**。
+1. 单击**集群**选项卡。
+1. 单击角色的名称。表格会显示角色授权的所有操作和资源。
+
+:::note
+
+在查看 Rancher 创建的默认角色关联的资源时,如果在一行上有多个 Kubernetes API 资源,则该资源将带有 `(Custom)` 标识。这不代表这个资源是自定义资源,而只是表明多个 Kubernetes API 资源作为一个资源。
+
+:::
+
+### 为集群成员提供自定义集群角色
+
+在管理员[设置自定义集群角色后](custom-roles.md),集群所有者和管理员可以将这些角色分配给集群成员。
+
+要将自定义角色分配给新的集群成员,你可以使用 Rancher UI。要修改现有成员的权限,你需要使用 Rancher API 视图。
+
+要将角色分配给新的集群成员:
+
+
+
+
+1. 点击 **☰ > 集群管理**。
+1. 转到要将角色分配给成员的集群,然后单击 **Explore**。
+1. 单击**集群成员**。
+1. 单击**添加**。
+1. 在**集群权限**中,选择要分配给成员的自定义集群角色。
+1. 单击**创建**。
+
+
+
+
+1. 点击 **☰ > 集群管理**。
+1. 转到要将角色分配给成员的集群,然后单击 **Explore**。
+1. 点击**集群 > 集群成员**。
+1. 单击**添加**。
+1. 在**集群权限**中,选择要分配给成员的自定义集群角色。
+1. 单击**创建**。
+
+
+
+
+**结果**:成员具有所分配的角色。
+
+要将自定义角色分配给现有集群成员:
+
+1. 单击 **☰ > 用户 & 认证**。
+1. 找到要分配角色的成员。单击 **⋮ > 编辑配置**。
+1. 如果你添加了自定义角色,它们将显示在**自定义**中。选择要分配给成员的角色。
+1. 单击**保存**。
+
+**结果**:成员具有所分配的角色。
+
+### 项目角色
+
+_项目角色_ 是用于授予用户访问项目权限的角色。主要的项目角色分别是`所有者`、`成员`和`只读`。
+
+- **项目所有者:**
+
+ 可以完全控制项目及其中的所有资源。
+
+- **项目成员:**
+
+ 可以管理项目范围的资源,如命名空间和工作负载,但不能管理其他项目成员。
+
+:::note
+
+默认情况下,Rancher 的`项目成员`角色继承自 `Kubernetes-edit` 角色,而`项目所有者`角色继承自 `Kubernetes-admin` 角色。因此,`项目成员`和`项目所有者`角色都能管理命名空间,包括创建和删除命名空间。
+
+:::
+
+- **只读:**
+
+ 可以查看项目中的所有内容,但不能创建、更新或删除任何内容。
+
+:::danger
+
+如果用户分配到了项目的`所有者`或`成员`角色,用户会自动继承`命名空间创建`角色。然而,这个角色是 [Kubernetes ClusterRole](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#role-and-clusterrole),这表示角色的范围会延展到集群中的所有项目。因此,对于显式分配到了项目`所有者`或`成员`角色的用户来说,即使只有`只读`角色,这些用户也可以在分配给他们的其他项目中创建命名空间。
+
+:::
+
+#### 自定义项目角色
+
+Rancher 支持将 _自定义项目角色_ 分配给普通用户,而不是典型的`所有者`、`成员`或`只读`角色。这些角色可以是内置的自定义项目角色,也可以是 Rancher 管理员定义的角色。这些角色便于为项目内的普通用户定义更受限或特定的访问权限。有关内置自定义项目角色的列表,请参阅下表。
+
+#### 项目角色参考
+
+下表列出了 Rancher 中可用的内置自定义项目角色,以及这些角色是否由`所有者`,`成员`或`只读`角色授予的:
+
+| 内置项目角色 | 所有者 | 成员 | 只读 |
+| ---------------------------------- | ------------- | ----------------------------- | ------------- |
+| 管理项目成员 | ✓ | | |
+| 创建命名空间 | ✓ | ✓ | |
+| 管理配置映射 | ✓ | ✓ | |
+| 管理 Ingress | ✓ | ✓ | |
+| 管理项目应用商店 | ✓ | | |
+| 管理密文 | ✓ | ✓ | |
+| 管理 ServiceAccount | ✓ | ✓ | |
+| 管理服务 | ✓ | ✓ | |
+| 管理卷 | ✓ | ✓ | |
+| 管理工作负载 | ✓ | ✓ | |
+| 查看密文 | ✓ | ✓ | |
+| 查看配置图 | ✓ | ✓ | ✓ |
+| 查看 Ingress | ✓ | ✓ | ✓ |
+| 查看项目成员 | ✓ | ✓ | ✓ |
+| 查看项目应用商店 | ✓ | ✓ | ✓ |
+| 查看 ServiceAccount | ✓ | ✓ | ✓ |
+| 查看服务 | ✓ | ✓ | ✓ |
+| 查看卷 | ✓ | ✓ | ✓ |
+| 查看工作负载 | ✓ | ✓ | ✓ |
+
+:::note 注意事项:
+
+- 上面列出的每个项目角色(包括`所有者`、`成员`和`只读`)均由多个规则组成,这些规则授予对各种资源的访问权限。你可以在**全局 > 安全 > 角色**页面上查看角色及其规则。
+- 在查看 Rancher 创建的默认角色关联的资源时,如果在一行上有多个 Kubernetes API 资源,则该资源将带有 `(Custom)` 标识。这不代表这个资源是自定义资源,而只是表明多个 Kubernetes API 资源作为一个资源。
+- `管理项目成员`角色允许项目所有者管理项目的所有成员,**并**授予这些成员任何项目范围的角色(不论他们是否有权访问项目资源)。单独分配此角色时要小心。
+
+:::
+
+### 定义自定义角色
+如前所述,你可以定义自定义角色,并将这些角色用在集群或项目中。上下文字段定义了角色是否显示在集群成员页面、项目成员页面或同时显示在这两个页面。
+
+定义自定义角色时,你可以授予对特定资源的访问权限,或指定自定义角色应继承的角色。自定义角色可以由特定授权和继承角色组成。所有授权都是累加的。换言之,如果你为特定资源定义更受限的授权,自定义角色继承的角色中定义的更广泛的授权**不会**被覆盖。
+
+### 默认集群和项目角色
+
+默认情况下,在普通用户创建新集群或项目时,他们会自动分配到所有者的角色,即[集群所有者](#集群角色)或[项目所有者](#项目角色)。但是,在某些组织中,这些角色可能会被认为有过多的管理访问权限。在这种情况下,你可以将默认角色更改为更具限制性的角色,例如一组单独的角色或一个自定义角色。
+
+更改默认集群/项目角色有以下两种方法:
+
+- **分配自定义角色**:为你的[集群](#自定义集群角色)或[项目](#自定义项目角色)创建一个[自定义角色](custom-roles.md),然后将自定义角色设置为默认。
+
+- **分配单独的角色**:将多个[集群](#集群角色参考)/[项目](#项目角色参考)角色配置为默认角色,并分配给创建的用户。
+
+ 例如,你可以选择混合使用多个角色(例如`管理节点`和`管理存储`),而不是使用继承的角色(例如`集群所有者`)。
+
+:::note
+
+- 虽然你可以[锁定](locked-roles.md)一个默认角色,但系统仍会将这个角色分配给创建集群/项目的用户。
+- 只有创建集群/项目的用户才能继承他们的角色。对于之后添加为集群/项目成员的用户,你必须显式分配角色。
+
+:::
+
+### 为集群和项目创建者配置默认角色
+
+你可以更改为创建集群或项目的用户自动创建的角色:
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**角色**。
+1. 单击**集群**或**项目或命名空间**选项卡。
+1. 找到你要用作默认角色的自定义或单个角色。然后通过选择 **⋮ > 编辑配置**来编辑角色。
+1. 在**集群创建者的默认角色**或**项目创建者的默认角色**中,将角色启用为默认。
+1. 单击**保存**。
+
+**结果**:默认角色已根据你的更改配置。分配给集群/项目创建者的角色会在**集群创建者的默认角色/项目创建者的默认角色**列中勾选。
+
+如果要删除默认角色,请编辑权限,并在默认角色选项中选择**否**。
+
+### 撤销集群成员资格
+
+如果你撤销一个普通用户的集群成员资格,而且该用户已显式分配集群的集群 _和_ 项目的成员资格,该普通用户将[失去集群角色](#集群角色)但[保留项目角色](#项目角色)。换句话说,即使你已经撤销了用户访问集群和其中的节点的权限,但该普通用户仍然可以:
+
+- 访问他们拥有成员资格的项目。
+- 行使分配给他们的任何[单个项目角色](#项目角色参考)。
+
+如果你想完全撤销用户在集群中的访问权限,请同时撤销他们的集群和项目成员资格。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/custom-roles.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/custom-roles.md
new file mode 100644
index 00000000000..0ab8560983b
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/custom-roles.md
@@ -0,0 +1,120 @@
+---
+title: 自定义角色
+---
+
+在 Rancher 中,_角色_ 决定了用户可以在集群或项目中执行哪些操作。
+
+请注意,_角色_ 与 _权限_ 不同,权限决定的是你可以访问哪些集群和项目。
+
+:::danger
+
+自定义角色可以启用权限提升。有关详细信息,请参阅[本节](#权限提升)。
+
+:::
+
+
+## 先决条件
+
+要完成此页面上的任务,需要以下权限之一:
+
+- [管理员全局权限](global-permissions.md)。
+- 分配了[管理角色](global-permissions.md)的[自定义全局权限](global-permissions.md#自定义全局权限)。
+
+## 创建自定义角色
+
+虽然 Rancher 提供一组开箱即用的默认用户角色,但你还可以创建默认的自定义角色,从而在 Rancher 中为用户提供更精细的权限。
+
+添加自定义角色的步骤因 Rancher 的版本而异。
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**角色**。
+1. 选择一个选项卡来确定要添加的角色的范围。这些选项卡是:
+
+- **全局**:仅在允许成员管理全局范围的资源时,可以分配该角色。
+- **集群**:仅在向集群添加/管理成员时,可以分配该角色。
+- **项目或命名空间**:仅在向项目或命名空间添加/管理成员时,可以分配该角色。
+
+1. 根据所需要的范围,单击**创建全局角色**、**创建集群角色**或**创建项目或命名空间的角色**。
+1. 输入角色的**名称**。
+1. 可选:选择**集群创建者的默认角色/项目创建者的默认角色**选项,以将该角色分配给集群/项目创建者。使用此功能,你可以扩展或限制集群/项目创建者的默认角色。
+
+ > 开箱即用的**集群创建者的默认角色**和**项目创建者的默认角色**分别是`集群所有者`和`项目所有者`。
+
+1. 使用**授权资源**选项将各个 [Kubernetes API 端点](https://kubernetes.io/docs/reference/)分配给角色。
+
+ > 在查看 Rancher 创建的默认角色关联的资源时,如果在一行上有多个 Kubernetes API 资源,则该资源将带有 `(Custom)` 标识。这不代表这个资源是自定义资源,而只是表明多个 Kubernetes API 资源作为一个资源。
+
+ > **资源**文本字段可以用来搜索预定义的 Kubernetes API 资源,或者为授权输入自定义资源名称。在此字段中输入资源名称后,必须从下拉列表中选择预定义或`(自定义)`资源。
+
+ 你还可以选择每个分配的端点可用的 cURL 方法(`Create`、`Delete`、`Get` 等)。
+
+1. 使用 **Inherit from** 选项将各个 Rancher 角色分配给你的自定义角色。请注意,如果自定义角色从父角色继承,你需要先删除子角色才能删除父角色。
+
+1. 单击**创建**。
+
+## 创建从另一个角色继承的自定义角色
+
+如果你有一组需要在 Rancher 中具有相同访问权限的用户,一种节省时间的方法是创建一个新的自定义角色,而该角色的规则都是从另一个角色(例如管理员角色)复制而来的。这样,你只需要配置现有角色和新角色之间不同的部分。
+
+然后,你可以将自定义角色分配给用户或组。该角色在用户首次登录 Rancher 时生效。
+
+要基于现有角色创建自定义角色:
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**角色**。
+1. 单击**集群**或**项目或命名空间**选项卡。根据所需要的范围,单击**创建集群角色**或**创建项目或命名空间的角色**。请注意,只有集群角色和项目/命名空间角色可以从另一个角色继承。
+1. 输入角色的名称。
+1. 在 **Inherit From** 选项卡中,选择自定义角色需要从哪个角色继承权限。
+1. 在**授权资源**选项卡中,选择拥有自定义角色的用户要启用的 Kubernetes 资源操作。
+
+ > **资源**文本字段可以用来搜索预定义的 Kubernetes API 资源,或者为授权输入自定义资源名称。在此字段中输入资源名称后,必须从下拉列表中选择预定义或`(自定义)`资源。
+1. 可选:将角色设置为默认。
+1. 单击**创建**。
+
+## 删除自定义角色
+
+删除自定义角色时,具有此自定义角色的所有全局角色绑定(Global Role Bindings)都将被删除。
+
+如果某个用户仅分配了一个自定义全局角色,而且你删除了这个角色,该用户将不能再访问 Rancher。要让用户重新获得访问权限,管理员需要编辑用户并应用新的全局权限。
+
+自定义角色可以删除,但内置角色不能删除。
+
+要删除自定义角色:
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**角色**。
+2. 转到要删除的自定义全局角色,然后单击 **⋮ (…) > 删除**。
+3. 单击**删除**。
+
+## 为组分配自定义角色
+
+如果你有一组需要在 Rancher 中具有相同访问权限的用户,一种节省时间的方法是创建一个新的自定义角色。将角色分配给组时,组中的用户在首次登录 Rancher 时就会拥有配置的访问级别。
+
+组中的用户登录时,他们默认获得内置的**普通用户**全局角色。他们还将获得分配给他们的组的权限。
+
+如果将用户从外部身份验证系统的组中删除,用户将失去分配给该组的自定义全局角色的权限。但是,用户仍会拥有**普通用户**角色。
+
+:::note 先决条件:
+
+只有在以下情况下,你才能将全局角色分配给组:
+
+* 你已设置[外部身份验证提供程序](../../../../pages-for-subheaders/authentication-config.md#外部验证与本地验证)。
+* 外部身份验证提供程序支持[用户组](../../authentication-permissions-and-global-configuration/authentication-config/manage-users-and-groups.md)。
+* 你已使用身份验证提供程序设置了至少一个用户组。
+
+:::
+
+要将自定义角色分配给组,请执行以下步骤:
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**组**。
+1. 转到将分配自定义角色的组,然后单击 **⋮ > 编辑配置**。
+1. 如果你已创建角色,角色将显示在**自定义**中。选择要分配给组的自定义角色。
+1. 可选:在**全局权限**或**内置角色**中,选择要分配给该组的其他权限。
+1. 单击**保存**。
+
+**结果**:自定义角色将在组内用户登录 Rancher 时生效。
+
+## 权限提升
+
+`配置应用商店`这个自定义权限很强大,应谨慎使用。如果管理员将`配置应用商店`权限分配给普通用户,可能会导致权限提升。在这种情况下,用户可以让自己对 Rancher 配置的集群进行管理员访问。因此,拥有此权限的任何用户都应被视为管理员。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions.md
new file mode 100644
index 00000000000..3fb65c5d7e0
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions.md
@@ -0,0 +1,247 @@
+---
+title: 全局权限
+---
+
+_权限_ 是你在为用户选择自定义权限时可以分配的个人访问权限。
+
+全局权限定义用户在任何特定集群之外的授权。Rancher 提供四种开箱即用的默认全局权限:`Administrator` (管理员)、`Restricted Admin` (受限管理员)、`Standard User` (标准用户) 和 `User-Base` 用户。
+
+- **管理员**:可以完全控制整个 Rancher 系统和其中的所有集群。
+
+- **受限管理员**:可以完全控制下游集群,但不能更改本地 Kubernetes 集群。
+
+- **普通用户**:可以创建新集群并使用它们。普通用户还可以在自己的集群中向其他用户分配集群权限。
+
+- **User-Base 用户**:只有登录权限。
+
+你无法更新或删除内置的全局权限。
+
+## 受限管理员
+
+Rancher 2.5 创建了一个新的 `restricted-admin` 角色,以防止本地 Rancher Server Kubernetes 集群的权限提升。此角色对 Rancher 管理的所有下游集群具有完全管理员权限,但没有更改本地 Kubernetes 集群的权限。
+
+`restricted-admin` 可以创建其他具有同样访问权限的 `restricted-admin` 用户。
+
+Rancher 还增加了一个新设置,来将初始启动的管理员设置为 `restricted-admin` 角色。该设置适用于 Rancher Server 首次启动时创建的第一个用户。如果设置了这个环境变量,则不会创建全局管理员,也就无法通过 Rancher 创建全局管理员。
+
+要以 `restricted-admin` 作为初始用户来启动 Rancher,你需要使用以下环境变量来启动 Rancher Server:
+
+```
+CATTLE_RESTRICTED_DEFAULT_ADMIN=true
+```
+### `restricted-admin` 的权限列表
+
+下表列出了 `restricted-admin` 与 `Administrator` 和 `Standard User` 角色相比应具有的权限和操作:
+
+| 类别 | 操作 | 全局管理员 | 普通用户 | 受限管理员 | 受限管理员的注意事项 |
+| -------- | ------ | ------------ | ------------- | ---------------- | ------------------------------- |
+| 本地集群功能 | 管理本地集群(列出、编辑、导入主机) | 是 | 否 | 否 | |
+| | 创建项目/命名空间 | 是 | 否 | 否 | |
+| | 添加集群/项目成员 | 是 | 否 | 否 | |
+| | 全局 DNS | 是 | 否 | 否 | |
+| | 访问 CRD 和 CR 的管理集群 | 是 | 否 | 是 | |
+| | 另存为 RKE 模板 | 是 | 否 | 否 | |
+| 安全 | | | | | |
+| 启用身份验证 | 配置身份验证 | 是 | 否 | 是 | |
+| 角色 | 创建/分配 GlobalRoles | 是 | 否(可列出) | 是 | 认证 Webhook 允许为已经存在的权限创建 globalrole |
+| | 创建/分配 ClusterRoles | 是 | 否(可列出) | 是 | 不在本地集群中 |
+| | 创建/分配 ProjectRoles | 是 | 否(可列出) | 是 | 不在本地集群中 |
+| 用户 | 添加用户/编辑/删除/停用用户 | 是 | 否 | 是 | |
+| 组 | 将全局角色分配给组 | 是 | 否 | 是 | 在 Webhook 允许的范围内 |
+| | 刷新组 | 是 | 否 | 是 | |
+| PSP | 管理 PSP 模板 | 是 | 否(可列出) | 是 | 与 PSP 的全局管理员权限相同 |
+| 工具 | | | | | |
+| | 管理 RKE 模板 | 是 | 否 | 是 | |
+| | 管理全局应用商店 | 是 | 否 | 是 | 无法编辑/删除内置系统应用商店。可以管理 Helm 库 |
+| | 集群驱动 | 是 | 否 | 是 | |
+| | 主机驱动 | 是 | 否 | 是 | |
+| | GlobalDNS 提供商 | 是 | 是(自己) | 是 | |
+| | GlobalDNS 条目 | 是 | 是(自己) | 是 | |
+| 设置 | | | | | |
+| | 管理设置 | 是 | 否(可列出) | 否(可列出) | |
+| 用户 | | | | | |
+| | 管理 API 密钥 | 是(管理所有) | 是(管理自己的) | 是(管理自己的) | |
+| | 管理节点模板 | 是 | 是(管理自己的) | 是(管理自己的) | 只能管理自己的节点模板,不能管理其他用户创建的节点模板。 |
+| | 管理云凭证 | 是 | 是(管理自己的) | 是(管理自己的) | 只能管理自己的云凭证,不能管理其他用户创建的云凭证。 |
+| 下游集群 | 创建集群 | 是 | 是 | 是 | |
+| | 编辑集群 | 是 | 是 | 是 | |
+| | 轮换证书 | 是 | | 是 | |
+| | 立即创建快照 | 是 | | 是 | |
+| | 恢复快照 | 是 | | 是 | |
+| | 另存为 RKE 模板 | 是 | 否 | 是 | |
+| | 运行 CIS 扫描 | 是 | 是 | 是 | |
+| | 添加成员 | 是 | 是 | 是 | |
+| | 创建项目 | 是 | 是 | 是 | |
+| 自 2.5 起的功能 Chart | | | | | |
+| | 安装 Fleet | 是 | | 是 | 无法在本地集群中运行 Fleet |
+| | 部署 EKS 集群 | 是 | 是 | 是 | |
+| | 部署 GKE 集群 | 是 | 是 | 是 | |
+| | 部署 AKS 集群 | 是 | 是 | 是 | |
+
+
+### 将全局管理员更改为受限管理员
+
+如果 Rancher 已经有一个全局管理员,则应该将所有全局管理员更改为新的 `restricted-admin`。
+
+你可以前往**安全 > 用户**,并将所有管理员角色转为受限管理员。
+
+已登录的用户可以根据需要将自己更改为 `restricted-admin`,但这应该是他们的最后一步操作,否则他们将没有进行该操作的权限。
+
+## 分配全局权限
+
+本地用户的全局权限分配与使用外部身份验证登录 Rancher 的用户不同。
+
+### 新本地用户的全局权限
+
+在创建新本地用户时,请在填写**添加用户**表单时为他分配全局权限。
+
+如果需要查看新用户的默认权限:
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**角色**。
+1. **角色**页面有按范围分组的角色选项卡。每个表都列出了范围内的角色。在**全局**选项卡的**新用户的默认角色**列中,默认授予新用户的权限用复选标记表示。
+
+你可以[更改默认全局权限来满足你的需要](#配置默认全局权限)。
+
+### 使用外部身份验证程序的用户的全局权限
+
+当用户首次使用外部身份验证提供程序登录 Rancher 时,他们会自动分配到**新用户的默认角色**的全局权限。默认情况下,Rancher 为新用户分配 **Standard User** 权限。
+
+如果需要查看新用户的默认权限:
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**角色**。
+1. **角色**页面有按范围分组的角色选项卡。每个表都列出了范围内的角色。在每个页面的**新用户的默认角色**列中,默认授予新用户的权限用复选标记表示。
+
+你可以[更改默认权限来满足你的需要](#配置默认全局权限)。
+
+权限可以[分配](#为单个用户配置全局权限)给单个用户。
+
+如果外部身份验证提供程序支持组,你可以[同时为组中的每个成员分配角色](#为组配置全局权限)。
+
+## 自定义全局权限
+
+使用自定义权限可以为用户配置在 Rancher 中的更受限或指定的访问权限。
+
+当来自[外部身份验证系统](../../../../pages-for-subheaders/authentication-config.md)的用户首次登录 Rancher 时,他们会自动分配到一组全局权限(以下简称权限)。默认情况下,用户第一次登录后会被创建为用户,并分配到默认的`用户`权限。标准的`用户`权限允许用户登录和创建集群。
+
+但是,在某些组织中,这些权限可能会被认为权限过大。你可以为用户分配一组更具限制性的自定义全局权限,而不是为用户分配 `Administrator` 或 `Standard User` 的默认全局权限。
+
+默认角色(管理员和标准用户)都内置了多个全局权限。系统管理员角色包括所有全局权限,而默认用户角色包括三个全局权限,分别是创建集群,使用应用商店模板,和 User Base(登录 Rancher 的最低权限)。换句话说,自定义全局权限是模块化的,因此,如果你要更改默认用户角色权限,你可以选择需要包括在新的默认用户角色中的全局权限子集。
+
+管理员可以通过多种方式强制执行自定义全局权限:
+
+- [更改新用户的默认权限](#配置默认全局权限)
+- [为单个用户配置全局权限](#为单个用户配置全局权限)
+- [为组配置全局权限](#为组配置全局权限)
+
+### 自定义全局权限参考
+
+下表列出了每个可用的自定义全局权限,以及该权限是否包含在默认全局权限 `Administrator`、`Standard User` 和 `User-Base` 中:
+
+| 自定义全局权限 | 管理员 | 普通用户 | User-Base |
+| ---------------------------------- | ------------- | ------------- |-----------|
+| 创建集群 | ✓ | ✓ | |
+| 创建 RKE 模板 | ✓ | ✓ | |
+| 管理身份验证 | ✓ | | |
+| 管理应用商店 | ✓ | | |
+| 管理集群驱动 | ✓ | | |
+| 管理主机驱动 | ✓ | | |
+| 管理 PodSecurityPolicy 模板 | ✓ | | |
+| 管理角色 | ✓ | | |
+| 管理设置 | ✓ | | |
+| 管理用户 | ✓ | | |
+| 使用应用商店模板 | ✓ | ✓ | |
+| User-Base(基本登录访问) | ✓ | ✓ | |
+
+如果需要查看每个全局权限对应哪些 Kubernetes 资源:
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**角色**。
+1. 如果单击单个角色的名称,表格会显示该角色授权的所有操作和资源。
+
+:::note 注意事项:
+
+- 上面列出的每个权限都包含多个未在 Rancher UI 中列出的权限。如果需要获取完整权限列表以及组成权限的规则,请通过 `/v3/globalRoles` API 进行访问。
+- 在查看 Rancher 创建的默认角色关联的资源时,如果在一行上有多个 Kubernetes API 资源,则该资源将带有 `(Custom)` 标识。这不代表这个资源是自定义资源,而只是表明多个 Kubernetes API 资源作为一个资源。
+
+:::
+
+### 配置默认全局权限
+
+如果你想限制新用户的默认权限,你可以删除作为默认角色的`用户`权限,然后分配多个单独的权限作为默认权限。你也可以在一组其他标准权限之上添加管理权限。
+
+:::note
+
+默认角色仅分配给从外部身份验证提供程序添加的用户。对于本地用户,在将用户添加到 Rancher 时,必须显式分配全局权限。你可以在添加用户时自定义这些全局权限。
+
+:::
+
+要更改在外部用户首次登录时分配给他们的默认全局权限,请执行以下步骤:
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**角色**。在**角色**页面上,确保选择了**全局**选项卡。
+1. 查找要添加或删除的默认权限集。然后,通过选择 **⋮ > 编辑配置**来编辑权限。
+1. 如果要将权限添加为默认权限,请选择**是:新用户的默认角色**,然后单击**保存**。如果要删除默认权限,请编辑该权限并选择**否**。
+
+**结果**:默认全局权限已根据你的更改配置。分配给新用户的权限会在**新用户的默认角色**列中显示为复选标记。
+
+### 为单个用户配置全局权限
+
+要为单个用户配置权限:
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**用户**。
+1. 找到要更改访问级别的用户,然后单击 **⋮ > 编辑配置**。
+1. 在**全局权限**和**内置角色**部分中,选中你希望用户拥有的权限的复选框。如果你在**角色**页面创建了角色,这些角色将出现在**自定义**部分,你也可以选择这些角色。
+1. 单击**保存**。
+
+**结果**:用户的全局权限已更新。
+
+### 为组配置全局权限
+
+如果你有一组需要在 Rancher 中有相同访问权限的用户,你可以一次性将权限分配给整个组来节省时间。这样,组中的用户在第一次登录 Rancher 时能拥有相应级别的访问权限。
+
+将自定义全局角色分配给组后,该角色将在组中用户登录 Rancher 时分配给用户。
+
+对于现有用户,新权限将在用户退出 Rancher 并重新登录时,或当管理员[刷新用户组成员名单](#刷新用户组成员名单)时生效。
+
+对于新用户,新权限在用户首次登录 Rancher 时生效。除了**新用户的默认角色**全局权限外,来自该组的新用户还将获得自定义全局角色的权限。默认情况下,**新用户的默认角色**权限等同于 **Standard User** 全局角色,但默认权限可以[配置。](#配置默认全局权限)
+
+如果从外部身份验证提供程序组中删除用户,该用户将失去分配给该组的自定义全局角色的权限。他们将继续拥有分配给他们的所有剩余角色,这通常包括标记为**新用户的默认角色**的角色。Rancher 将在用户登出或管理员[刷新用户组成员名单](#刷新用户组成员名单)时删除与组关联的权限。
+
+:::note 先决条件:
+
+只有在以下情况下,你才能将全局角色分配给组:
+
+* 你已设置[外部身份验证提供程序](../../../../pages-for-subheaders/authentication-config.md#外部验证与本地验证)。
+* 外部身份验证提供程序支持[用户组](../authentication-config/manage-users-and-groups.md)。
+* 你已使用身份验证提供程序设置了至少一个用户组。
+
+:::
+
+要将自定义全局角色分配给组,请执行以下步骤:
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**组**。
+1. 转到你要分配自定义全局角色的组,然后单击 **⋮ > 编辑配置**。
+1. 在**全局权限**,**自定义**和/或**内置角色**部分中,选择该组应具有的权限。
+1. 单击**创建**。
+
+**结果**:自定义全局角色会在组内用户登录 Rancher 时生效。
+
+### 刷新用户组成员名单
+
+当管理员更新组的全局权限时,更改将在组成员退出 Rancher 并重新登录后生效。
+
+如果要让更改立即生效,管理员或集群所有者可以刷新用户组成员名单。
+
+如果用户已经从外部身份验证服务中的组中删除,管理员也可能需要刷新用户组成员名单。在这种情况下,刷新操作会让 Rancher 知道用户已从组中删除。
+
+要刷新用户组成员名单:
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**用户**。
+1. 单击**刷新用户组成员名单**。
+
+**结果**:对组成员权限的所有更改都会生效。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/locked-roles.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/locked-roles.md
new file mode 100644
index 00000000000..cb0ad71fa38
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/locked-roles.md
@@ -0,0 +1,38 @@
+---
+title: 锁定角色
+---
+
+你可以将角色设置为`锁定`状态。锁定角色可防止把这些角色分配给用户。
+
+处于锁定状态的角色具有如下特性:
+
+- 无法再分配给当下还没有被分配到该角色的用户。
+- 将用户添加到集群或项目时,不会在**成员角色**下拉列表中列出。
+- 不会影响在锁定该角色之前,已经分配了该角色的用户。即使后来锁定了该角色,这些用户仍然保留该角色提供的访问权限。
+
+ **示例**:假设你的组织制定了一个内部策略,禁止把创建项目的权限分配给集群用户。这时候你需要执行这个策略。
+
+ 因此,在将新用户添加到集群之前,你需要锁定以下角色:`集群所有者`,`集群成员`和`创建项目`。然后,创建一个新的自定义角色,该角色的权限与`集群成员`相同,但没有创建项目的权限。然后,在将用户添加到集群时使用这个新的自定义角色。
+
+以下用户可以锁定角色:
+
+- 任何分配了`管理员`全局权限的用户。
+- 任何分配了带有`管理角色`权限的`自定义用户`。
+
+
+## 锁定/解锁角色
+
+如果要防止将角色分配给用户,可以将其设置为`锁定`状态。
+
+你可以在两种情况下锁定角色:
+
+- [添加自定义角色](custom-roles.md)时。
+- 编辑现有角色时(见下文)。
+
+集群角色和项目/命名空间角色可以锁定,而全局角色不能锁定。
+
+1. 在左上角,单击 **☰ > 用户 & 认证**。
+1. 在左侧导航栏中,单击**角色**。
+1. 转到**集群**选项卡或**项目或命名空间**选项卡。
+1. 找到要锁定(或解锁)的角色,选择 **⋮ > 编辑配置**。
+1. 从**锁定**选项中,选择**是** 或**否**。然后点击**保存**。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/pod-security-standards.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/pod-security-standards.md
new file mode 100644
index 00000000000..1f56b62762f
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/pod-security-standards.md
@@ -0,0 +1,126 @@
+---
+title: Pod 安全标准 (PSS) 和 Pod 安全准入 (PSA)
+---
+
+[Pod 安全标准 (PSS)](https://kubernetes.io/docs/concepts/security/pod-security-standards/) 和 [Pod 安全准入 (PSA)](https://kubernetes.io/docs/concepts/security/pod-security-admission/) 为大量工作负载定义了安全限制。
+它们在 Kubernetes v1.23 中可用并默认打开,并在 Kubernetes v1.25 及更高版本中替换了 [Pod Security Policies (PSP)](https://kubernetes.io/docs/concepts/security/pod-security-policy/)。
+
+PSS 定义了工作负载的安全级别。PSA 描述了 Pod 安全上下文和相关字段的要求。PSA 参考 PSS 级别来定义安全限制。
+
+## 升级到 Pod 安全标准 (PSS)
+
+确保将所有 PSP 都迁移到了另一个工作负载安全机制,包括将你当前的 PSP 映射到 Pod 安全标准,以便使用 [PSA 控制器](https://kubernetes.io/docs/concepts/security/pod-security-admission/)执行。如果 PSA 控制器不能满足企业的所有需求,建议你使用策略引擎,例如 [OPA Gatekeeper](https://github.com/open-policy-agent/gatekeeper)、[Kubewarden](https://www.kubewarden.io/)、[Kyverno](https://kyverno.io/) 或 [NeuVector](https://neuvector.com/)。有关如何迁移 PSP 的更多信息,请参阅你选择的策略引擎的文档。
+
+:::caution
+必须在删除 PodSecurityPolicy 对象_之前_添加新的策略执行机制。否则,你可能会为集群内的特权升级攻击创造机会。
+:::
+
+### 从 Rancher 维护的应用程序和市场工作负载中删除 PodSecurityPolicies {#remove-psp-rancher-workloads}
+
+Rancher v2.7.2 提供了 Rancher 维护的 Helm Chart 的新主要版本。v102.x.y 允许你删除与以前的 Chart 版本一起安装的 PSP。这个新版本使用标准化的 `global.cattle.psp.enabled` 开关(默认关闭)替换了非标准的 PSP 开关。
+
+你必须在_仍使用 Kubernetes v1.24_ 时执行以下步骤:
+1. 根据需要配置 PSA 控制器。你可以使用 Rancher 的内置 [PSA 配置模板](#psa-config-templates),或创建自定义模板并将其应用于正在迁移的集群。
+
+1. 将活动的 PSP 映射到 Pod 安全标准:
+ 1. 查看集群中哪些 PSP 仍处于活动状态:
+ :::caution
+ 此策略可能会错过当前未运行的工作负载,例如 CronJobs、当前缩放为零的工作负载或尚未推出的工作负载。
+ :::
+
+ ```shell
+ kubectl get pods \
+ --all-namespaces \
+ --output jsonpath='{.items[*].metadata.annotations.kubernetes\.io\/psp}' \
+ | tr " " "\n" | sort -u
+ ```
+
+ 1. 按照[将 PSP 映射到 Pod 安全标准](https://kubernetes.io/docs/reference/access-authn-authz/psp-to-pod-security-standards/)的 Kubernetes 指南将 PSS 应用于依赖 PSP 的工作负载。有关详细信息,请参阅[从 PodSecurityPolicy 迁移到内置 PodSecurity Admission 控制器](https://kubernetes.io/docs/tasks/configure-pod-container/migrate-from-psp/)。
+
+1. 要从 Rancher Chart 中删除 PSP,请在升级到 Kubernetes v1.25 _之前_将 Chart 升级到最新的 v102.x.y 版本。确保 **Enable PodSecurityPolicies** 选项**已禁用**。这将删除与以前的 Chart 版本一起安装的所有 PSP。
+
+:::info 重要提示
+如果你想将 Chart 升级到 v102.x.y,但不打算将集群升级到 Kubernetes v1.25 和弃用 PSP,请确保为每个要升级的 Chart 选择 **Enable PodSecurityPolicies** 选项。
+:::
+
+### 在 Kubernetes v1.25 升级后清理版本
+
+如果你在删除 Chart 的 PSP 时遇到问题,或者 Chart 不包含用于删除 PSP 的内置机制,Chart 升级或删除可能会失败并显示如下错误消息:
+```console
+Error: UPGRADE FAILED: resource mapping not found for name: "" namespace: "" from "": no matches for kind "PodSecurityPolicy" in version "policy/v1beta1"
+ensure CRDs are installed first
+```
+
+Helm 尝试在集群中查询存储在先前版本的数据 blob 中的对象时,就会发生这种情况。要清理这些版本并避免此错误,请使用 `helm-mapkubeapis` Helm 插件。要详细了解 `helm-mapkubeapis`、它的工作原理以及如何针对你的用例进行微调,请参阅 [Helm 官方文档](https://github.com/helm/helm-mapkubeapis#readme)。
+
+请注意,Helm 插件安装在你运行命令的机器本地。因此,请确保从同一台机器运行安装和清理。
+
+#### 安装 `helm-mapkubeapis`
+
+1. 在打算使用 `helm-mapkubeapis` 的机器上打开你的终端并安装插件:
+ ```shell
+ helm plugin install https://github.com/helm/helm-mapkubeapis
+ ```
+
+ 你将看到类似于以下的输出:
+ ```console
+ Downloading and installing helm-mapkubeapis v0.4.1 ...
+ https://github.com/helm/helm-mapkubeapis/releases/download/v0.4.1/helm-mapkubeapis_0.4.1_darwin_amd64.tar.gz
+ Installed plugin: mapkubeapis
+ ```
+
+ :::info 重要提示
+ 确保 `helm-mapkubeapis` 插件至少为 v0.4.1,因为旧版本_不_支持资源删除。
+ :::
+
+1. 验证插件是否已正确安装:
+ ```shell
+ helm mapkubeapis --help
+ ```
+
+ 你将看到类似于以下的输出:
+ ```console
+ Map release deprecated or removed Kubernetes APIs in-place
+
+ Usage:
+ mapkubeapis [flags] RELEASE
+
+ Flags:
+ --dry-run simulate a command
+ -h, --help help for mapkubeapis
+ --kube-context string name of the kubeconfig context to use
+ --kubeconfig string path to the kubeconfig file
+ --mapfile string path to the API mapping file
+ --namespace string namespace scope of the release
+ ```
+
+#### 清理损坏的版本
+
+安装 `helm-mapkubeapis` 插件后,清理升级到 Kubernetes v1.25 后损坏的版本。
+
+1. 打开你的首选终端并通过运行 `kubectl cluster-info` 确保终端已连接到所需集群。
+
+1. 运行 `helm list --all-namespaces` 列出你在集群中安装的所有版本。
+
+1. 通过运行 `helm mapkubeapis --dry-run --namespace ` 为要清理的每个版本执行试运行。你可以通过此命令的结果了解要替换或删除哪些资源。
+
+1. 最后,在查看更改后,使用 `helm mapkubeapis --namespace ` 执行完整运行。
+
+#### 将 Chart 升级到支持 Kubernetes v1.25 的版本
+
+清理了具有 PSP 的所有版本后,你就可以继续升级了。对于 Rancher 维护的工作负载,请按照本文档[从 Rancher 维护的应用程序和市场工作负载中删除 PodSecurityPolicies](#remove-psp-rancher-workloads) 部分中的步骤进行操作。
+如果工作负载不是由 Rancher 维护的,请参阅对应的提供商的文档。
+
+:::caution
+不要跳过此步骤。与 Kubernetes v1.25 不兼容的应用程序不能保证在清理后正常工作。
+:::
+
+## Pod 安全准入配置模板 {#psa-config-templates}
+
+Rancher 提供了 PSA 配置模板。它们是可以应用到集群的预定义安全配置。Rancher 管理员(或具有权限的人员)可以[创建、管理和编辑](./psa-config-templates.md) PSA 模板。
+
+### 受 PSA 限制的集群上的 Rancher
+
+Rancher system 命名空间也受到 PSA 模板描述的限制性安全策略的影响。你需要在分配模板后豁免 Rancher 的 system 命名空间,否则集群将无法正常运行。有关详细信息,请参阅 [Pod 安全准入 (PSA) 配置模板](./psa-config-templates.md#豁免必须的-rancher-命名空间)。
+
+有关运行 Rancher 所需的所有豁免的完整文件,请参阅此[准入配置示例](../../../reference-guides/rancher-security/psa-restricted-exemptions.md)。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/psa-config-templates.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/psa-config-templates.md
new file mode 100644
index 00000000000..c3b4d6252f4
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/psa-config-templates.md
@@ -0,0 +1,138 @@
+---
+title: Pod 安全准入 (PSA) 配置模板
+---
+
+[Pod Security admission (PSA)](./pod-security-standards.md) 配置模板是 Rancher 自定义资源 (CRD),在 Rancher v2.7.2 及更高版本中可用。这些模板提供了可应用于集群的预定义安全配置:
+
+- `rancher-privileged`:最宽松的配置。它不限制任何 Pod 行为,允许已知的权限升级。该策略没有豁免。
+- `rancher-restricted`:严格限制的配置,遵循当前加固 pod 的最佳实践。你必须对 Rancher 组件进行[命名空间级别豁免](./pod-security-standards.md#受-psa-限制的集群上的-rancher)。
+
+## 分配 Pod 安全准入 (PSA) 配置模板
+
+你可以在创建下游集群的同时分配 PSA 模板。你还可以通过配置现有集群来添加模板。
+
+### 在集群创建期间分配模板
+
+
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,单击**创建**按钮。
+1. 选择提供商。
+1. 在**集群: 创建**页面上,转到**基本信息 > 安全**。
+1. 在 **PSA 配置模板**下拉菜单中,选择要分配的模板。
+1. 单击**创建**。
+
+### 将模板分配给现有集群
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**表中找到要更新的集群,点击 **⋮**。
+1. 选择**编辑配置**。
+1. 在 **PSA 配置模板**下拉菜单中,选择要分配的模板。
+1. 单击**保存**。
+
+### 加固集群
+
+如果选择 **rancher-restricted** 模板但不选择 **CIS 配置文件**,你将无法满足 CIS Benchmark。有关详细信息,请参阅 [RKE2 加固指南](../../../pages-for-subheaders/rke2-hardening-guide.md)。
+
+
+
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,单击**创建**按钮。
+1. 选择提供商。
+1. 在**添加集群**页面上的**集群选项**下,单击 **高级选项**。
+1. 在 **PSA 配置模板**下拉菜单中,选择要分配的模板。
+1. 单击**创建**。
+
+### 将模板分配给现有集群
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**表中找到要更新的集群,点击 **⋮**。
+1. 选择**编辑配置**。
+1. 在**编辑集群**页面上,转到**集群选项 > 高级选项**。
+1. 在 **PSA 配置模板**中,选择要分配的模板。
+1. 单击**保存**。
+
+
+
+
+## 添加或编辑 Pod 安全准入 (PSA) 配置模板
+
+如果你拥有管理员权限,则可以通过创建其他 PSA 模板或编辑现有模板来自定义安全限制和权限。
+
+:::caution
+如果编辑使用中的现有 PSA 模板,更改将应用于已分配给该模板的所有集群。
+:::
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 点击**高级选项**打开下拉菜单。
+1. 选择 **Pod 安全准入**。
+1. 找到要修改的模板,点击 **⋮**。
+1. 选择**编辑配置**来编辑模板。
+1. 完成配置编辑后,单击**保存**。
+
+### 允许非管理员用户管理 PSA 模板
+
+如果你想允许其他用户管理模板,你可以将该用户绑定到一个角色,并为该角色授予 `management.cattle.io/podsecurityadmissionconfigurationtemplates` 上的所有操作 (`"*"`)。
+
+:::caution
+绑定到上述权限的用户都能够更改使用该 PSA 模板的_所有_托管集群的限制级别,包括用户没有权限的集群。
+:::
+
+## 豁免必须的 Rancher 命名空间
+
+在默认执行限制性安全策略的 Kubernetes 集群上运行 Rancher 时,你需要[豁免以下命名空间](#豁免命名空间),否则该策略可能会阻止 Rancher system pod 正常运行。
+
+- `calico-apiserver`
+- `calico-system`
+- `cattle-alerting`
+- `cattle-csp-adapter-system`
+- `cattle-epinio-system`
+- `cattle-externalip-system`
+- `cattle-fleet-local-system`
+- `cattle-fleet-system`
+- `cattle-gatekeeper-system`
+- `cattle-global-data`
+- `cattle-global-nt`
+- `cattle-impersonation-system`
+- `cattle-istio`
+- `cattle-istio-system`
+- `cattle-logging`
+- `cattle-logging-system`
+- `cattle-monitoring-system`
+- `cattle-neuvector-system`
+- `cattle-prometheus`
+- `cattle-sriov-system`
+- `cattle-system`
+- `cattle-ui-plugin-system`
+- `cattle-windows-gmsa-system`
+- `cert-manager`
+- `cis-operator-system`
+- `fleet-default`
+- `ingress-nginx`
+- `istio-system`
+- `kube-node-lease`
+- `kube-public`
+- `kube-system`
+- `longhorn-system`
+- `rancher-alerting-drivers`
+- `security-scan`
+- `tigera-operator`
+
+Rancher、Rancher 拥有的一些 Chart 以及 RKE2 和 K3s 发行版都使用这些命名空间。列出的命名空间的一个子集已经在内置的 Rancher `rancher-restricted` 策略中被豁免,用于下游集群。有关运行 Rancher 所需的所有豁免的完整模板,请参阅此[准入配置示例](../../../reference-guides/rancher-security/psa-restricted-exemptions.md)。
+
+## 豁免命名空间
+
+如果你将 `rancher-restricted` 模板分配给集群,默认情况下,限制会在命名空间级别应用于整个集群。要在此高度受限的策略下豁免特定的命名空间,执行以下操作:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 点击**高级选项**打开下拉菜单。
+1. 选择 **Pod 安全准入**。
+1. 找到要修改的模板,点击 **⋮**。
+1. 选择**编辑配置**。
+1. 选中**豁免**下的**命名空间**复选框以编辑**命名空间**字段。
+1. 豁免命名空间后,单击**保存**。
+
+:::note
+你需要更新目标集群才能让新模板在集群中生效。要触发更新,在不更改值的情况下编辑和保存集群。
+:::
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-docker-installed-rancher.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-docker-installed-rancher.md
new file mode 100644
index 00000000000..51b24396cbd
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-docker-installed-rancher.md
@@ -0,0 +1,74 @@
+---
+title: 备份 Docker 安装的 Rancher
+---
+
+成功使用 Docker 安装 Rancher 后,我们建议你定期创建备份。最近创建的备份能让你在意外灾难发生后快速进行恢复。
+
+## 在你开始前
+
+在创建备份的过程中,你将输入一系列命令。请使用环境中的数据替换占位符。占位符用尖括号和大写字母(如 ``)表示。以下是带有占位符的命令示例:
+
+```
+docker run --name busybox-backup- --volumes-from rancher-data- -v $PWD:/backup busybox tar pzcvf /backup/rancher-data-backup--.tar.gz /var/lib/rancher
+```
+
+在该命令中,`` 是数据容器和备份创建日期的占位符(例如,`9-27-18`)。
+
+请交叉参考下方的图片和表格,了解获取此占位符数据的方法。在开始[以下步骤](#创建备份)之前,请记下或复制这些信息。
+
+终端 docker ps 命令,显示如何找到 <RANCHER_CONTAINER_TAG> 和 <RANCHER_CONTAINER_NAME>
+
+
+
+| 占位符 | 示例 | 描述 |
+| -------------------------- | -------------------------- | --------------------------------------------------------- |
+| `` | `v2.0.5` | 首次安装拉取的 rancher/rancher 镜像。 |
+| `` | `festive_mestorf` | 你的 Rancher 容器的名称。 |
+| `` | `v2.0.5` | 你为其创建备份的 Rancher 版本。 |
+| `` | `9-27-18` | 数据容器或备份的创建日期。 |
+
+
+可以通过远程连接登录到 Rancher Server 所在的主机并输入命令 `docker ps` 以查看正在运行的容器,从而获得 `` 和 ``。你还可以运行 `docker ps -a` 命令查看停止了的容器。在创建备份期间,你随时可以运行这些命令来获得帮助。
+
+## 创建备份
+
+此步骤将创建一个备份文件。如果 Rancher 遇到灾难情况,你可以使用该备份文件进行还原。
+
+
+1. 使用远程终端连接,登录到运行 Rancher Server 的节点。
+
+1. 停止当前运行 Rancher Server 的容器。将 `` 替换为你的 Rancher 容器的名称:
+
+ ```
+ docker stop
+ ```
+1. 运行以下命令,从刚才停止的 Rancher 容器创建一个数据容器。请替换命令中的占位符:
+
+ ```
+ docker create --volumes-from --name rancher-data- rancher/rancher:
+ ```
+
+1. 从你刚刚创建的数据容器(rancher-data-<DATE>)中,创建一个备份 tar 包(rancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz)。替换占位符来运行以下命令:
+
+ ```
+ docker run --name busybox-backup- --volumes-from rancher-data- -v $PWD:/backup:z busybox tar pzcvf /backup/rancher-data-backup--.tar.gz /var/lib/rancher
+ ```
+
+ **步骤结果**:屏幕上将运行命令流。
+
+1. 输入 `ls` 命令,确认备份压缩包已创建成功。压缩包的名称格式类似 `rancher-data-backup--.tar.gz`。
+
+1. 将备份压缩包移动到 Rancher Server 外的安全位置。然后从 Rancher Server 中删除 `rancher-data-` 和 `busybox-backup-` 容器。
+
+ ```
+ docker rm rancher-data-
+ docker rm busybox-backup-
+ ```
+
+1. 重启 Rancher Server。将 `` 替换为 Rancher 容器的名称:
+
+ ```
+ docker start
+ ```
+
+**结果**:创建了 Rancher Server 数据的备份压缩包。如果你需要恢复备份数据,请参见[恢复备份:Docker 安装](restore-docker-installed-rancher.md)。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-rancher-launched-kubernetes-clusters.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-rancher-launched-kubernetes-clusters.md
new file mode 100644
index 00000000000..3ba17f6ed64
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-rancher-launched-kubernetes-clusters.md
@@ -0,0 +1,307 @@
+---
+title: 备份集群
+---
+
+在 Rancher UI 中,你可以轻松备份和恢复 [Rancher 启动的 Kubernetes 集群](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)的 etcd。
+
+Rancher 建议为所有生产集群配置定期 `etcd` 快照。此外,你还可以创建单次快照。
+
+etcd 数据库的快照会保存在 [etcd 节点](#本地备份目标)或 [S3 兼容目标](#s3-备份目标)上。配置 S3 的好处是,如果所有 etcd 节点都丢失了,你的快照会保存到远端并能用于恢复集群。
+
+## 快照工作原理
+
+### 快照组件
+
+
+
+
+Rancher 创建快照时,快照里包括三个组件:
+
+- etcd 中的集群数据
+- Kubernetes 版本
+- `cluster.yml` 形式的集群配置
+
+由于 Kubernetes 版本现在包含在快照中,因此你可以将集群恢复到原本的 Kubernetes 版本。
+
+
+
+
+Rancher 将快照创建任务委托给下游 Kubernetes 引擎。Kubernetes 引擎创建快照时包括了三个组件:
+
+- etcd 中的集群数据
+- Kubernetes 版本
+- 集群配置
+
+由于 Kubernetes 版本包含在快照中,因此你可以将集群还原到之前的 Kubernetes 版本,同时还原 etcd 快照。
+
+
+
+
+如果你需要使用快照恢复集群,快照的多个组件允许你选择:
+
+- **仅恢复 etcd 内容**:类似于在 Rancher v2.4.0 之前版本中的使用快照恢复。
+- **恢复 etcd 和 Kubernetes 版本**:如果 Kubernetes 升级导致集群失败,并且你没有更改任何集群配置,则应使用此选项。
+- **恢复 etcd、Kubernetes 版本和集群配置**:如果你在升级时同时更改了 Kubernetes 版本和集群配置,则应使用此选项。
+
+建议你在执行配置更改或升级之前创建新快照。
+
+
+### 从 etcd 节点生成快照
+
+
+
+
+集群中的每个 etcd 节点都会检查 etcd 集群的健康状况。如果节点报告 etcd 集群是健康的,则会从中创建一个快照,并可选择上传到 S3。
+
+快照存储在 `/opt/rke/etcd-snapshots` 中。如果该目录在节点上配置为共享挂载,它将被覆盖。由于所有 etcd 节点都会上传快照并保留最后一个,因此 S3 上始终会保留最后一个上传的节点的快照。
+
+在存在多个 etcd 节点的情况下,任何快照都是在集群健康检查通过后创建的,因此这些快照可以认为是 etcd 集群中数据的有效快照。
+
+
+
+
+快照是默认启动的。
+
+快照目录默认为 `/var/lib/rancher//server/db/snapshots`,其中 `` 可以是 `rke2` 或 `k3s`。
+
+在 RKE2 中,快照会存储在每个 etcd 节点上。如果你有多个 etcd 或 etcd + control plane 节点,你将拥有本地 etcd 快照的多个副本。
+
+
+
+
+### 快照命名规则
+
+
+
+
+快照的名称是自动生成的。在使用 RKE CLI 创建一次性快照时,你可以使用 `--name` 选项来指定快照的名称。
+
+Rancher 在创建 RKE 集群的快照时,快照名称是基于快照创建类型(手动快照或定期快照)和目标(快照是保存在本地还是上传到 S3)决定的。命名规则如下:
+
+- `m` 代表手动
+- `r` 代表定期
+- `l` 代表本地
+- `s` 代表 S3
+
+快照名称示例如下:
+
+- c-9dmxz-rl-8b2cx
+- c-9dmxz-ml-kr56m
+- c-9dmxz-ms-t6bjb
+- c-9dmxz-rs-8gxc8
+
+
+
+
+快照的名称是自动生成的。使用 RKE2 或 K3s CLI 创建一次性快照时,`--name` 选项可用于覆盖快照的基本名称。
+
+Rancher 在创建 RKE2 或 K3s 集群的快照时,快照名称是基于快照创建类型(手动快照或定期快照)和目标(快照是保存在本地还是上传到 S3)决定的。命名规则如下:
+
+`--`
+
+``:`--name` 设置的基本名称,可以是以下之一:
+
+- `etcd-snapshot`:位于定期快照前面
+- `on-demand`:位于手动按需快照之前
+
+``:创建快照的节点的名称。
+
+``:快照创建日期的 unix 时间戳。
+
+快照名称示例如下:
+
+- `on-demand-my-super-rancher-k8s-node1-1652288934`
+- `on-demand-my-super-rancher-k8s-node2-1652288936`
+- `etcd-snapshot-my-super-rancher-k8s-node1-1652289945`
+- `etcd-snapshot-my-super-rancher-k8s-node2-1652289948`
+
+
+
+
+### 从快照恢复的工作原理
+
+
+
+
+在恢复时会发生以下过程:
+
+1. 如果配置了 S3,则从 S3 检索快照。
+2. 如果快照压缩了,则将快照解压缩。
+3. 集群中的一个 etcd 节点会将该快照文件提供给其他节点。
+4. 其他 etcd 节点会下载快照并验证校验和,以便都能使用相同的快照进行恢复。
+5. 集群已恢复,恢复后的操作将在集群中完成。
+
+
+
+
+在还原时,Rancher 会提供几组执行还原的计划。期间将包括以下阶段:
+
+- Started
+- Shutdown
+- Restore
+- RestartCluster
+- Finished
+
+如果 etcd 快照还原失败,阶段将设置为 `Failed`。
+
+1. 收到 etcd 快照还原请求后,根据 `restoreRKEConfig` 协调集群配置和 Kubernetes 版本。
+1. 该阶段设置为 `Started`。
+1. 该阶段设置为 `Shutdown`,并使用运行 `killall.sh` 脚本的计划来关闭整个集群。一个新的初始节点会被选举出来。如果还原的快照是本地快照,则选择该快照所在的节点作为初始节点。如果使用 S3 还原快照,将使用现有的初始节点。
+1. 该阶段设置为 `Restore`,并且快照将还原到初始节点上。
+1. 该阶段设置为 `RestartCluster`,集群将重启并重新加入到具有新还原的快照信息的新初始节点。
+1. 该阶段设置为 `Finished`,集群被视为已成功还原。`cattle-cluster-agent` 将重新连接,集群将完成协调。
+
+
+
+
+## 配置定期快照
+
+
+
+
+选择创建定期快照的频率以及要保留的快照数量。时间的单位是小时。用户可以使用时间戳快照进行时间点恢复。
+
+默认情况下,[Rancher 启动的 Kubernetes 集群](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)会配置为创建定期快照(保存到本地磁盘)。为防止本地磁盘故障,建议使用 [S3 目标](#s3-备份目标)或复制磁盘上的路径。
+
+在集群配置或编辑集群期间,可以在**集群选项**的高级部分中找到快照的配置。点击**显示高级选项**。
+
+在集群的**高级选项**中可以配置以下选项:
+
+| 选项 | 描述 | 默认值 |
+| --- | ---| --- |
+| etcd 快照备份目标 | 选择要保存快照的位置。可以是本地或 S3 | 本地 |
+| 启用定期 etcd 快照 | 启用/禁用定期快照 | 是 |
+| 定期 etcd 快照的创建周期 | 定期快照之间的间隔(以小时为单位) | 12 小时 |
+| 定期 etcd 快照的保留数量 | 要保留的快照数量 | 6 |
+
+
+
+
+设置创建定期快照的方式以及要保留的快照数量。该计划采用传统的 Cron 格式。保留策略规定了在每个节点上要保留的匹配名称的快照数量。
+
+默认情况下,[Rancher 启动的 Kubernetes 集群](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)从凌晨 12 点开始每 5 小时创建一次定期快照(保存到本地磁盘)。为了防止本地磁盘故障,建议使用 [S3 目标](#s3-备份目标)或复制磁盘上的路径。
+
+在集群配置或编辑集群期间,你可以在**集群配置**下找到快照配置。单击 **etcd**。
+
+| 选项 | 描述 | 默认值 |
+| --- | ---| --- |
+| 启用定期 etcd 快照 | 启用/禁用定期快照 | 是 |
+| 定期 etcd 快照的创建周期 | 定期快照的 Cron 计划 | `0 */5 * * *` |
+| 定期 etcd 快照的保留数量 | 要保留的快照数量 | 5 |
+
+
+
+
+## 单次快照
+
+
+
+
+除了定期快照之外,你可能还想创建“一次性”快照。例如,在升级集群的 Kubernetes 版本之前,最好备份集群的状态以防止升级失败。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,导航到要在其中创建一次性快照的集群。
+1. 单击 **⋮ > 拍摄快照**。
+
+
+
+
+除了定期快照之外,你可能还想创建“一次性”快照。例如,在升级集群的 Kubernetes 版本之前,最好备份集群的状态以防止升级失败。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,导航到要在其中创建一次性快照的集群。
+1. 导航至`快照`选项卡,然后单击`立即创建快照`
+
+### 创建一次性快照的工作原理
+
+在创建一次性快照时,Rancher 会传递几组计划来执行快照创建。期间将包括以下阶段:
+
+- Started
+- RestartCluster
+- Finished
+
+如果 etcd 快照创建失败,阶段将设置为 `Failed`。
+
+1. 收到 etcd 快照创建请求。
+1. 该阶段设置为 `Started`。集群中的所有 etcd 节点都会根据集群配置收到创建 etcd 快照的计划。
+1. 该阶段设置为 `RestartCluster`,并且每个 etcd 节点上的计划都将重置为 etcd 节点的原始计划。
+1. 该阶段设置为 `Finished`。
+
+
+
+
+**结果**:根据你的[快照备份目标](#快照备份目标)创建一次性快照,并将其保存在选定的备份目标中。
+
+## 快照备份目标
+
+Rancher 支持两种不同的备份目标:
+
+- [本地目标](#本地备份目标)
+- [S3 目标](#s3-备份目标)
+
+### 本地备份目标
+
+
+
+
+默认情况下会选择 `local` 备份目标。此选项的好处是不需要进行外部配置。快照会在本地自动保存到 [Rancher 启动的 Kubernetes 集群](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)中 etcd 节点的 `/opt/rke/etcd-snapshots` 中。所有定期快照都是按照配置的时间间隔创建的。使用 `local` 备份目标的缺点是,如果发生全面灾难并且丢失 _所有_ etcd 节点时,则无法恢复集群。
+
+
+
+
+默认情况下会选择 `local` 备份目标。此选项的好处是不需要进行外部配置。快照会自动保存到 [Rancher 启动的 Kubernetes 集群](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)中的本地 etcd 节点上的 `/var/lib/rancher//server/db/snapshots` 中,其中 `` 可以是 `k3s` 或 `rke2`。所有定期快照均按照 Cron 计划进行。使用 `local` 备份目标的缺点是,如果发生全面灾难并且丢失 _所有_ etcd 节点时,则无法恢复集群。
+
+
+
+
+### S3 备份目标
+
+我们建议你使用 `S3` 备份目标。你可以将快照存储在外部 S3 兼容的后端上。由于快照不存储在本地,因此即使丢失所有 etcd 节点,你仍然可以还原集群。
+
+虽然 `S3` 比本地备份具有优势,但它需要额外的配置。
+
+:::caution
+
+如果你使用 S3 备份目标,请确保每个集群都有自己的存储桶或文件夹。Rancher 将使用集群配置的 S3 存储桶或文件夹中的可用快照来填充快照信息。
+
+:::
+
+| 选项 | 描述 | 必填 |
+|---|---|---|
+| S3 存储桶名称 | 用于存储备份的 S3 存储桶名称 | * |
+| S3 区域 | 备份存储桶的 S3 区域 | |
+| S3 区域端点 | 备份存储桶的 S3 区域端点 | * |
+| S3 访问密钥 | 有权访问备份存储桶的 S3 访问密钥 | * |
+| S3 密文密钥 | 有权访问备份存储桶的 S3 密文密钥 | * |
+| 自定义 CA 证书 | 用于访问私有 S3 后端的自定义证书 |
+
+### 为 S3 使用自定义 CA 证书
+
+备份快照可以存储在自定义 `S3` 备份中,例如 [minio](https://min.io/)。如果 S3 后端使用自签名或自定义证书,请使用`自定义 CA 证书`选项来提供自定义证书,从而连接到 S3 后端。
+
+### 在 S3 中存储快照的 IAM 支持
+
+除了使用 API 凭证之外,`S3` 备份目标还支持对 AWS API 使用 IAM 身份验证。IAM 角色会授予应用在对 S3 存储进行 API 调用时的临时权限。要使用 IAM 身份验证,必须满足以下要求:
+
+- 集群 etcd 节点必须具有实例角色,该角色具有对指定备份存储桶的读/写访问权限。
+- 集群 etcd 节点必须对指定的 S3 端点具有网络访问权限。
+- Rancher Server worker 节点必须具有实例角色,该实例角色具有对指定备份存储桶的读/写访问权限。
+- Rancher Server worker 节点必须对指定的 S3 端点具有网络访问权限。
+
+要授予应用对 S3 的访问权限,请参阅[使用 IAM 角色向在 Amazon EC2 实例上运行的应用授予权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)的 AWS 文档。
+
+## 查看可用快照
+
+Rancher UI 中提供了集群所有可用快照的列表:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面中,转到要查看快照的集群并单击其名称。
+1. 单击**快照**选项卡来查看已保存快照的列表。这些快照包括创建时间的时间戳。
+
+## 安全时间戳(RKE)
+
+快照文件带有时间戳,从而简化使用外部工具和脚本处理文件的过程。但在某些与 S3 兼容的后端中,这些时间戳无法使用。
+
+添加了选项 `safe_timestamp` 以支持兼容的文件名。当此标志设置为 `true` 时,快照文件名时间戳中的所有特殊字符都将被替换。
+
+此选项不能直接在 UI 中使用,只能通过`以 YAML 文件编辑`使用。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-rancher.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-rancher.md
new file mode 100644
index 00000000000..cf023f56e0a
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-rancher.md
@@ -0,0 +1,92 @@
+---
+title: 备份 Rancher
+---
+
+在本节中,你将学习如何备份运行在任何 Kubernetes 集群上的 Rancher。要备份通过 Docker 安装的 Rancher,请参见[单节点备份](back-up-docker-installed-rancher.md)。
+
+`backup-restore` operator 需要安装在 local 集群上,并且只对 Rancher 应用进行备份。备份和恢复操作仅在本地 Kubernetes 集群中执行。
+
+请知悉,`rancher-backup` operator 的 2.x.x 版本用于 Rancher v2.6.x。
+
+:::caution
+
+当把备份恢复到一个新的 Rancher 设置中时,新设置的版本应该与备份的版本相同。在恢复备份时还应考虑 Kubernetes 的版本,因为集群中支持的 apiVersion 和备份文件中的 apiVersion 可能不同。
+
+:::
+
+### 先决条件
+
+Rancher 必须是 2.5.0 或更高版本。
+
+请参见[此处](migrate-rancher-to-new-cluster.md#2-使用-restore-自定义资源来还原备份)获取在 Rancher 2.6.3 中将现有备份文件恢复到 v1.22 集群的帮助。
+
+### 1. 安装 Rancher Backup Operator
+
+备份存储位置是 operator 级别的设置,所以需要在安装或升级 `rancher backup` 应用时进行配置。
+
+备份文件的格式是 `.tar.gz`。这些文件可以推送到 S3 或 Minio,也可以存储在一个持久卷中。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到 `local` 集群并单击 **Explore**。Rancher Server 运行在 `local` 集群中。
+1. 单击 **Apps > Charts**。
+1. 点击 **Rancher 备份**。
+1. 单击**安装**。
+1. 配置默认存储位置。如需获取帮助,请参见[存储配置](../../../reference-guides/backup-restore-configuration/storage-configuration.md)。
+1. 单击**安装**。
+
+:::note
+
+使用 `backup-restore` operator 执行恢复后,Fleet 中会出现一个已知问题:用于 `clientSecretName` 和 `helmSecretName` 的密文不包含在 Fleet 的 Git 仓库中。请参见[此处](../deploy-apps-across-clusters/fleet.md#故障排除)获得解决方法。
+
+:::
+
+### 2. 执行备份
+
+要执行备份,必须创建 Backup 类型的自定义资源。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到 `local` 集群并单击 **Explore**。
+1. 在左侧导航栏中,点击 **Rancher 备份 > 备份**。
+1. 单击**创建**。
+1. 使用表单或 YAML 编辑器创建 Backup。
+1. 要使用该表单配置 Backup 详细信息,请单击**创建**,然后参见[配置参考](../../../reference-guides/backup-restore-configuration/backup-configuration.md)和[示例](../../../reference-guides/backup-restore-configuration/examples.md#备份)进行操作。
+1. 要使用 YAML 编辑器,单击**创建 > 使用 YAML 文件创建**。输入 Backup YAML。这个示例 Backup 自定义资源将在 S3 中创建加密的定期备份。这个应用使用 `credentialSecretNamespace` 值来确定在哪里寻找 S3 备份的密文:
+
+ ```yaml
+ apiVersion: resources.cattle.io/v1
+ kind: Backup
+ metadata:
+ name: s3-recurring-backup
+ spec:
+ storageLocation:
+ s3:
+ credentialSecretName: s3-creds
+ credentialSecretNamespace: default
+ bucketName: rancher-backups
+ folder: rancher
+ region: us-west-2
+ endpoint: s3.us-west-2.amazonaws.com
+ resourceSetName: rancher-resource-set
+ encryptionConfigSecretName: encryptionconfig
+ schedule: "@every 1h"
+ retentionCount: 10
+ ```
+
+ :::note
+
+ 使用 YAML 编辑器创建 Backup 资源时,`resourceSetName` 必须设置为 `rancher-resource-set`。
+
+ :::
+
+ 如需获得配置 Backup 的帮助,请参见[配置参考](../../../reference-guides/backup-restore-configuration/backup-configuration.md)和[示例](../../../reference-guides/backup-restore-configuration/examples.md#备份)。
+
+ :::caution
+
+ `rancher-backup` operator 不保存 `EncryptionConfiguration` 文件。创建加密备份时,必须保存 `EncryptionConfiguration` 文件的内容,而且在使用备份还原时必须使用同一个文件。
+
+ :::
+
+1. 单击**创建**。
+
+**结果**:备份文件创建在 Backup 自定义资源中配置的存储位置中。执行还原时使用该文件的名称。
+
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-restore-usage-guide.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-restore-usage-guide.md
new file mode 100644
index 00000000000..03b4a704185
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-restore-usage-guide.md
@@ -0,0 +1,129 @@
+---
+title: 备份恢复使用指南
+---
+
+Rancher Backups Chart 是我们的灾难恢复和迁移解决方案。此 Chart 用于备份 Kubernetes 资源并将其保存到各种持久存储位置。
+
+这个 Chart 是一个非常简单的工具,适用于 Rancher 生态系统的许多不同领域。但是,也因此出现了未记录功能的边缘用例。本文档旨在强调 Rancher Backups 正确的用法,并讨论我们遇到的一些边缘情况。
+
+## 功能概述
+
+### 备份
+
+该 Operator 将 Chart 中的 resourceSet 捕获的所有资源收集为内存中的非结构化对象。收集资源后,资源的 tar 包将保存为 JSON 格式的清单集合,然后上传到用户定义的对象存储。该备份可以按重复计划进行,也可以进行加密。由于某些资源是敏感的,并且值以未加密的明文形式存储,因此此加密选项很重要。
+
+有关配置备份的选项(包括加密),请参阅[备份配置文档](../../../reference-guides/backup-restore-configuration/backup-configuration.md)。
+
+:::note
+
+如[备份 Rancher 文档](./back-up-rancher.md)所述,你必须手动保存加密配置文件的内容,因为 Operator **不会**备份它。
+
+:::
+
+### 还原
+
+有两种主要的还原场景:还原正在运行 Rancher 的集群以及还原新集群。只有将备份还原到该备份的源集群,且在还原过程中启用了 [`prune` 选项](../../../reference-guides/backup-restore-configuration/restore-configuration.md#还原过程中修剪)时,你才能还原正在运行 Rancher 的集群。还原具有与备份类似的输入。它需要备份文件名、encryptionConfigSecret 名称和存储位置。
+
+资源按以下顺序还原:
+
+1. 自定义资源定义(CRD)
+2. 集群范围资源
+3. 命名空间资源
+
+有关配置还原的选项,请参阅[还原配置文档](../../../reference-guides/backup-restore-configuration/restore-configuration.md)。
+
+### 资源集
+
+ResourceSet 确定了 backup-restore-operator 在备份中收集哪些资源。它是一组 ResourceSelector,使用键/值对匹配、正则表达式匹配或 Kubernetes 客户端 labelSelector 来定义选择要求。
+
+以下是可用于 resourceSelector 的字段:
+
+- apiVersion
+- excludeKinds
+- excludeResourceNameRegexp
+- kinds
+- kindsRegexp
+- labelSelectors
+- namespaceRegexp
+- namespaces
+- resourceNameRegexp
+- resourceNames
+
+Rancher Backups Chart 包含了一个[默认 resourceSet](https://github.com/rancher/backup-restore-operator/tree/release/v3.0/charts/rancher-backup/files/default-resourceset-contents),它是安装 Chart 时附加到一个大型 resourceSet 的 YAML 文件组合。文件顺序并不重要。不同版本的 resourceSet 可能有所不同。
+
+:::caution
+
+如果你希望编辑 resourceSet,请在安装 Chart 之前进行**编辑**。
+
+:::
+
+## 正确使用
+
+本节概述了如何根据用例正确使用 Rancher Backups Chart。
+
+### 所有案例
+
+- Rancher Backups 必须安装在 local 集群上。
+ - 注意:Rancher Backups 只会处理安装了它的集群。它可能会还原 local 集群上的集群资源,但不会联系或备份下游集群。
+- 要还原的 Rancher 版本必须与备份中的 Rancher 版本匹配。
+- 由于你可能需要还原已过时的资源(要还原的 Kubernetes 版本已弃用的资源),因此你需要考虑 Kubernetes 版本。
+
+### 备份
+
+- 用户生成的某些资源不会被备份,除非这些资源可以被默认 resourceSet 捕获,或者 resourceSet 已被更改为捕获这些资源。
+ - 我们提供了一个 `resources.cattle.io/backup:true` 标签,将该标签添加到任何命名空间中的 Secret 时,命名空间将被备份。
+- 备份是不可改变的
+- 仅备份 local 集群
+
+### 还原
+
+- 还原是指将备份还原到原来的集群。可以在安装了 Rancher 的情况下进行(**必须启用 prune**),也可以在未安装 Rancher 的情况下进行(无特殊说明)。
+- 还原时需要注意的一件事是,你可能需要“擦除”集群中的所有 Rancher 资源。你可以通过将 [Rancher cleanup script](https://github.com/rancher/rancher-cleanup) 脚本作为 job 部署到集群来完成这点。这样,你可以再次安装 Rancher Backups 并还原到全新的集群。
+ - 确保使用了 kubectl 来部署脚本。
+
+### 迁移
+
+由于我们要还原到不同的集群,因此对应的迁移有一些细微差别。以下是需要记住但又容易被忘记的事情。
+
+- 迁移时 Rancher 域必须相同。换言之,你旧集群的域名现在必须指向新集群。
+- Rancher **不应该**已运行在你要迁移到的集群,这可能会导致 Rancher 备份和某些 Rancher 服务出现许多问题。
+- **还原备份后**,安装与备份**相同**的 Rancher 版本。
+- 在其他 Kubernetes 版本上配置新集群可能会出现各种不受支持的情况,这是因为可用的 Kubernetes API 可能与你备份的 API 不同。这可能会导致已弃用的资源被恢复,从而导致问题。
+- 在迁移期间**不要**执行任何升级操作。
+
+## 边缘案例和不当使用
+
+以下是 Rancher Backups 的一些**不当**使用示例。
+
+### 升级
+
+- 使用 Rancher Backups 来升级 Rancher 版本不是一个有效用法。推荐的做法是:先备份当前版本,然后按照[说明](../../../getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/upgrades.md)升级你的 Rancher 实例,在升级完成后再进行**另一个**备份。这样,如果升级失败,你就有一个可以用来还原的备份,而第二个备份将能用于还原到升级后的 Rancher 版本。
+- 使用 Rancher Backups 来升级 Kubernetes 版本也不是一个有效用法。由于 Kubernetes API 以及可用资源与版本相关,因此使用备份还原的方法来进行升级可能会导致资源集不对齐的问题,这些资源可能已被弃用、不受支持或已更新。升级集群版本的方式取决于其配置方式,但建议使用上述的流程(备份、升级、备份)。
+
+### ResourceSet
+
+- 由于不同团队的资源和服务会不断发展,开发人员应要注意是否需要向默认 resourceSet 添加或删除新资源。
+- Rancher Backups 仅备份默认 resourceSet 捕获的内容(除非进行编辑)。我们为用户创建的 Secret 添加了特定标签,无论 Secret 的名称是什么,无论它属于哪个命名空间,具有该标签 Secret 都会被备份(请参阅[备份的正确用法](#备份))。
+
+### 下游集群
+
+- Rancher Backups **仅**备份 local 集群上的 Kubernetes 资源。换言之,除了存在于 local 集群中的资源,下游集群**不会**被触及或备份。下游集群的更新和通信由 rancher-agent 和 rancher-webhook 负责。
+
+### 还原已删除的资源
+
+- 有些资源会产生外部结果,例如会配置下游集群。删除下游集群并还原 local 集群上的集群资源**不会**导致 Rancher 重新配置所述集群。某些资源可能无法通过还原回到可用状态。
+- “还原已删除的集群”**不是**受支持的功能。涉及下游集群时,无论集群是配置的还是导入的,删除集群都会执行一系列清理任务,导致我们无法还原已删除的集群。配置的集群节点以及与 Rancher 相关的配置资源将被销毁,而导入的集群的 Rancher Agent 以及与 local 集群注册相关的其他资源/服务可能会被销毁。
+
+:::caution
+
+尝试删除和还原下游集群可能会导致 Rancher、Rancher Backups、rancher-webhook、Fleet 等出现各种问题。因此,我们不建议你这样做。
+
+:::
+
+### Fleet、Harvester 和其他服务
+
+由 Rancher Backups 支持的其他服务会经常发生变化和发展。发生这种情况时,他们的资源和备份需求也可能会发生变化。有些资源可能根本不需要备份。团队需要在开发过程中考虑这一点,并评估相关 resourceSet 是否能正确捕获正确的资源集来还原其服务。
+
+## 结论
+
+Rancher Backups 是一个非常有用的工具,但它的使用范围和使用目的有限的。为了避免出现问题,请遵循本文所述的流程来确保 Chart 能正确运作。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/migrate-rancher-to-new-cluster.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/migrate-rancher-to-new-cluster.md
new file mode 100644
index 00000000000..5aa5ac6e523
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/migrate-rancher-to-new-cluster.md
@@ -0,0 +1,184 @@
+---
+title: 将 Rancher 迁移到新集群
+---
+
+如果你要将 Rancher 迁移到一个新的 Kubernetes 集群,先不要在新集群上安装 Rancher。这是因为如果将 Rancher 还原到已安装 Rancher 的新集群,可能会导致问题。
+
+### 先决条件
+
+以下说明假设你已经完成[备份创建](back-up-rancher.md),并且已经安装了用于部署 Rancher 的新 Kubernetes 集群。
+
+:::caution
+
+你需要使用与第一个集群中设置的 Server URL 相同的主机名。否则,下游集群会在 UI 的管理页面显示为不可用,并且你不能点击集群内或集群的 **Explore** 按钮。
+
+:::
+
+Rancher 必须是 2.5.0 或更高版本。
+
+Rancher 可以安装到任意 Kubernetes 集群上,包括托管的 Kubernetes 集群(如 Amazon EKS 集群)。如需获取安装 Kubernetes 的帮助,请参见 Kubernetes 发行版的文档。你也可以使用以下 Rancher 的 Kubernetes 发行版:
+
+- [RKE Kubernetes 安装文档](https://rancher.com/docs/rke/latest/en/installation/)
+- [K3s Kubernetes 安装文档](https://rancher.com/docs/k3s/latest/en/installation/)
+
+### 1. 安装 rancher-backup Helm Chart
+安装 [rancher-backup chart](https://github.com/rancher/backup-restore-operator/tags),请使用 2.x.x 主要版本内的版本:
+
+1. 添加 helm 仓库:
+
+ ```bash
+ helm repo add rancher-charts https://charts.rancher.io
+ helm repo update
+ ```
+
+1. 使用 2.x.x rancher-backup 版本设置 `CHART_VERSION` 变量:
+ ```bash
+ helm search repo --versions rancher-charts/rancher-backup
+ CHART_VERSION=<2.x.x>
+ ```
+
+1. 安装 Chart:
+ ```bash
+ helm install rancher-backup-crd rancher-charts/rancher-backup-crd -n cattle-resources-system --create-namespace --version $CHART_VERSION
+ helm install rancher-backup rancher-charts/rancher-backup -n cattle-resources-system --version $CHART_VERSION
+ ```
+
+ :::note
+
+ 以上假设你的环境具有到 Docker Hub 的出站连接。
+
+ 对于**离线环境**,在安装 rancher-backup Helm Chart 时,使用下面的 Helm 值从你的私有镜像仓库中拉取 `backup-restore-operator` 镜像。
+
+ ```bash
+ --set image.repository $REGISTRY/rancher/backup-restore-operator
+ ```
+
+ :::
+
+### 2. 使用 Restore 自定义资源来还原备份
+
+:::note 重要提示:
+
+Kubernetes v1.22 是 Rancher 2.6.3 的实验功能,不支持使用 apiVersion `apiextensions.k8s.io/v1beta1`来还原包含 CRD 文件的备份文件。在 v1.22 中,`rancher-backup` 应用的默认 `resourceSet` 只收集使用 `apiextensions.k8s.io/v1` 的 CRD。你可以通过下面两种方法解决这个问题。
+
+1. 使用 apiVersion v1 来更新默认 `resourceSet`,从而收集 CRD。
+1. 使用 `apiextensions.k8s.io/v1` 作为替代,来更新默认 `resourceSet` 和客户端,从而在内部使用新的 API。
+
+ :::note
+
+ 在为 v1.22 版本制作或恢复备份时,Rancher 版本和本地集群的 Kubernetes 版本应该是一样的。由于集群中支持的 apiVersion 和备份文件中的 apiVersion 可能不同,因此在还原备份时请考虑 Kubernetes 的版本。
+
+ :::
+
+:::
+
+1. 在使用 S3 对象存储作为需要使用凭证的还原的备份源时,请在此集群中创建一个 `Secret` 对象以添加 S3 凭证。Secret 数据必须有两个密钥,分别是包含 S3 凭证的 `accessKey` 和 `secretKey`。
+
+ 你可以在任何命名空间中创建 Secret,本示例使用 default 命名空间。
+
+ ```bash
+ kubectl create secret generic s3-creds \
+ --from-literal=accessKey= \
+ --from-literal=secretKey=
+ ```
+
+ :::note
+
+ 在上面的命令中添加你的 Access Key 和 Secret Key 作为 `accessKey` 和 `secretKey` 的值。
+
+ :::
+
+1. 创建一个 `Restore` 对象:
+
+ 在迁移期间,`prune` 必须设置为 `false`。请参见下面的示例:
+
+ ```yaml
+ # restore-migration.yaml
+ apiVersion: resources.cattle.io/v1
+ kind: Restore
+ metadata:
+ name: restore-migration
+ spec:
+ backupFilename: backup-b0450532-cee1-4aa1-a881-f5f48a007b1c-2020-09-15T07-27-09Z.tar.gz
+ // highlight-next-line
+ prune: false
+ // highlight-next-line
+ encryptionConfigSecretName: encryptionconfig
+ storageLocation:
+ s3:
+ credentialSecretName: s3-creds
+ credentialSecretNamespace: default
+ bucketName: backup-test
+ folder: ecm1
+ region: us-west-2
+ endpoint: s3.us-west-2.amazonaws.com
+ ```
+
+ :::note 重要提示:
+
+ 只有在创建备份时启用了加密功能时,才需要设置 `encryptionConfigSecretName` 字段。
+
+ 如果适用,请提供包含加密配置文件的 `Secret` 对象的名称。如果你只有加密配置文件,但没有在此集群中创建 Secret,请按照以下步骤创建 Secret。
+
+ 1. 创建[加密配置文件](../../../reference-guides/backup-restore-configuration/backup-configuration.md#加密)
+ 1. 下面的命令使用一个名为 `encryption-provider-config.yaml` 的文件,使用了 `--from-file` 标志。将 `EncryptionConfiguration` 保存到名为 `encryption-provider-config.yaml` 的文件中之后,运行以下命令:
+
+ ```bash
+ kubectl create secret generic encryptionconfig \
+ --from-file=./encryption-provider-config.yaml \
+ -n cattle-resources-system
+ ```
+
+ :::
+
+1. 应用清单,并监控 Restore 的状态:
+ 1. 应用 `Restore` 对象资源:
+
+ ```bash
+ kubectl apply -f restore-migration.yaml
+ ```
+
+ 1. 观察 Restore 的状态:
+ ```bash
+ kubectl get restore
+ ```
+
+ 1. 查看恢复日志:
+ ```bash
+ kubectl logs -n cattle-resources-system --tail 100 -f -l app.kubernetes.io/instance=rancher-backup
+ ```
+
+ 1. Restore 资源的状态变成 `Completed` 后,你可以继续安装 cert-manager 和 Rancher。
+
+### 3. 安装 cert-manager
+
+按照在 Kubernetes 上安装 cert-manager的步骤[安装 cert-manager](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md#4-安装-cert-manager)。
+
+### 4. 使用 Helm 安装 Rancher
+
+使用与第一个集群上使用的相同版本的 Helm 来安装 Rancher:
+
+对于 Kubernetes v1.25 或更高版本,使用 Rancher v2.7.2-v2.7.4 时,将 `global.cattle.psp.enabled` 设置为 `false`。对于 Rancher v2.7.5 及更高版本来说,这不是必需的,但你仍然可以手动设置该选项。
+
+```bash
+helm install rancher rancher-latest/rancher \
+ --namespace cattle-system \
+ --set hostname= \
+ --version x.y.z
+```
+
+:::note
+
+如果原始的 Rancher 环境正在运行,你可以使用 kubeconfig 为原始环境收集当前值:
+
+```bash
+helm get values rancher -n cattle-system -o yaml > rancher-values.yaml
+```
+
+你可以使用 `rancher-values.yaml` 文件来复用这些值。确保将 kubeconfig 切换到新的 Rancher 环境。
+
+```bash
+helm install rancher rancher-latest/rancher -n cattle-system -f rancher-values.yaml --version x.y.z
+```
+
+:::
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/restore-docker-installed-rancher.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/restore-docker-installed-rancher.md
new file mode 100644
index 00000000000..b491321f2bf
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/restore-docker-installed-rancher.md
@@ -0,0 +1,72 @@
+---
+title: 恢复备份 - Docker 安装
+---
+
+如果遇到灾难情况,你可以将 Rancher Server 恢复到最新的备份。
+
+## 在你开始前
+
+在恢复备份的过程中,你将输入一系列命令。请使用环境中的数据替换占位符。占位符用尖括号和大写字母(如 ``)表示。以下是带有占位符的命令示例:
+
+```
+docker run --volumes-from -v $PWD:/backup \
+busybox sh -c "rm /var/lib/rancher/* -rf && \
+tar pzxvf /backup/rancher-data-backup--"
+```
+
+在此命令中,`` 和 `-` 是用于 Rancher 部署的环境变量。
+
+请交叉参考下方的图片和表格,了解获取此占位符数据的方法。在开始以下步骤之前,请先记下或复制此信息。
+
+终端 docker ps 命令,显示如何找到 <RANCHER_CONTAINER_TAG> 和 <RANCHER_CONTAINER_NAME>
+
+
+
+| 占位符 | 示例 | 描述 |
+| -------------------------- | -------------------------- | --------------------------------------------------------- |
+| `` | `v2.0.5` | 首次安装拉取的 rancher/rancher 镜像。 |
+| `` | `festive_mestorf` | 你的 Rancher 容器的名称。 |
+| `` | `v2.0.5` | Rancher 备份的版本号。 |
+| `` | `9-27-18` | 数据容器或备份的创建日期。 |
+
+
+可以通过远程连接登录到 Rancher Server 所在的主机并输入命令 `docker ps` 以查看正在运行的容器,从而获得 `` 和 ``。你还可以运行 `docker ps -a` 命令查看停止了的容器。在创建备份期间,你随时可以运行这些命令来获得帮助。
+
+## 恢复备份
+
+使用你之前创建的[备份](back-up-docker-installed-rancher.md),将 Rancher 恢复到最后已知的健康状态。
+
+1. 使用远程终端连接,登录到运行 Rancher Server 的节点。
+
+1. 停止当前运行 Rancher Server 的容器。将 `` 替换为 Rancher 容器的名称:
+
+ ```
+ docker stop
+ ```
+1. 将你在[创建备份 - Docker 安装](back-up-docker-installed-rancher.md)时创建的备份压缩包移动到 Rancher Server。切换到你将其移动到的目录。输入 `dir` 以确认它在该位置。
+
+ 如果你遵循了我们在[创建备份 - Docker 安装](back-up-docker-installed-rancher.md)中推荐的命名方式,它的名称会与 `rancher-data-backup--.tar.gz` 类似。
+
+1. 输入以下命令删除当前状态数据,并将其替换为备份数据。请替换占位符。不要忘记关闭引号。
+
+ :::danger
+
+ 该命令将删除 Rancher Server 容器中的所有当前状态数据。创建备份压缩包后保存的任何更改都将丢失。
+
+ :::
+
+ ```
+ docker run --volumes-from -v $PWD:/backup \
+ busybox sh -c "rm /var/lib/rancher/* -rf && \
+ tar pzxvf /backup/rancher-data-backup--.tar.gz"
+ ```
+
+ **步骤结果**:屏幕上将运行命令流。
+
+1. 重新启动 Rancher Server 容器,替换占位符。Rancher Server 将使用你的备份数据重新启动。
+
+ ```
+ docker start
+ ```
+
+1. 等待片刻,然后在浏览器中打开 Rancher。确认还原成功,并且你的数据已恢复。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/restore-rancher-launched-kubernetes-clusters-from-backup.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/restore-rancher-launched-kubernetes-clusters-from-backup.md
new file mode 100644
index 00000000000..97e23f81446
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/restore-rancher-launched-kubernetes-clusters-from-backup.md
@@ -0,0 +1,129 @@
+---
+title: 使用备份恢复集群
+---
+
+你可以轻松备份和恢复 [Rancher 启动的 Kubernetes 集群](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)的 etcd。etcd 数据库的快照会保存在 etcd 节点或 S3 兼容目标上。配置 S3 的好处是,如果所有 etcd 节点都丢失了,你的快照会保存到远端并能用于恢复集群。
+
+Rancher 建议启用 [etcd 定期快照的功能](back-up-rancher-launched-kubernetes-clusters.md#配置定期快照),但你也可以轻松创建[一次性快照](back-up-rancher-launched-kubernetes-clusters.md#单次快照)。Rancher 允许使用[保存的快照](#使用快照恢复集群)进行恢复。如果你没有任何快照,你仍然可以[恢复 etcd](#在没有快照的情况下恢复-etcdrke)。
+
+集群也可以恢复到之前的 Kubernetes 版本和集群配置。
+
+## 查看可用快照
+
+Rancher UI 中提供了集群所有可用快照的列表:
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面中,转到要查看快照的集群并点击集群名称。
+1. 单击**快照**选项卡。列出的快照包括创建时间的时间戳。
+
+## 使用快照恢复集群
+
+如果你的 Kubernetes 集群已损坏,你可以使用快照来恢复集群。
+
+快照由 etcd 中的集群数据、Kubernetes 版本和 `cluster.yml` 中的集群配置组成。有了这些组件,你可以在使用快照恢复集群时选择:
+
+- **仅恢复 etcd 内容**:类似于在 Rancher v2.4.0 之前版本中的使用快照恢复。
+- **恢复 etcd 和 Kubernetes 版本**:如果 Kubernetes 升级导致集群失败,并且你没有更改任何集群配置,则应使用此选项。
+- **恢复 etcd、Kubernetes 版本和集群配置**:如果你在升级时同时更改了 Kubernetes 版本和集群配置,则应使用此选项。
+
+回滚到之前的 Kubernetes 版本时,[升级策略选项](../../../getting-started/installation-and-upgrade/upgrade-and-roll-back-kubernetes.md#配置升级策略)会被忽略。在恢复到旧 Kubernetes 版本之前,Worker 节点不会被封锁或清空,因此可以更快地将不健康的集群恢复到健康状态。
+
+:::note 先决条件:
+
+要恢复 S3 中的快照,需要将集群配置为[在 S3 上创建定期快照](back-up-rancher-launched-kubernetes-clusters.md#配置定期快照)。
+
+:::
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面中,转到要查看快照的集群并点击集群名称。
+1. 单击**快照**选项卡来查看已保存快照的列表。
+1. 转到要恢复的快照,然后单击 **⋮ > 还原**。
+1. 选择一个**还原类型**。
+1. 点击**还原**。
+
+**结果**:集群将进入 `updating` 状态,然后将开始使用快照恢复 `etcd` 节点。集群会在返回到 `active` 状态后被恢复。
+
+## Control Plane/etcd 完全不可用时使用快照还原集群
+
+在灾难恢复场景中,下游集群中 Rancher 管理的 Control Plane 和 etcd 节点可能不再可用或运行。你可以通过再次添加 Control Plane 和 etcd 节点来重建集群,然后使用可用快照来进行还原。
+
+
+
+
+请按照 [SUSE 知识库](https://www.suse.com/support/kb/doc/?id=000020695)中描述的流程进行操作。
+
+
+
+
+如果集群完全故障,则必须从集群中删除所有 etcd 节点和机器,然后才能添加新的 etcd 节点来进行还原。
+
+:::note
+
+由于[已知问题](https://github.com/rancher/rancher/issues/41080),此过程需要 Rancher v2.7.5 或更高版本。
+
+:::
+
+:::note
+
+如果你使用[本地快照](./back-up-rancher-launched-kubernetes-clusters.md#本地备份目标),那么请**务必**从要删除的 etcd 节点上的 `/var/lib/rancher//server/db/snapshots/` 文件夹中备份要还原的快照。你可以将快照复制到 `/var/lib/rancher//server/db/snapshots/` 文件夹中的新节点上。此外,如果使用本地快照并还原到新节点,目前还无法通过 UI 进行还原。
+
+:::
+
+1. 从集群中删除所有 etcd 节点。
+
+ 1. 在左上角,单击 **☰ > 集群管理**。
+ 1. 在**集群**页面中,转到要删除节点的集群。
+ 1. 在**主机**选项卡中,找到要删除的每个节点并单击 **⋮ > 删除**。开始时,节点会挂在 `deleting` 状态,所有 etcd 节点都被删除后,它们将被一起删除。这是因为 Rancher 发现所有 etcd 节点都在删除,并开始 "短路" etcd 安全删除逻辑。
+
+1. 删除所有 etcd 节点后,添加要用于还原的新 etcd 节点。
+
+ - 对于自定义集群,请转到**注册**选项卡,然后在节点上复制并运行注册命令。如果该节点之前已在集群中使用过,请先[清理该节点](../manage-clusters/clean-cluster-nodes.md#清理节点)。
+ - 对于主机驱动集群,则会自动配置新节点。
+
+ 此时,Rancher 会提示你需要使用 etcd 快照进行还原。
+
+1. 使用 etcd 快照还原。
+
+ - 对于 S3 快照,使用 UI 进行还原。
+ 1. 单击**快照**选项卡来查看已保存快照的列表。
+ 1. 转到要恢复的快照,然后单击 **⋮ > 还原**。
+ 1. 选择一个**还原类型**。
+ 1. 点击**还原**。
+ - 对于本地快照,使用 UI 进行还原**不**可用。
+ 1. 单击右上角的 **⋮> 编辑 YAML**。
+ 1. 将 `spec.cluster.rkeConfig.etcdSnapshotRestore.name` 定义为 `/var/lib/rancher//server/db/snapshots/` 中磁盘上快照的文件名。
+
+1. 还原成功后,你可以将 etcd 节点扩展至所需的冗余。
+
+
+
+
+## 在没有快照的情况下恢复 etcd(RKE)
+
+如果 etcd 节点组失去了仲裁(quorum),由于没有操作(例如部署工作负载)可以在 Kubernetes 集群中执行,Kubernetes 集群将报告失败。集群需要有三个 etcd 节点以防止仲裁丢失。如果你想恢复你的 etcd 节点集,请按照以下说明操作:
+
+1. 通过删除所有其他 etcd 节点,从而仅在集群中保留一个 etcd 节点。
+
+2. 在剩余的单个 etcd 节点上,运行以下命令:
+
+ ```bash
+ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike etcd
+ ```
+
+ 此命令会输出 etcd 要运行的命令,请保存此命令以备后用。
+
+3. 停止正在运行的 `etcd` 容器并将其重命名为 `etcd-old`。
+
+ ```bash
+ docker stop etcd
+ docker rename etcd etcd-old
+ ```
+
+4. 修改步骤 2 中获取保存的命令:
+
+ - 如果你最初有超过 1 个 etcd 节点,则将 `--initial-cluster` 更改为仅包含剩余的单个节点。
+ - 将 `--force-new-cluster` 添加到命令的末尾。
+
+5. 运行修改后的命令。
+
+6. 在单个节点启动并运行后,Rancher 建议向你的集群添加额外的 etcd 节点。如果你有一个[自定义集群](../../../pages-for-subheaders/use-existing-nodes.md),并且想要复用旧节点,则需要先[清理节点](../manage-clusters/clean-cluster-nodes.md),然后再尝试将它们重新添加到集群中。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/restore-rancher.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/restore-rancher.md
new file mode 100644
index 00000000000..11760970b23
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/restore-rancher.md
@@ -0,0 +1,97 @@
+---
+title: 还原 Rancher
+---
+
+本页概述了如何使用 Rancher 执行恢复。
+
+:::note 重要提示:
+
+* 请按照此页面上的说明在已备份的同一集群上还原 Rancher。要把 Rancher 迁移到新集群,请参照步骤[迁移 Rancher](migrate-rancher-to-new-cluster.md)。
+* 在使用相同设置还原 Rancher 时,operator 将在还原开始时缩减 Rancher deployment,还原完成后又会扩展 deployment。因此,Rancher 在还原期间将不可用。
+* 如果你需要在升级后将 Rancher 还原到先前版本,请参见[回滚](../../../getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rollbacks.md)。
+
+:::
+
+## 使用 Rancher 2.6.4+ 进行回滚的其他步骤
+
+Rancher v2.6.4 将 cluster-api 模块从 v0.4.4 升级到 v1.0.2。反过来,cluster-api 的 v1.0.2 版本将集群 API 的自定义资源定义 (CRD) 从 `cluster.x-k8s.io/v1alpha4` 升级到 `cluster.x-k8s.io/v1beta1`。当你尝试将 Rancher v2.6.4 回滚到以前版本的 Rancher v2.6.x 时,CRD 升级到 v1beta1 会导致回滚失败。这是因为使用旧 apiVersion (v1alpha4) 的 CRD 与 v1beta1 不兼容。
+
+要避免回滚失败,你需要在尝试恢复操作或回滚**之前**运行以下 Rancher 脚本:
+
+* `verify.sh`:检查集群中是否有任何与 Rancher 相关的资源。
+* `cleanup.sh`:清理集群。
+
+有关详细信息和源代码,请参阅 [rancher/rancher-cleanup repo](https://github.com/rancher/rancher-cleanup)。
+
+:::caution
+
+`cleanup.sh` 运行的时候会有停机时间,这是因为脚本会删除 Rancher 创建的资源。
+
+:::
+
+### 从 v2.6.4+ 回滚到较低版本的 v2.6.x
+
+1. 按照[说明](https://github.com/rancher/rancher-cleanup/blob/main/README.md)运行脚本。
+1. 按照[说明](../backup-restore-and-disaster-recovery/migrate-rancher-to-new-cluster.md)在现有集群上安装 rancher-backup Helm Chart 并恢复之前的状态。
+ 1. 省略步骤 3。
+ 1. 执行到步骤 4 时,在要回滚到的 local 集群上安装 Rancher 2.6.x 版本。
+
+### 创建 Restore 自定义资源
+
+还原是通过创建 Restore 自定义资源实现的。
+
+1. 在左上角,单击 **☰ > 集群管理**。
+1. 在**集群**页面上,转到 `local` 集群并单击 **Explore**。Rancher Server 运行在 `local` 集群中。
+1. 在左侧导航栏中,单击 **Rancher 备份 > 还原**。
+1. 单击**创建**。
+1. 使用表单或 YAML 创建 Restore。如需获取使用表单创建 Restore 资源的更多信息,请参见[配置参考](../../../reference-guides/backup-restore-configuration/restore-configuration.md)和[示例](../../../reference-guides/backup-restore-configuration/examples.md)。
+1. 要使用 YAML 编辑器,单击**创建 > 使用 YAML 文件创建**。输入 Restore YAML。
+
+ ```yaml
+ apiVersion: resources.cattle.io/v1
+ kind: Restore
+ metadata:
+ name: restore-migration
+ spec:
+ backupFilename: backup-b0450532-cee1-4aa1-a881-f5f48a007b1c-2020-09-15T07-27-09Z.tar.gz
+ encryptionConfigSecretName: encryptionconfig
+ storageLocation:
+ s3:
+ credentialSecretName: s3-creds
+ credentialSecretNamespace: default
+ bucketName: rancher-backups
+ folder: rancher
+ region: us-west-2
+ endpoint: s3.us-west-2.amazonaws.com
+ ```
+
+ 如需获得配置 Restore 的帮助,请参见[配置参考](../../../reference-guides/backup-restore-configuration/restore-configuration.md)和[示例](../../../reference-guides/backup-restore-configuration/examples.md)。
+
+1. 单击**创建**。
+
+**结果**:rancher-operator 在还原过程中将 Rancher deployment 缩容,并在还原完成后将它重新扩容。资源还原顺序如下:
+
+1. 自定义资源定义(CRD)
+2. 集群范围资源
+3. 命名空间资源
+
+### 日志
+
+如需查看还原的处理方式,请检查 Operator 的日志。查看日志的命令如下:
+
+```
+kubectl logs -n cattle-resources-system -l app.kubernetes.io/name=rancher-backup -f
+```
+
+### 清理
+
+如果你使用 kubectl 创建了 Restore 资源,请删除该资源以防止与未来的还原发生命名冲突。
+
+### 已知问题
+在某些情况下,恢复备份后,Rancher 日志会显示类似以下的错误:
+```
+2021/10/05 21:30:45 [ERROR] error syncing 'c-89d82/m-4067aa68dd78': handler rke-worker-upgrader: clusters.management.cattle.io "c-89d82" not found, requeuing
+```
+发生这种情况的原因是,刚刚还原的某个资源有 finalizer,但相关的资源已经被删除,导致处理程序无法找到该资源。
+
+为了消除这些错误,你需要找到并删除导致错误的资源。详情请参见[此处](https://github.com/rancher/rancher/issues/35050#issuecomment-937968556)。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/deploy-apps-across-clusters/fleet.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/deploy-apps-across-clusters/fleet.md
new file mode 100644
index 00000000000..def223a8337
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/deploy-apps-across-clusters/fleet.md
@@ -0,0 +1,67 @@
+---
+title: 使用 Feet 进行持续交付
+---
+
+使用 Fleet 的持续交付是大规模的 GitOps。你可以使用 Fleet 管理多达一百万个集群。Fleet 非常轻量,可以很好地用于[单个集群](https://fleet.rancher.io/installation#default-install),但是在你达到[大规模](https://fleet.rancher.io/installation#configuration-for-multi-cluster)时,它能发挥更强的实力。此处的大规模指的是大量集群、大量部署、或组织中存在大量团队的情况。
+
+Fleet 是一个独立于 Rancher 的项目,你可以使用 Helm 将它安装在任何 Kubernetes 集群上。
+
+
+## 架构
+
+有关 Fleet 工作原理的信息,请参阅[此页面](../../../integrations-in-rancher/fleet-gitops-at-scale/architecture.md)。
+
+## 在 Rancher UI 中访问 Fleet
+
+Fleet 预装在 Rancher 中,通过 Rancher UI 中的**持续交付**选项管理。有关持续交付和 Fleet 故障排除技巧的更多信息,请参阅[此处](https://fleet.rancher.io/troubleshooting)。
+
+用户可以通过遵循 **gitops** 的实践,利用持续交付将应用部署到 git 仓库中的 Kubernetes 集群,而无需任何手动操作。
+
+按照以下步骤在 Rancher UI 中访问持续交付:
+
+1. 单击 **☰ > 持续交付**。
+
+1. 在菜单顶部选择你的命名空间,注意以下几点:
+ - 默认情况下会选中 `fleet-default`,其中包括注册到 Rancher 的所有下游集群。
+ - 你可以切换到仅包含 `local` 集群的 `fleet-local`,或者创建自己的工作空间,并将集群分配和移动到该工作空间。
+ - 然后,你可以单击左侧导航栏上的**集群**来管理集群。
+
+1. 单击左侧导航栏上的 **Git 仓库**将 git 仓库部署到当前工作空间中的集群中。
+
+1. 选择你的 [git 仓库](https://fleet.rancher.io/gitrepo-add)和[目标集群/集群组](https://fleet.rancher.io/gitrepo-targets)。你还可以单击左侧导航栏中的**集群组**在 UI 中创建集群组。
+
+1. 部署 git 仓库后,你可以通过 Rancher UI 监控应用。
+
+## Windows 支持
+
+有关对具有 Windows 节点的集群的支持的详细信息,请参阅[此页面](../../../integrations-in-rancher/fleet-gitops-at-scale/windows-support.md)。
+
+
+## GitHub 仓库
+
+你可以单击此处获取 [Fleet Helm Chart](https://github.com/rancher/fleet/releases/latest)。
+
+
+## 在代理后使用 Fleet
+
+有关在代理后使用 Fleet 的详细信息,请参阅[此页面](../../../integrations-in-rancher/fleet-gitops-at-scale/use-fleet-behind-a-proxy.md)。
+
+## Helm Chart 依赖
+
+由于用户需要完成依赖列表,因此为了成功部署具有依赖项的 Helm Chart,你必须手动运行命令(如下所列)。如果你不这样做,并继续克隆仓库并运行 `helm install`,由于依赖项将丢失,因此你的安装将失败。
+
+git 仓库中的 Helm Chart 必须在 Chart 子目录中包含其依赖项。你必须手动运行 `helm dependencies update $chart`,或在本地运行 `helm dependencies build $chart`,然后将完整的 Chart 目录提交到你的 git 仓库。请注意,你需要使用适当的参数来修改命令。
+
+## 故障排除
+
+---
+* **已知问题**:Fleet git 仓库的 clientSecretName 和 helmSecretName 密文不包含在 [backup-restore-operator](../backup-restore-and-disaster-recovery/back-up-rancher.md#1-安装-rancher-backup-operator) 创建的备份或恢复中。如果我们有了永久的解决方案,我们将通知社区。
+
+* **临时解决方法:**
+ 默认情况下,用户定义的密文不会在 Fleet 中备份。如果执行灾难恢复或将 Rancher 迁移到新集群,则需要重新创建密文。要修改 resourceSet 以包含需要备份的其他资源,请参阅[此文档](https://github.com/rancher/backup-restore-operator#user-flow)。
+
+---
+
+## 文档
+
+Fleet 文档链接:[https://fleet.rancher.io/](https://fleet.rancher.io/)
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/deploy-apps-across-clusters/multi-cluster-apps.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/deploy-apps-across-clusters/multi-cluster-apps.md
new file mode 100644
index 00000000000..113a30ad48b
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/deploy-apps-across-clusters/multi-cluster-apps.md
@@ -0,0 +1,175 @@
+---
+title: 多集群应用
+---
+
+通常,大多数应用都部署在单个 Kubernetes 集群上,但有时你可能需要跨不同集群和/或项目部署同一应用的多个副本。在 Rancher 中,_多集群应用_ 指的是使用 Helm Chart 跨多个集群部署的应用。由于能够跨多个集群部署相同的应用,因此可以避免在每个集群上重复执行相同的应用配置操作而引入的人为错误。使用多集群应用,你可以通过自定义在所有项目/集群中使用相同的配置,并根据你的目标项目更改配置。由于多集群应用被视为单个应用,因此更容易管理和维护。
+
+全局应用商店中的任何 Helm Chart 都可用于部署和管理多集群应用。
+
+创建多集群应用后,你可以对全局 DNS 条目进行编程,以便更轻松地访问应用。
+
+## 先决条件
+
+### 权限
+
+要在 Rancher 中创建多集群应用,你至少需要具有以下权限之一:
+
+- 目标集群中的[项目成员角色](../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#项目角色),能够创建、读取、更新和删除工作负载
+- 目标项目所在集群的[集群所有者角色](../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#集群角色)
+
+### 启用旧版功能
+
+由于 Rancher 2.5 已弃用多集群应用并使用 Fleet 取代它,你需要使用功能开关以启用多集群应用。
+
+1. 在左上角,单击 **☰ > 全局设置**。
+1. 单击**功能开关**。
+1. 转到 `Legacy` 功能开关并单击**激活**。
+
+## 启动多集群应用
+
+1. 在左上角,单击**☰ > 多集群应用**。
+1. 点击**启动**。
+1. 找到要启动的应用。
+1. (可选)查看来自 Helm Chart `README` 的详细描述。
+1. 在**配置选项**下输入多集群应用的**名称**。默认情况下,此名称还用于在每个[目标项目](#目标)中为多集群应用创建一个 Kubernetes 命名空间。命名空间命名为 `-`。
+1. 选择一个**模板版本**。
+1. 完成[多集群应用配置选项](#多集群应用配置选项)以及[应用配置选项](#应用配置选项)。
+1. 选择可以[与多集群应用交互](#成员)的**成员**。
+1. 添加[自定义应用配置答案](#覆盖特定项目的应用配置选项),这将更改默认应用配置答案中特定项目的配置。
+1. 查看**预览**中的文件。确认后,单击**启动**。
+
+**结果**:应用已部署到所选的命名空间。你可以从项目中查看应用状态。
+
+## 多集群应用配置选项
+
+Rancher 将多集群应用的配置选项分为以下几个部分。
+
+### 目标
+
+在**目标**部分中,选择用于部署应用的项目。项目列表仅显示你有权访问的项目。所选的每个项目都会被添加到列表中,其中显示了所选的集群名称和项目名称。要移除目标项目,单击 **-**。
+
+### 升级
+
+在**升级**部分中,选择升级应用时需要使用的升级策略。
+
+* **滚动更新(批量)**:选择此升级策略时,每次升级的应用数量取决于选择的**批量大小**和**间隔**(多少秒后才开始下一批更新)。
+
+* **同时升级所有应用**:选择此升级策略时,所有项目的所有应用都将同时升级。
+
+### 角色
+
+在**角色**中,你可以定义多集群应用的角色。通常,当用户[启动商店应用](../../../pages-for-subheaders/helm-charts-in-rancher.md)时,该用户的权限会用于创建应用所需的所有工作负载/资源。
+
+多集群应用由 _系统用户_ 部署,系统用户还被指定为所有底层资源的创建者。由于实际用户可以从某个目标项目中删除,因此使用 _系统用户_ 而不是实际用户。如果实际用户从其中一个项目中删除,则该用户将不再能够管理其他项目的应用。
+
+Rancher 允许你选择**项目**或**集群**的角色选项。Rancher 将允许你根据用户的权限使用其中一个角色进行创建。
+
+- **项目** - 相当于[项目成员](../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#项目角色)。如果你选择此角色,Rancher 将检查用户是否在所有目标项目中至少具有[项目成员](../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#项目角色)的角色。虽然用户可能没有被明确授予 _项目成员_ 角色,但如果用户是[管理员](../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions.md)、[集群所有者](../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#集群角色)或[项目所有者](../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#项目角色),则认为该用户具有所需的权限级别。
+
+- **集群** - 相当于[集群所有者](../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#集群角色)。如果你选择此角色,Rancher 将检查用户是否在所有目标项目中至少具有[集群所有者](../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#项目角色)的角色。虽然用户可能没有被明确授予 _集群所有者_ 角色,但如果用户是[管理员](../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions.md),则认为该用户具有所需的权限级别。
+
+在启动应用时,Rancher 会在启动应用之前确认你在目标项目中是否拥有这些权限。
+
+:::note
+
+某些应用(如 _Grafana_ 或 _Datadog_)需要访问特定集群级别的资源。这些应用将需要 _集群_ 角色。如果你之后发现应用需要集群角色,则可以升级多集群应用以更新角色。
+
+:::
+
+## 应用配置选项
+
+对于每个 Helm Chart,你需要输入一个必须的答案列表才能成功部署 Chart。由于 Rancher 会将答案作为 `--set` 标志传递给 Helm,因此你必须按照[使用 Helm:–set 的格式和限制](https://helm.sh/docs/intro/using_helm/#the-format-and-limitations-of---set)中的语法规则来格式化这些答案。
+
+:::note 示例
+
+当输入的答案包含用逗号分隔的两个值(即 `abc, bcd`)时,你需要用双引号将值括起来(即 ``"abc, bcd" ``)。
+
+:::
+
+### 使用 questions.yml 文件
+
+如果你部署的 Helm Chart 包含 `questions.yml` 文件,Rancher UI 会将此文件转换成易于使用的 UI 来收集问题的答案。
+
+### 原生 Helm Chart 的键值对
+
+对于原生 Helm Chart(即来自 **Helm Stable** 或 **Helm Incubator** 应用商店或自定义 Helm Chart 仓库的 Chart),答案会在 **Answers** 中以键值对的形式提供。这些答案能覆盖默认值。
+
+### 成员
+
+默认情况下,多集群应用只能由应用的创建者管理。你可以在**成员**中添加其他用户,以便这些用户管理或查看多集群应用。
+
+1. 在**成员**搜索框中键入成员的名称,查找要添加的用户。
+
+2. 为该成员选择**访问类型**。多集群项目有三种访问类型,请仔细阅读并了解这些访问类型的含义,以了解多集群应用权限的启用方式。
+
+ - **所有者**:此访问类型可以管理多集群应用的任何配置,包括模板版本、[多集群应用配置选项](#多集群应用配置选项),[应用配置选项](#应用配置选项),可以与多集群应用交互的成员,以及[自定义应用配置答案](#覆盖特定项目的应用配置选项)。由于多集群应用的创建使用与用户不同的权限集,因此多集群应用的任何 _所有者_ 都可以管理/删除[目标项目](#目标)中的应用,而不需要显式授权访问这些项目。请仅为受信任的用户配置此访问类型。
+
+ - **成员**:此访问类型只能修改模板版本、[应用配置选项](#应用配置选项)和[自定义应用配置答案](#覆盖特定项目的应用配置选项)。由于多集群应用的创建使用与用户不同的权限集,因此多集群应用的任何 _成员_ 都可以修改应用,而不需要显式授权访问这些项目。请仅为受信任的用户配置此访问类型。
+
+ - **只读**:此访问类型不能修改多集群应用的任何配置选项。用户只能查看这些应用。
+
+ :::caution
+
+ 请确保仅为受信任的用户授予 _所有者_ 或 _成员_ 访问权限,因为这些用户即使无法直接访问项目,也将自动能够管理为此多集群应用创建的应用。
+
+ :::
+
+### 覆盖特定项目的应用配置选项
+
+多集群应用的主要优势之一,是能够在多个集群/项目中使用相同配置部署相同的应用。在某些情况下,你可能需要为某个特定项目使用稍微不同的配置选项,但你依然希望统一管理该应用与其他匹配的应用。此时,你可以为该项目覆盖特定的[应用配置选项](#应用配置选项),而不需要创建全新的应用。
+
+1. 在**答案覆盖**中,单击**添加覆盖**。
+
+2. 对于每个覆盖,你可以选择以下内容:
+
+ - **范围**:在配置选项中选择要覆盖哪些目标项目的答案。
+
+ - **问题**:选择要覆盖的问题。
+
+ - **答案**:输入要使用的答案。
+
+## 升级多集群应用角色和项目
+
+- **在现有的多集群应用上更改角色**
+ 多集群应用的创建者和任何具有“所有者”访问类型的用户都可以升级其**角色**。添加新角色时,我们会检查用户在所有当前目标项目中是否具有该角色。Rancher 会根据 `Roles` 字段的安装部分,相应地检查用户是否具有全局管理员、集群所有者或项目所有者的角色。
+
+- **添加/删除目标项目**
+1. 多集群应用的创建者和任何具有“所有者”访问类型的用户都添加或移除目标项目。添加新项目时,我们检查此请求的调用者是否具有多集群应用中定义的所有角色。Rancher 会检查用户是否具有全局管理员、集群所有者和项目所有者的角色。
+2. 删除目标项目时,我们不会进行这些成员资格检查。这是因为调用者的权限可能与目标项目有关,或者由于该项目已被删除导致调用者希望将该项目从目标列表中删除。
+
+
+## 多集群应用管理
+
+与同一类型的多个单独应用相比,使用多集群应用的好处之一是易于管理。你可以克隆、升级或回滚多集群应用。
+
+:::note 先决条件:
+
+`Legacy` 功能开关已启用。
+
+:::
+
+1. 在左上角,单击**☰ > 多集群应用**。
+
+2. 选择要对其执行操作的多集群应用,然后单击 **⋮**。选择以下选项之一:
+
+ * **克隆**:创建另一个具有相同配置的多集群应用。通过使用此选项,你可以轻松复制多集群应用。
+ * **升级**:升级多集群应用以更改某些配置。在为多集群应用执行升级时,如果你有合适的[访问类型](#成员),则可以修改[升级策略](#升级)。
+ * **回滚**:将你的应用回滚到特定版本。如果你的一个或多个[目标](#目标)的多集群应用在升级后出现问题,你可以使用 Rancher 存储的多达 10 个多集群应用版本进行回滚。回滚多集群应用会恢复**所有**目标集群和项目的应用,而不仅仅是受升级问题影响的目标。
+
+## 删除多集群应用
+
+:::note 先决条件:
+
+`Legacy` 功能开关已启用。
+
+:::
+
+1. 在左上角,单击**☰ > 多集群应用**。
+
+2. 选择要删除的多集群应用,然后单击**⋮ > 删除**。删除多集群应用会删除所有目标项目中的所有应用和命名空间。
+
+ :::note
+
+ 不能独立删除在目标项目中为多集群应用创建的应用。只有删除多集群应用后才能删除这些应用。
+
+ :::
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/helm-charts-in-rancher/create-apps.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/helm-charts-in-rancher/create-apps.md
new file mode 100644
index 00000000000..b6605e51965
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/helm-charts-in-rancher/create-apps.md
@@ -0,0 +1,126 @@
+---
+title: 创建应用
+---
+
+:::tip
+
+有关开发 Chart 的完整演示,请参阅 Helm 官方文档中的 [Chart 模板开发者指南](https://helm.sh/docs/chart_template_guide/)。
+
+:::
+
+## Chart 类型
+
+Rancher 支持两种不同类型的 Chart,分别是 Helm Chart 和 Rancher Chart。
+
+### Helm Chart
+
+原生 Helm Chart 包括一个应用以及运行它所需的软件。部署原生 Helm Chart 时,你可以在 YAML 编辑器中提供 Chart 的参数值。
+
+### Rancher Chart
+
+Rancher Chart 是原生 helm Chart,包含两个可增强用户体验的文件 `app-readme.md` 和 `questions.yaml`。在 [Rancher Chart 的附加文件](#rancher-chart-的附加文件)中了解更多信息。
+
+Rancher Chart 添加了简化的 Chart 描述和配置表单,使应用部署变得容易。Rancher 用户无需通读整个 Helm 变量列表即可了解如何启动应用。
+
+## Chart 目录结构
+
+你可以在基于 HTTP 的标准 Helm 仓库中提供 Helm Chart。有关更多信息,请参阅 Helm 官方文档中的 [Chart 仓库指南](https://helm.sh/docs/topics/chart_repository)。
+
+或者,你可以在 Git 仓库中组织 Chart 并将其直接添加到应用市场。
+
+下表演示了 Git 仓库的目录结构。`charts` 目录是仓库基础下的顶层目录。将仓库添加到 Rancher 将公开其中包含的所有 Chart。`questions.yaml`、`README.md` 和 `requirements.yml` 文件是针对于 Rancher Chart 的,但对于自定义 Chart 是可选的。
+
+```
+/
+ │
+ ├── charts/
+ │ ├── / # 这个目录名称将作为 Chart 名称出现在 Rancher UI 中。
+ │ │ ├── / # 这个级别的每个目录提供了不同的应用版本,可以在 Rancher UI 的 Chart 中选择。
+ │ │ │ ├── Chart.yaml # 必需的 Helm Chart 信息文件。
+ │ │ │ ├── questions.yaml # 在 Rancher UI 中显示的表单问题。问题显示在配置选项中。*
+ │ │ │ ├── README.md # 可选:在 Rancher UI 中显示的 Helm 自述文件。此文本显示在详细说明中。
+ │ │ │ ├── requirements.yml # 可选:列出 Chart 的依赖项的 YAML 文件。
+ │ │ │ ├── values.yml # Chart 的默认配置值。
+ │ │ │ ├── templates/ # 包含模板的目录,与 values.yml 一起能生成 Kubernetes YAML。
+```
+
+## Rancher Chart 的附加文件
+
+在创建你的自定义目录之前,你需要大致了解 Rancher chart 与原生 Helm chart 的区别。Rancher Chart 的目录结构与 Helm Chart 略有不同。Rancher Chart 包含两个 Helm Chart 没有的文件:
+
+- `app-readme.md`
+
+ 在 Chart 的 UI 标头中提供描述性文本的文件。
+
+- `questions.yml`
+
+ 包含表单问题的文件。这些表单问题简化了 Chart 的部署。没有它,你必须使用更复杂的 YAML 配置来配置部署。下图显示了 Rancher Chart(包含 `questions.yml`)和原生 Helm Chart(不包含)之间的区别。
+
+带有 questions.yml 的 Rancher Chart(上)与 Helm Chart(下)
+
+ 
+ 
+
+
+### Chart.yaml 注释
+
+Rancher 支持你添加到 `Chart.yaml` 文件的其他注释。这些注释允许你定义应用依赖项或配置其他 UI 默认值:
+
+| 注解 | 描述 | 示例 |
+| --------------------------------- | ----------- | ------- |
+| catalog.cattle.io/auto-install | 如果设置,将在安装此 Chart 之前先安装指定 Chart 的指定版本。 | other-chart-name=1.0.0 |
+| catalog.cattle.io/display-name | 要在应用市场中显示的名称,而不是 Chart 本身的名称。 | Chart 的显示名称 |
+| catalog.cattle.io/namespace | 用于部署 Chart 的固定命名空间。如果设置,则用户无法更改。 | fixed-namespace |
+| catalog.cattle.io/release-name | Helm 安装的固定版本名称。如果设置,则用户无法更改。 | fixed-release-name |
+| catalog.cattle.io/requests-cpu | 应该在集群中保留的 CPU 总量。如果可用 CPU 资源少于该值,将显示警告。 | 2000m |
+| catalog.cattle.io/requests-memory | 应该在集群中保留的内存总量。如果可用内存资源少于该值,将显示警告。 | 2Gi |
+| catalog.cattle.io/os | 限制可以安装此 Chart 的操作系统。可用值:`linux`、`windows`。默认:无限制 | linux |
+
+### questions.yml
+
+`questions.yml` 中大部分是向最终用户提出的问题,但也有一部分可以在此文件中设置字段。
+
+### 最低/最高 Rancher 版本
+
+你可以为每个 Chart 添加最低和/或最高的 Rancher 版本,这决定了该 Chart 是否可以从 Rancher 部署。
+
+:::note
+
+Rancher 版本带有 `v` 前缀,但是使用此选项时请*不要*包括前缀。
+
+:::
+
+```
+rancher_min_version: 2.3.0
+rancher_max_version: 2.3.99
+```
+
+### Question 变量参考
+
+此参考包含可以嵌套在 `questions:` 下的 `questions.yml` 中的变量:
+
+| 变量 | 类型 | 必填 | 描述 |
+| ------------- | ------------- | --- |------------- |
+| variable | string | true | 定义 `values.yml` 文件中指定的变量名,嵌套对象使用 `foo.bar`。 |
+| label | string | true | 定义 UI 标签。 |
+| description | string | false | 指定变量的描述。 |
+| type | string | false | 如果未指定,则默认为 `string`(支持的类型为 string、multiline、boolean、int、enum、password、storageclass、hostname、pvc 和 secret)。 |
+| required | bool | false | 定义变量是否是必须的(true \| false)。 |
+| default | string | false | 指定默认值。仅在 `values.yml` 文件中没有对应值时使用。 |
+| group | string | false | 按输入值对问题进行分组。 |
+| min_length | int | false | 最小字符长度。 |
+| max_length | int | false | 最大字符长度。 |
+| min | int | false | 最小整数长度。 |
+| max | int | false | 最大整数长度。 |
+| options | []string | false | 为 `enum` 类型的变量指定选项,例如:options: - "ClusterIP" - "NodePort" - "LoadBalancer" |
+| valid_chars | string | false | 输入字符验证的正则表达式。 |
+| invalid_chars | string | false | 无效输入字符验证的正则表达式。 |
+| subquestions | []subquestion | false | 添加一组子问题。 |
+| show_if | string | false | 如果条件变量为 true,则显示当前变量。例如 `show_if: "serviceType=Nodeport"` |
+| show\_subquestion_if | string | false | 如果为 true 或等于某个选项,则显示子问题。例如 `show_subquestion_if: "true"` |
+
+:::note
+
+`subquestions[]` 不能包含 `subquestions` 或 `show_subquestions_if` 键,但支持上表中的所有其他键。
+
+:::
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/amazon-elb-load-balancer.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/amazon-elb-load-balancer.md
new file mode 100644
index 00000000000..6486e4fc4ca
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/amazon-elb-load-balancer.md
@@ -0,0 +1,175 @@
+---
+title: 设置 Amazon NLB 网络负载均衡器
+---
+
+本文介绍了如何在 Amazon EC2 服务中设置 Amazon NLB 网络负载均衡器,用于将流量转发到 EC2 上的多个实例中。
+
+这些示例中,负载均衡器将流量转发到三个 Rancher Server 节点。如果 Rancher 安装在 RKE Kubernetes 集群上,则需要三个节点。如果 Rancher 安装在 K3s Kubernetes 集群上,则只需要两个节点。
+
+本文介绍的只是配置负载均衡器的其中一种方式。其他负载均衡器如传统负载路由器(Classic Load Balancer)和应用负载路由器(Application Load Balancer),也可以将流量转发到 Rancher Server 节点。
+
+Rancher 仅支持使用 Amazon NLB 以 `TCP` 模式终止 443 端口的流量,而不支持 `TLS` 模式。这试因为在 NLB 终止时,NLB 不会将正确的标头注入请求中。如果你想使用由 Amazon Certificate Manager (ACM) 托管的证书,请使用 ALB。
+
+
+
+## 要求
+
+你已在 EC2 中创建了 Linux 实例。此外,负载均衡器会把流量转发到这些节点。
+
+## 1. 创建目标组
+
+首先,为 **TCP** 协议创建两个目标组,其中一个使用 TCP 端口 443,另一个使用 TCP 端口 80(用于重定向到 TCP 端口 443)。然后,将 Linux 节点添加到这些组中。
+
+配置 NLB 的第一个步骤是创建两个目标组。一般来说,只需要端口 443 就可以访问 Rancher。但是,由于端口 80 的流量会被自动重定向到端口 443,因此,你也可以为端口 80 也添加一个监听器。
+
+不管使用的是 NGINX Ingress 还是 Traefik Ingress Controller,Ingress 都应该将端口 80 的流量重定向到端口 443。以下为操作步骤:
+
+1. 登录到 [Amazon AWS 控制台](https://console.aws.amazon.com/ec2/)。确保选择的**区域**是你创建 EC2 实例 (Linux 节点)的区域。
+1. 选择**服务** > **EC2**,找到**负载均衡器**并打开**目标组**。
+1. 单击**创建目标组**,然后创建用于 TCP 端口 443 的第一个目标组。
+
+:::note
+
+不同 Ingress 的健康检查处理方法不同。详情请参阅[本节](#nginx-ingress-和-traefik-ingress-的健康检查路径)。
+
+:::
+
+#### 目标组(TCP 端口 443)
+
+根据下表配置第一个目标组:
+
+| 选项 | 设置 |
+|-------------------|-------------------|
+| 目标组名称 | `rancher-tcp-443` |
+| 目标类型 | `instance` |
+| 协议 | `TCP` |
+| 端口 | `443` |
+| VPC | 选择 VPC |
+
+健康检查设置:
+
+| 选项 | 设置 |
+|---------------------|-----------------|
+| 协议 | TCP |
+| 端口 | `override`,`80` |
+| 健康阈值 | `3` |
+| 不正常阈值 | `3` |
+| 超时 | `6 秒` |
+| 间隔 | `10 秒` |
+
+单击**创建目标组**,然后创建用于 TCP 端口 80 的第二个目标组。
+
+#### 目标组(TCP 端口 80)
+
+根据下表配置第二个目标组:
+
+| 选项 | 设置 |
+|-------------------|------------------|
+| 目标组名称 | `rancher-tcp-80` |
+| 目标类型 | `instance` |
+| 协议 | `TCP` |
+| 端口 | `80` |
+| VPC | 选择 VPC |
+
+
+健康检查设置:
+
+| 选项 | 设置 |
+|---------------------|----------------|
+| 协议 | TCP |
+| 端口 | `traffic port` |
+| 健康阈值 | `3` |
+| 不正常阈值 | `3` |
+| 超时 | `6 秒` |
+| 间隔 | `10 秒` |
+
+## 2. 注册目标
+
+接下来,将 Linux 节点添加到两个目标组中。
+
+选择名为 **rancher-tcp-443** 的目标组,点击**目标**选项卡并选择**编辑**。
+
+
+
+选择你要添加的实例(Linux 节点),然后单击**添加到已注册**。
+
+***
+**将目标添加到目标组 TCP 端口 443**
+
+
+
+***
+**已将目标添加到目标组 TCP 端口 443**
+
+
+
+添加实例后,单击右下方的**保存**。
+
+将 **rancher-tcp-443** 替换为 **rancher-tcp-80**,然后重复上述步骤。你需要将相同的实例作为目标添加到此目标组。
+
+## 3. 创建 NLB
+
+使用 Amazon 的向导创建网络负载均衡器。在这个过程中,你需要添加在 [1. 创建目标组](#1-创建目标组)中创建的目标组。
+
+1. 在网页浏览器中,导航到 [Amazon EC2 控制台](https://console.aws.amazon.com/ec2/)。
+
+2. 在导航栏中,选择**负载均衡** > **负载均衡器**。
+
+3. 单击**创建负载均衡器**。
+
+4. 选择**网络负载均衡器**并单击**创建**。然后,填写每个表格。
+
+- [步骤 1:配置负载均衡器](#步骤-1配置负载均衡器)
+- [步骤 2:配置路由](#步骤-2配置路由)
+- [步骤 3:注册目标](#步骤-3注册目标)
+- [步骤 4:审核](#步骤-4审核)
+
+### 步骤 1:配置负载均衡器
+
+在表单中设置以下字段:
+
+- **名称**:`rancher`
+- **Scheme**:`internal` 或 `internet-facing`。实例和 VPC 的配置决定了 NLB 的 Scheme。如果你的实例没有绑定公共 IP,或者你只需要通过内网访问 Rancher,请将 NLB 的 Scheme 设置为 `internal` 而不是 `internet-facing`。
+- **监听器**:负载均衡器协议需要是 `TCP`,而且负载均衡器端口需要设为 `443`。
+- **可用区:**选择你的**VPC**和**可用区**。
+
+### 步骤 2:配置路由
+
+1. 从**目标组**下拉列表中,选择 **现有目标组**。
+1. 从**名称**下拉列表中,选择 `rancher-tcp-443`。
+1. 打开**高级健康检查设置**,并将**间隔**设为 `10 秒`。
+
+### 步骤 3:注册目标
+
+由于你已经在先前步骤注册了目标,因此你只需单击 **下一步:审核**。
+
+### 步骤 4:审核
+
+检查负载均衡器信息无误后,单击**创建**。
+
+AWS 完成 NLB 创建后,单击**关闭**。
+
+## 4. 为 TCP 端口 80 向 NLB 添加监听器
+
+1. 选择新创建的 NLB 并选择**监听器**选项卡。
+
+2. 单击**添加监听器**。
+
+3. 使用 `TCP`:`80` 作为**协议**:**端口**。
+
+4. 单击**添加操作**并选择**转发到..**。
+
+5. 从**转发到**下拉列表中,选择 `rancher-tcp-80`。
+
+6. 单击右上角的**保存**。
+
+## NGINX Ingress 和 Traefik Ingress 的健康检查路径
+
+K3s 和 RKE Kubernetes 集群使用的默认 Ingress 不同,因此对应的健康检查方式也不同。
+
+RKE Kubernetes 集群默认使用 NGINX Ingress,而 K3s Kubernetes 集群默认使用 Traefik Ingress。
+
+- **Traefik**:默认健康检查路径是 `/ping`。默认情况下,不管主机如何,`/ping` 总是匹配,而且 [Traefik 自身](https://docs.traefik.io/operations/ping/)总会响应。
+- **NGINX Ingress**:NGINX Ingress Controller 的默认后端有一个 `/healthz` 端点。默认情况下,不管主机如何,`/healthz` 总是匹配,而且 [`ingress-nginx` 自身](https://github.com/kubernetes/ingress-nginx/blob/0cbe783f43a9313c9c26136e888324b1ee91a72f/charts/ingress-nginx/values.yaml#L212)总会响应。
+
+想要精确模拟健康检查,最好是使用 Host 标头(Rancher hostname)加上 `/ping` 或 `/healthz`(分别对应 K3s 和 RKE 集群)来获取 Rancher Pod 的响应,而不是 Ingress 的响应。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/ha-k3s-kubernetes-cluster.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/ha-k3s-kubernetes-cluster.md
new file mode 100644
index 00000000000..277961c5dae
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/ha-k3s-kubernetes-cluster.md
@@ -0,0 +1,73 @@
+---
+title: 为高可用 K3s Kubernetes 集群设置基础设施
+---
+
+本教程旨在帮助你为 Rancher Management Server 配置底层基础设施。
+
+我们根据 Rancher 的安装位置(K3s Kubernetes 集群、RKE Kubernetes 集群或单个 Docker 容器)为专用于 Rancher 的 Kubernetes 集群推荐不同基础设施。
+
+有关每个安装选项的详情,请参见[本页](../../../pages-for-subheaders/installation-and-upgrade.md)。
+
+:::note 重要提示:
+
+这些节点必须位于同一个区域。但是你可以把这些服务器放在不同的可用区(数据中心)。
+
+:::
+
+如需在高可用 K3s 集群中安装 Rancher Management Server,我们建议配置以下基础设施:
+
+- **2 个 Linux 节点**:可以是你的云提供商中的虚拟机。
+- **1 个外部数据库**:用于存储集群数据。建议使用 MySQL。
+- **1 个负载均衡器**:用于将流量转发到这两个节点中。
+- **1 个 DNS 记录**:用于将 URL 映射到负载均衡器。此 DNS 记录将成为 Rancher Server 的 URL,下游集群需要可以访问到这个地址。
+
+### 1. 配置 Linux 节点
+
+请确保你的节点满足[操作系统,容器运行时,硬件和网络](../../../pages-for-subheaders/installation-requirements.md)的常规要求。
+
+如需获取配置 Linux 节点的示例,请参见[在 Amazon EC2 中配置节点](nodes-in-amazon-ec2.md)的教程。
+
+### 2. 配置外部数据库
+
+K3s 与其他 Kubernetes 发行版不同,在于其支持使用 etcd 以外的数据库来运行 Kubernetes。该功能让 Kubernetes 运维更加灵活。你可以根据实际情况选择合适的数据库。
+
+对于 K3s 高可用安装,你需要配置一个 [MySQL](https://www.mysql.com/) 外部数据库。Rancher 已在使用 MySQL 5.7 作为数据存储的 K3s Kubernetes 集群上进行了测试。
+
+在使用 K3s 安装脚本安装 Kubernetes 时,你需要传入 K3s 连接数据库的详细信息。
+
+如需获取配置 MySQL 数据库示例,请参见[在 Amazon RDS 服务中配置 MySQL](mysql-database-in-amazon-rds.md) 的教程。
+
+如需获取配置 K3s 集群数据库的所有可用选项,请参见 [K3s 官方文档](https://rancher.com/docs/k3s/latest/en/installation/datastore/)。
+
+### 3. 配置负载均衡器
+
+你还需要设置一个负载均衡器,来将流量重定向到两个节点上的 Rancher 副本。配置后,当单个节点不可用时,继续保障与 Rancher Management Server 的通信。
+
+在后续步骤中配置 Kubernetes 时,K3s 工具会部署一个 Traefik Ingress Controller。该 Controller 将侦听 worker 节点的 80 端口和 443 端口,以响应发送给特定主机名的流量。
+
+在安装 Rancher 后(也是在后续步骤中),Rancher 系统将创建一个 Ingress 资源。该 Ingress 通知 Traefik Ingress Controller 监听发往 Rancher 主机名的流量。Traefik Ingress Controller 在收到发往 Rancher 主机名的流量时,会将其转发到集群中正在运行的 Rancher Server Pod。
+
+在你的实现中,你可以考虑是否需要使用 4 层或 7 层的负载均衡器:
+
+- **4 层负载均衡器**:两种选择中较为简单的一种,它将 TCP 流量转发到你的节点中。我们建议使用 4 层负载均衡器,将流量从 TCP/80 端口和 TCP/443 端口转发到 Rancher Management 集群节点上。集群上的 Ingress Controller 会将 HTTP 流量重定向到 HTTPS,并在 TCP/443 端口上终止 SSL/TLS。Ingress Controller 会将流量转发到 Rancher deployment 中 Ingress Pod 的 TCP/80 端口。
+- **7 层负载均衡器**:相对比较复杂,但功能更全面。例如,与 Rancher 本身进行 TLS 终止相反,7 层负载均衡器能够在负载均衡器处处理 TLS 终止。如果你需要集中在基础设施中进行 TLS 终止,7 层负载均衡可能会很适合你。7 层负载均衡还能让你的负载均衡器基于 HTTP 属性(例如 cookie 等)做出决策,而 4 层负载均衡器则不能。如果你选择在 7 层负载均衡器上终止 SSL/TLS 流量,则在安装 Rancher 时(后续步骤)需要使用 `--set tls=external` 选项。详情请参见 [Rancher Helm Chart 选项](../../../getting-started/installation-and-upgrade/installation-references/helm-chart-options.md#外部-tls-终止)。
+
+如需获取配置 NGINX 负载均衡器的示例,请参见[本页](nginx-load-balancer.md)。
+
+如需获取如何配置 Amazon ELB 网络负载均衡器的指南,请参见[本页](amazon-elb-load-balancer.md)。
+
+:::caution
+
+安装后,请勿将此负载均衡(例如 `local` 集群 Ingress)用于 Rancher 以外的应用。如果此 Ingress 与其他应用共享,在其他应用的 Ingress 配置重新加载后,可能导致 Rancher 出现 websocket 错误。我们建议把 `local` 集群专用给 Rancher,不要在集群内部署其他应用。
+
+:::
+
+### 4. 配置 DNS 记录
+
+配置完负载均衡器后,你将需要创建 DNS 记录,以将流量发送到该负载均衡器。
+
+根据你的环境,DNS 记录可以是指向负载均衡器 IP 的 A 记录,也可以是指向负载均衡器主机名的 CNAME。无论是哪种情况,请确保该记录是你要 Rancher 进行响应的主机名。
+
+在安装 Rancher 时(后续步骤),你需要指定此主机名。请知悉,此主机名无法修改。请确保你设置的主机名是你想要的。
+
+有关设置 DNS 记录以将域流量转发到 Amazon ELB 负载均衡器的指南,请参见 [AWS 官方文档](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-elb-load-balancer)。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/ha-rke1-kubernetes-cluster.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/ha-rke1-kubernetes-cluster.md
new file mode 100644
index 00000000000..24387c1f786
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/ha-rke1-kubernetes-cluster.md
@@ -0,0 +1,64 @@
+---
+title: 为高可用 RKE Kubernetes 集群设置基础设施
+---
+
+本教程旨在帮助你创建一个高可用的 RKE 集群,用于安装 Rancher Server。
+
+:::note 重要提示:
+
+这些节点必须位于同一个区域。但是你可以把这些服务器放在不同的可用区(数据中心)。
+
+:::
+
+如需在高可用 RKE 集群中安装 Rancher Management Server,我们建议配置以下基础设施:
+
+- **3 个 Linux 节点**:可以是你的云提供商(例如 Amazon EC2,GCE 或 vSphere)中的虚拟机。
+- **1 个负载均衡器**:用于将前端流量转发到这三个节点中。
+- **1 个 DNS 记录**:用于将 URL 映射到负载均衡器。此 DNS 记录将成为 Rancher Server 的 URL,下游集群需要可以访问到这个地址。
+
+这些节点必须位于同一个区域或数据中心。但是你可以把这些服务器放在不同的可用区。
+
+### 为什么使用三个节点?
+
+在 RKE 集群中,Rancher Server 的数据存储在 etcd 中。而这个 etcd 数据库在这三个节点上运行。
+
+为了选举出大多数 etcd 节点认可的 etcd 集群 leader,etcd 数据库需要奇数个节点。如果 etcd 数据库无法选出 leader,etcd 可能会出现[脑裂(split brain)](https://www.quora.com/What-is-split-brain-in-distributed-systems)的问题,此时你需要使用备份恢复集群。如果三个 etcd 节点之一发生故障,其余两个节点可以选择一个 leader,因为它们是 etcd 节点总数的大多数部分。
+
+### 1. 配置 Linux 节点
+
+请确保你的节点满足[操作系统,容器运行时,硬件和网络](../../../pages-for-subheaders/installation-requirements.md)的常规要求。
+
+如需获取配置 Linux 节点的示例,请参见[在 Amazon EC2 中配置节点](nodes-in-amazon-ec2.md)的教程。
+
+### 2. 配置负载均衡器
+
+你还需要设置一个负载均衡器,来将流量重定向到三个节点中的任意一个节点上的 Rancher 副本。配置后,当单个节点不可用时,继续保障与 Rancher Management Server 的通信。
+
+在后续步骤中配置 Kubernetes 时,RKE 工具会部署一个 NGINX Ingress Controller。该 Controller 将侦听 worker 节点的 80 端口和 443 端口,以响应发送给特定主机名的流量。
+
+在安装 Rancher 后(也是在后续步骤中),Rancher 系统将创建一个 Ingress 资源。该 Ingress 通知 NGINX Ingress Controller 监听发往 Rancher 主机名的流量。NGINX Ingress Controller 在收到发往 Rancher 主机名的流量时,会将其转发到集群中正在运行的 Rancher Server Pod。
+
+在你的实现中,你可以考虑是否需要使用 4 层或 7 层的负载均衡器:
+
+- **4 层负载均衡器**:两种选择中较为简单的一种,它将 TCP 流量转发到你的节点中。我们建议使用 4 层负载均衡器,将流量从 TCP/80 端口和 TCP/443 端口转发到 Rancher Management 集群节点上。集群上的 Ingress Controller 会将 HTTP 流量重定向到 HTTPS,并在 TCP/443 端口上终止 SSL/TLS。Ingress Controller 会将流量转发到 Rancher deployment 中 Ingress Pod 的 TCP/80 端口。
+- **7 层负载均衡器**:相对比较复杂,但功能更全面。例如,与 Rancher 本身进行 TLS 终止相反,7 层负载均衡器能够在负载均衡器处处理 TLS 终止。如果你需要集中在基础设施中进行 TLS 终止,7 层负载均衡可能会很适合你。7 层负载均衡还能让你的负载均衡器基于 HTTP 属性(例如 cookie 等)做出决策,而 4 层负载均衡器则不能。如果你选择在 7 层负载均衡器上终止 SSL/TLS 流量,则在安装 Rancher 时(后续步骤)需要使用 `--set tls=external` 选项。详情请参见 [Rancher Helm Chart 选项](../../../getting-started/installation-and-upgrade/installation-references/helm-chart-options.md#外部-tls-终止)。
+
+如需获取配置 NGINX 负载均衡器的示例,请参见[本页](nginx-load-balancer.md)。
+
+如需获取如何配置 Amazon ELB 网络负载均衡器的指南,请参见[本页](amazon-elb-load-balancer.md)。
+
+:::caution
+
+安装后,请勿将此负载均衡(例如 `local` 集群 Ingress)用于 Rancher 以外的应用。如果此 Ingress 与其他应用共享,在其他应用的 Ingress 配置重新加载后,可能导致 Rancher 出现 websocket 错误。我们建议把 `local` 集群专用给 Rancher,不要在集群内部署其他应用。
+
+:::
+
+### 3. 配置 DNS 记录
+
+配置完负载均衡器后,你将需要创建 DNS 记录,以将流量发送到该负载均衡器。
+
+根据你的环境,DNS 记录可以是指向负载均衡器 IP 的 A 记录,也可以是指向负载均衡器主机名的 CNAME。无论是哪种情况,请确保该记录是你要 Rancher 进行响应的主机名。
+
+在安装 Rancher 时(后续步骤),你需要指定此主机名。请知悉,此主机名无法修改。请确保你设置的主机名是你想要的。
+
+有关设置 DNS 记录以将域流量转发到 Amazon ELB 负载均衡器的指南,请参见 [AWS 官方文档](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-elb-load-balancer)。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/ha-rke2-kubernetes-cluster.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/ha-rke2-kubernetes-cluster.md
new file mode 100644
index 00000000000..0af8f17b3bb
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/ha-rke2-kubernetes-cluster.md
@@ -0,0 +1,58 @@
+---
+title: 为高可用 RKE2 Kubernetes 集群设置基础设施
+---
+
+本教程旨在帮助你为 Rancher Management Server 配置底层基础设施。
+
+我们根据 Rancher 的安装位置(RKE2 Kubernetes 集群、RKE Kubernetes 集群或单个 Docker 容器)为专用于 Rancher 的 Kubernetes 集群推荐不同基础设施。
+
+:::note 重要提示:
+
+这些节点必须位于同一个区域。但是你可以把这些服务器放在不同的可用区(数据中心)。
+
+:::
+
+如需在高可用 RKE2 集群中安装 Rancher Management Server,我们建议配置以下基础设施:
+
+- **3 个 Linux 节点**:可以是你的云提供商中的虚拟机。
+- **1 个负载均衡器**:用于将流量转发到这两个节点中。
+- **1 个 DNS 记录**:用于将 URL 映射到负载均衡器。此 DNS 记录将成为 Rancher Server 的 URL,下游集群需要可以访问到这个地址。
+
+### 1. 配置 Linux 节点
+
+请确保你的节点满足[操作系统,容器运行时,硬件和网络](../../../pages-for-subheaders/installation-requirements.md)的常规要求。
+
+如需获取配置 Linux 节点的示例,请参见[在 Amazon EC2 中配置节点](nodes-in-amazon-ec2.md)的教程。
+
+### 2. 配置负载均衡器
+
+你还需要设置一个负载均衡器,来将流量重定向到所有节点上的 Rancher 副本。配置后,当单个节点不可用时,继续保障与 Rancher Management Server 的通信。
+
+在后续步骤中配置 Kubernetes 时,RKE2 工具会部署一个 NGINX Ingress Controller。该 Controller 将侦听 worker 节点的 80 端口和 443 端口,以响应发送给特定主机名的流量。
+
+在安装 Rancher 后(也是在后续步骤中),Rancher 系统将创建一个 Ingress 资源。该 Ingress 通知 NGINX Ingress Controller 监听发往 Rancher 主机名的流量。NGINX Ingress Controller 在收到发往 Rancher 主机名的流量时,会将其转发到集群中正在运行的 Rancher Server Pod。
+
+在你的实现中,你可以考虑是否需要使用 4 层或 7 层的负载均衡器:
+
+- **4 层负载均衡器**:两种选择中较为简单的一种,它将 TCP 流量转发到你的节点中。我们建议使用 4 层负载均衡器,将流量从 TCP/80 端口和 TCP/443 端口转发到 Rancher Management 集群节点上。集群上的 Ingress Controller 会将 HTTP 流量重定向到 HTTPS,并在 TCP/443 端口上终止 SSL/TLS。Ingress Controller 会将流量转发到 Rancher deployment 中 Ingress Pod 的 TCP/80 端口。
+- **7 层负载均衡器**:相对比较复杂,但功能更全面。例如,与 Rancher 本身进行 TLS 终止相反,7 层负载均衡器能够在负载均衡器处处理 TLS 终止。如果你需要集中在基础设施中进行 TLS 终止,7 层负载均衡可能会很适合你。7 层负载均衡还能让你的负载均衡器基于 HTTP 属性(例如 cookie 等)做出决策,而 4 层负载均衡器则不能。如果你选择在 7 层负载均衡器上终止 SSL/TLS 流量,则在安装 Rancher 时(后续步骤)需要使用 `--set tls=external` 选项。详情请参见 [Rancher Helm Chart 选项](../../../getting-started/installation-and-upgrade/installation-references/helm-chart-options.md#外部-tls-终止)。
+
+如需获取配置 NGINX 负载均衡器的示例,请参见[本页](nginx-load-balancer.md)。
+
+如需获取如何配置 Amazon ELB 网络负载均衡器的指南,请参见[本页](amazon-elb-load-balancer.md)。
+
+:::caution
+
+安装后,请勿将此负载均衡(例如 `local` 集群 Ingress)用于 Rancher 以外的应用。如果此 Ingress 与其他应用共享,在其他应用的 Ingress 配置重新加载后,可能导致 Rancher 出现 websocket 错误。我们建议把 `local` 集群专用给 Rancher,不要在集群内部署其他应用。
+
+:::
+
+### 4. 配置 DNS 记录
+
+配置完负载均衡器后,你将需要创建 DNS 记录,以将流量发送到该负载均衡器。
+
+根据你的环境,DNS 记录可以是指向负载均衡器 IP 的 A 记录,也可以是指向负载均衡器主机名的 CNAME。无论是哪种情况,请确保该记录是你要 Rancher 进行响应的主机名。
+
+在安装 Rancher 时(后续步骤),你需要指定此主机名。请知悉,此主机名无法修改。请确保你设置的主机名是你想要的。
+
+有关设置 DNS 记录以将域流量转发到 Amazon ELB 负载均衡器的指南,请参见 [AWS 官方文档](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-elb-load-balancer)。
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/mysql-database-in-amazon-rds.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/mysql-database-in-amazon-rds.md
new file mode 100644
index 00000000000..d312a5f6207
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/mysql-database-in-amazon-rds.md
@@ -0,0 +1,34 @@
+---
+title: 在 Amazon RDS 中创建 MySQL 数据库
+---
+
+本教程介绍如何在 Amazon Relational Database Service (RDS) 中创建 MySQL 数据库。
+
+该数据库可用作高可用 K3s Kubernetes 集群的外部数据存储。
+
+1. 登录到 [Amazon AWS RDS 控制台](https://console.aws.amazon.com/rds/)。确保选择的**区域**是你创建 EC2 实例 (Linux 节点)的区域。
+1. 在左侧面板中,点击**数据库**。
+1. 点击**创建数据库**。
+1. 在**引擎类型**中,点击 **MySQL**。
+1. 在**版本**中,选择 **MySQL 5.7.22**。
+1. 在**设置**部分的**凭证设置**下,输入 **admin** 主用户名的密码。确认密码。
+1. 展开**其它配置**。在**初始数据库名称**字段,设置数据库名称。该名称仅可包含字母,数字和下划线。这个名称会用于连接到数据库。
+1. 点击**创建数据库**。
+
+你需要获取新数据库的以下信息,以便 K3s Kubernetes 集群可以连接到该数据库。
+
+如需在 Amazon RDS 控制台查看此信息,点击**数据库**,然后点击你创建的数据库的名称。
+
+- **用户名**:使用 admin 用户名。
+- **密码**:使用 admin 密码。
+- **主机名**:使用**端点**作为主机名。端点可以在**连接性和安全性**部分找到。
+- **端口**:默认为 3306。你可以在**连接性和安全性**处确认端口。
+- **数据库名称**:前往**配置**选项卡确认数据库名称。名称会在**数据库名称**中列出。
+
+以下方格式使用上述信息,连接到数据库:
+
+```
+mysql://username:password@tcp(hostname:3306)/database-name
+```
+
+有关为 K3s 配置数据库的详情,请参见 [K3s 官方文档](https://rancher.com/docs/k3s/latest/en/installation/datastore/)。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/nginx-load-balancer.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/nginx-load-balancer.md
new file mode 100644
index 00000000000..b686c28221a
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/nginx-load-balancer.md
@@ -0,0 +1,102 @@
+---
+title: 配置 NGINX 负载均衡器
+---
+
+将 NGINX 配置为四层负载均衡器(TCP),用于将连接转发到 Rancher 节点。
+
+在此配置中,负载均衡器位于节点的前面。负载均衡器可以是任何能运行 NGINX 的主机。
+
+:::note
+
+不要使用 Rancher 节点作为负载均衡器。
+
+:::
+
+> 这些示例中,负载均衡器将流量转发到三个 Rancher Server 节点。如果 Rancher 安装在 RKE Kubernetes 集群上,则需要三个节点。如果 Rancher 安装在 K3s Kubernetes 集群上,则只需要两个节点。
+
+## 安装 NGINX
+
+首先,在要用作负载均衡器的节点上安装 NGINX。NGINX 有适用于所有已知操作系统的软件包。已测试的版本为 `1.14` 和 `1.15`。如需获得安装 NGINX 的帮助,请参见[安装文档](https://www.nginx.com/resources/wiki/start/topics/tutorials/install/)。
+
+`stream` 模块是必需的,NGINX 官方安装包包含了该模块。请参见你操作系统的文档,了解如何在操作系统上安装和启用 NGINX 的 `stream` 模块。
+
+## 创建 NGINX 配置
+
+安装 NGINX 后,使用节点的 IP 地址更新 NGINX 配置文件 `nginx.conf`。
+
+1. 将以下的示例代码复制并粘贴到你使用的文本编辑器中。将文件保存为 `nginx.conf`。
+
+2. 在 `nginx.conf` 中,将所有(端口 80 和端口 443)的 ``,``和 `` 替换为你节点的 IP 地址。
+
+ :::note
+
+ 参见 [NGINX 文档:TCP 和 UDP 负载均衡](https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/)了解所有配置选项。
+
+ :::
+
+示例 NGINX 配置
+
+ ```
+ worker_processes 4;
+ worker_rlimit_nofile 40000;
+
+ events {
+ worker_connections 8192;
+ }
+
+ stream {
+ upstream rancher_servers_http {
+ least_conn;
+ server :80 max_fails=3 fail_timeout=5s;
+ server :80 max_fails=3 fail_timeout=5s;
+ server :80 max_fails=3 fail_timeout=5s;
+ }
+ server {
+ listen 80;
+ proxy_pass rancher_servers_http;
+ }
+
+ }
+
+ http {
+
+ upstream rancher_servers_https {
+ least_conn;
+ server :443 max_fails=3 fail_timeout=5s;
+ server :443 max_fails=3 fail_timeout=5s;
+ server :443 max_fails=3 fail_timeout=5s;
+ }
+ server {
+ listen 443 ssl;
+ proxy_pass rancher_servers_https;
+ ssl_certificate /path/to/tls.crt;
+ ssl_certificate_key /path/to/key.key;
+ location / {
+ proxy_pass https://rancher_servers_https;
+ proxy_set_header Host ;
+ proxy_ssl_server_name on;
+ proxy_ssl_name
+ }
+ }
+ }
+ ```
+
+
+3. 将 `nginx.conf` 保存到你的负载均衡器的 `/etc/nginx/nginx.conf` 路径上。
+
+4. 运行以下命令重新加载 NGINX 配置:
+
+ ```
+ # nginx -s reload
+ ```
+
+## 可选 - 将 NGINX 作为 Docker 容器运行
+
+除了将 NGINX 作为软件包安装在操作系统上外,你也可以将其作为 Docker 容器运行。将编辑后的 **NGINX 配置示例** 保存为`/etc/nginx.conf`,并运行以下命令来启动 NGINX 容器:
+
+```
+docker run -d --restart=unless-stopped \
+ -p 80:80 -p 443:443 \
+ -v /etc/nginx.conf:/etc/nginx/nginx.conf \
+ nginx:1.14
+```
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/nodes-in-amazon-ec2.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/nodes-in-amazon-ec2.md
new file mode 100644
index 00000000000..21294b1016e
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/infrastructure-setup/nodes-in-amazon-ec2.md
@@ -0,0 +1,74 @@
+---
+title: 在 Amazon EC2 中配置节点
+---
+
+在本教程中,你将学习一种为 Rancher Mangement Server 创建 Linux 节点的方法。这些节点将满足[操作系统、Docker、硬件和网络的要求](../../../pages-for-subheaders/installation-requirements.md)。
+
+如果 Rancher Server 安装在 RKE Kubernetes 集群上,你需要配置三个实例。
+
+如果 Rancher Server 安装在 K3s Kubernetes 集群上,你只需要配置两个实例。
+
+如果 Rancher Server 安装在单个 Docker 容器中,你只需要配置一个实例。
+
+### 1. 准备工作(可选)
+
+- **创建 IAM 角色**:要允许 Rancher 操作 AWS 资源,例如创建新存储或新节点,你需要将 Amazon 配置为云提供商。要在 EC2 上设置云提供商,你需要进行几个操作,其中包括为 Rancher Server 节点设置 IAM 角色。有关设置云提供商的详情,请参见[本页](../../../pages-for-subheaders/set-up-cloud-providers.md)。
+- **创建安全组**:我们建议为 Rancher 节点设置一个符合 [Rancher 节点端口要求](../../../pages-for-subheaders/installation-requirements.md#端口要求)的安全组。
+
+### 2. 配置实例
+
+1. 登录到 [Amazon AWS EC2 控制台](https://console.aws.amazon.com/ec2/)。由于 Rancher Management Server 的所有基础设施都需要位于同一区域,因此,请务必记下创建 EC2 实例(Linux 节点)的**区域**。
+1. 在左侧面板中,点击**实例**。
+1. 点击**启动示例**。
+1. 在**步骤 1:选择 Amazon Machine Image (AMI)** 中,使用 `ami-0d1cd67c26f5fca19 (64-bit x86)` 来使用 Ubuntu 18.04 作为 Linux 操作系统。去到 Ubuntu AMI 并点击**选择**。
+1. 在**步骤 2:选择实例类型**中,选择 `t2.medium`。
+1. 点击**下一步:配置实例详细信息**。
+1. 在**实例数量**字段中,输入实例数量。创建高可用 K3s 集群仅需要两个实例,而高可用 RKE 集群则需要三个实例。
+1. 可选:如果你为 Rancher 创建了一个 IAM 角色来操作 AWS 资源,请在 **IAM 角色**字段中选择新 IAM 角色。
+1. 分别点击**下一步:添加存储**,**下一步:添加标签**和**下一步:配置安全组**。
+1. 在**步骤 6:配置安全组**中,选择一个符合 Rancher 节点[端口要求](../../../pages-for-subheaders/installation-requirements.md#端口要求)的安全组。
+1. 点击**查看并启动**。
+1. 点击**启动**。
+1. 选择一个新的或现有的密钥对,用于之后连接到你的实例。如果使用现有密钥对,请确保你有访问私钥的权限。
+1. 点击**启动实例**。
+
+
+**结果**:你已创建满足操作系统、硬件和网络要求的 Rancher 节点。
+
+:::note
+
+如果节点用于 RKE Kubernetes 集群,请在下一步操作中为每个节点安装 Docker 。如果节点用于 K3s Kubernetes 集群,你可以开始在节点上安装 K3s 了。
+
+:::
+
+### 3. 为 RKE Kubernetes 集群节点安装 Docker 并创建用户
+
+1. 在 [AWS EC2 控制台](https://console.aws.amazon.com/ec2/)中,点击左侧面板中的**实例**。
+1. 转到你想要安装 Docker 的实例。选择实例,并点击**操作 > 连接**。
+1. 按照屏幕上的说明连接到实例。复制实例的公共 DNS。SSH 进入实例的示例命令如下:
+```
+sudo ssh -i [path-to-private-key] ubuntu@[public-DNS-of-instance]
+```
+1. 在实例上运行以下命令,使用 Rancher 的其中一个安装脚本来安装 Docker:
+```
+curl https://releases.rancher.com/install-docker/18.09.sh | sh
+```
+1. 连接到实例后,在实例上运行以下命令来创建用户:
+```
+sudo usermod -aG docker ubuntu
+```
+1. 在每个节点上重复上述步骤,以确保 Docker 安装到每个用于运行 Rancher Management Server 的节点上。
+
+:::tip
+
+要了解我们是否提供指定的 Docker 版本的安装脚本,请访问此 [GitHub 仓库](https://github.com/rancher/install-docker),该仓库包含 Rancher 的所有 Docker 安装脚本。
+
+:::
+
+**结果**:你已配置满足操作系统、Docker、硬件和网络要求的 Rancher Server 节点。
+
+### RKE Kubernetes 集群节点的后续步骤
+
+如需在新节点上安装 RKE 集群,请记住每个节点的 **IPv4 公共 IP** 和 **私有 IP**。创建节点后,此信息可以在每个节点的**描述**选项卡中找到。公共和私有 IP 将用于设置 RKE 集群配置文件 `rancher-cluster.yml` 中每个节点的 `address` 和 `internal_address`。
+
+RKE 还需要访问私钥才能连接到每个节点。因此,请记住连接到节点的私钥的路径,该路径也可用于设置 `rancher-cluster.yml` 中每个节点的 `ssh_key_path`。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-cluster-setup/high-availability-installs.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-cluster-setup/high-availability-installs.md
new file mode 100644
index 00000000000..2f28274e31b
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-cluster-setup/high-availability-installs.md
@@ -0,0 +1,25 @@
+---
+title: 高可用安装
+---
+
+我们建议使用 Helm( Kubernetes 包管理器 )在专用的 Kubernetes 集群上安装 Rancher。由于 Rancher 运行在多个节点上提升了可用性,因此这种安装方式叫做高可用 Kubernetes 安装。
+
+在标准安装中,先将 Kubernetes 安装在托管在云提供商(例如 Amazon 的 EC2 或 Google Compute Engine)中的三个节点上。
+
+然后使用 Helm 在 Kubernetes 集群上安装 Rancher。Helm 使用 Rancher 的 Helm Chart 在 Kubernetes 集群的三个节点中均安装 Rancher 的副本。我们建议使用负载均衡器将流量转发到集群中的每个 Rancher 副本中,以提高 Rancher 的可用性。
+
+Rancher Server 的数据存储在 etcd 中。etcd 数据库可以在所有三个节点上运行。为了选举出大多数 etcd 节点认同的 etcd 集群 leader,节点的数量需要是奇数。如果 etcd 数据库不能选出 leader,etcd 可能会失败。这时候就需要使用备份来还原集群。
+
+有关 Rancher 如何工作的详情(与安装方法无关),请参见[架构](../../../pages-for-subheaders/rancher-manager-architecture.md)。
+
+### 推荐架构
+
+- Rancher 的 DNS 应该解析为 4 层负载均衡器。
+- 负载均衡器应该把 TCP/80 端口和 TCP/443 端口的流量转发到 Kubernetes 集群的全部 3 个节点上。
+- Ingress Controller 会把 HTTP 重定向到 HTTPS,在 TCP/443 端口终结 SSL/TLS。
+- Ingress Controller 会把流量转发到 Rancher deployment 的 Pod 上的 TCP/80 端口。
+
+使用 4 层负载均衡器在 Kubernetes 集群中安装 Rancher:Ingress Controller 的 SSL 终止:
+
+
+使用 4 层负载均衡器在 Kubernetes 集群中安装 Rancher:Ingress Controller 的 SSL 终止
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-cluster-setup/k3s-for-rancher.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-cluster-setup/k3s-for-rancher.md
new file mode 100644
index 00000000000..4d8ca8ac24c
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-cluster-setup/k3s-for-rancher.md
@@ -0,0 +1,136 @@
+---
+title: 为 Rancher 设置高可用 K3s Kubernetes 集群
+---
+
+本文介绍了如何根据 [Rancher Server 环境的最佳实践](../../../reference-guides/rancher-manager-architecture/architecture-recommendations.md#kubernetes-安装环境)安装 Kubernetes 集群。
+
+如果你的系统无法直接访问互联网,请参见离线安装说明。
+
+:::tip 单节点安装提示:
+
+在单节点 Kubernetes 集群中,Rancher Server 不具备高可用性,而高可用性对在生产环境中运行 Rancher 非常重要。但是,如果你想要短期内使用单节点节省资源,同时又保留高可用性迁移路径,把 Rancher 安装到单节点集群也是合适的。
+
+要配置单节点 K3s 集群,你只需要在单个节点上运行 Rancher Server 安装命令(不需要在两个节点上运行命令)。
+
+在这两种单节点设置中,Rancher 可以与 Helm 一起安装在 Kubernetes 集群上,安装方法与安装到其他集群上一样。
+
+:::
+
+## 先决条件
+
+以下说明假设你已参见[此章节](../infrastructure-setup/ha-k3s-kubernetes-cluster.md)配置好两个节点,一个负载均衡器,一个 DNS 记录和一个外部 MySQL 数据库。
+
+Rancher 需要安装在支持的 Kubernetes 版本上。如需了解你使用的 Rancher 版本支持哪些 Kubernetes 版本,请参见 [Rancher 支持矩阵](https://rancher.com/support-maintenance-terms/)。
+
+如需指定 K3s(Kubernetes)版本,在运行 K3s 安装脚本时使用 `INSTALL_K3S_VERSION` 环境变量(例如 `INSTALL_K3S_VERSION="v1.24.10+k3s1"`)。
+
+## 安装 Kubernetes
+
+### 1. 安装 Kubernetes 并设置 K3s Server
+
+在运行启动 K3s Kubernetes API Server 的命令时,你会传入使用之前设置的外部数据存储的选项。
+
+1. 连接到你准备用于运行 Rancher Server 的其中一个 Linux 节点。
+1. 在 Linux 节点上,运行以下命令来启动 K3s Server,并将其连接到外部数据存储。
+ ```
+ curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION= sh -s - server \
+ --datastore-endpoint=""
+ ```
+
+ 其中 `` 是数据存储的连接 URI。例如,如果你使用的是 MySQL,则为 `mysql://username:password@tcp(hostname:3306)/database-name`。有效的数据存储包括 etcd、MySQL、PostgreSQL 或 SQLite(默认)。
+
+ :::note
+
+ 你也可以使用 `$K3S_DATASTORE_ENDPOINT` 环境变量来传递数据存储端点。
+
+ :::
+
+1. 获取主 Server 节点令牌:
+ ```
+ cat /var/lib/rancher/k3s/server/token
+ ```
+
+1. 在第二个 K3s Server 节点上运行命令:
+ ```
+ curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION= sh -s - server \
+ --datastore-endpoint="" \
+ --token ""
+ ```
+
+### 2. 检查 K3s 是否正常运行
+
+在其中一个 K3s Server 节点上运行以下命令,来确认 K3s 是否已经设置成功:
+```
+sudo k3s kubectl get nodes
+```
+
+然后你会看到两个具有 master 角色的节点。
+```
+ubuntu@ip-172-31-60-194:~$ sudo k3s kubectl get nodes
+NAME STATUS ROLES AGE VERSION
+ip-172-31-60-194 Ready master 44m v1.17.2+k3s1
+ip-172-31-63-88 Ready master 6m8s v1.17.2+k3s1
+```
+
+测试集群 Pod 的健康状况:
+```
+sudo k3s kubectl get pods --all-namespaces
+```
+
+**结果**:你已成功配置 K3s Kubernetes 集群。
+
+### 3. 保存并开始使用 kubeconfig 文件
+
+在每个 Rancher Server 节点安装 K3s 时,会在每个节点的 `/etc/rancher/k3s/k3s.yaml` 中生成一个 `kubeconfig` 文件。该文件包含访问集群的凭证。请将该文件保存在安全的位置。
+
+如要使用该 `kubeconfig` 文件:
+
+1. 安装 Kubernetes 命令行工具 [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl)。
+2. 复制 `/etc/rancher/k3s/k3s.yaml` 文件并保存到本地主机的 `~/.kube/config` 目录上。
+3. 在 kubeconfig 文件中,`server` 的参数为 localhost。你需要将 `server` 配置为负载均衡器的 DNS,并指定端口 6443(通过端口 6443 访问 Kubernetes API Server,通过端口 80 和 443 访问 Rancher Server)。以下是一个 `k3s.yaml` 示例:
+
+```yml
+apiVersion: v1
+clusters:
+- cluster:
+ certificate-authority-data: [CERTIFICATE-DATA]
+ server: [LOAD-BALANCER-DNS]:6443 # 编辑此行
+ name: default
+contexts:
+- context:
+ cluster: default
+ user: default
+ name: default
+current-context: default
+kind: Config
+preferences: {}
+users:
+- name: default
+ user:
+ password: [PASSWORD]
+ username: admin
+```
+
+**结果**:你可以开始使用 `kubectl` 来管理你的 K3s 集群。如果你有多个 `kubeconfig` 文件,在使用 `kubectl` 时,你可以传入文件路径来指定要使用的 `kubeconfig` 文件:
+
+```
+kubectl --kubeconfig ~/.kube/config/k3s.yaml get pods --all-namespaces
+```
+
+有关 `kubeconfig` 文件的详情,请参见 [K3s 官方文档](https://rancher.com/docs/k3s/latest/en/cluster-access/) 或 [ Kubernetes 官方文档](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/)中关于使用 `kubeconfig` 文件管理集群访问的部分。
+
+### 4. 检查集群 Pod 的健康状况
+
+现在你已经设置了 `kubeconfig` 文件。你可以使用 `kubectl` 在本地主机访问集群。
+
+检查所有需要的 Pod 和容器是否健康:
+
+```
+ubuntu@ip-172-31-60-194:~$ sudo kubectl get pods --all-namespaces
+NAMESPACE NAME READY STATUS RESTARTS AGE
+kube-system metrics-server-6d684c7b5-bw59k 1/1 Running 0 8d
+kube-system local-path-provisioner-58fb86bdfd-fmkvd 1/1 Running 0 8d
+kube-system coredns-d798c9dd-ljjnf 1/1 Running 0 8d
+```
+
+**结果**:你可通过使用 `kubectl` 访问集群,并且 K3s 集群能成功运行。现在,你可以在集群上安装 Rancher Management Server。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-cluster-setup/rke1-for-rancher.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-cluster-setup/rke1-for-rancher.md
new file mode 100644
index 00000000000..397fe2aa0d0
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-cluster-setup/rke1-for-rancher.md
@@ -0,0 +1,193 @@
+---
+title: 配置高可用的 RKE Kubernetes 集群
+---
+
+本文介绍如何安装 Kubernetes 集群。该集群应专用于运行 Rancher Server。
+
+:::note
+
+Rancher 可以运行在任何 Kubernetes 集群上,包括托管的 Kubernetes,例如 Amazon EKS。以下说明只是安装 Kubernetes 其中一种方式。
+
+:::
+
+如果系统无法直接访问互联网,请参见[离线环境:Kubernetes 安装](../../../pages-for-subheaders/air-gapped-helm-cli-install.md)。
+
+:::tip 单节点安装提示:
+
+在单节点 Kubernetes 集群中,Rancher Server 不具备高可用性,而高可用性对在生产环境中运行 Rancher 非常重要。但是,如果你想要短期内使用单节点节省资源,同时又保留高可用性迁移路径,把 Rancher 安装到单节点集群也是合适的。
+
+要设置单节点 RKE 集群,在 `cluster.yml` 中配置一个节点。该节点需具备所有三个角色,分别是`etcd`,`controlplane`和`worker`。
+
+在这两种单节点设置中,Rancher 可以与 Helm 一起安装在 Kubernetes 集群上,安装方法与安装到其他集群上一样。
+
+:::
+
+## 安装 Kubernetes
+
+### 所需的 CLI 工具
+
+安装 Kubernetes 命令行工具 [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl)。
+
+安装 [RKE](https://rancher.com/docs/rke/latest/en/installation/)(Rancher Kubernetes Engine,是一个 Kubernetes 发行版和命令行工具)。
+
+### 1. 创建集群配置文件
+
+在这部分,你将创建一个名为 `rancher-cluster.yml`的 Kubernetes 集群配置文件。在后续使用 RKE 命令设置集群的步骤中,此文件会用于在节点上安装 Kubernetes。
+
+使用下面的示例作为指南,创建 `rancher-cluster.yml` 文件。将 `nodes` 列表中的 IP 地址替换为你创建的 3 个节点的 IP 地址或 DNS 名称。
+
+如果你的节点有公共地址和内部地址,建议设置 `internal_address:` 以便 Kubernetes 使用它实现集群内部通信。如果你想使用引用安全组或防火墙,某些服务(如 AWS EC2)要求设置 `internal_address:`。
+
+RKE 需要通过 SSH 连接到每个节点,它会在 `~/.ssh/id_rsa`的默认位置查找私钥。如果某个节点的私钥不在默认位置中,你还需要为该节点配置 `ssh_key_path` 选项。
+
+在选择 Kubernetes 版本时,请务必先查阅[支持矩阵](https://rancher.com/support-matrix/),以找出已针对你的 Rancher 版本验证的最新 Kubernetes 版本。
+
+```yaml
+nodes:
+ - address: 165.227.114.63
+ internal_address: 172.16.22.12
+ user: ubuntu
+ role: [controlplane, worker, etcd]
+ - address: 165.227.116.167
+ internal_address: 172.16.32.37
+ user: ubuntu
+ role: [controlplane, worker, etcd]
+ - address: 165.227.127.226
+ internal_address: 172.16.42.73
+ user: ubuntu
+ role: [controlplane, worker, etcd]
+
+services:
+ etcd:
+ snapshot: true
+ creation: 6h
+ retention: 24h
+
+# Required for external TLS termination with
+# ingress-nginx v0.22+
+ingress:
+ provider: nginx
+ options:
+ use-forwarded-headers: "true"
+
+kubernetes_version: v1.25.6-rancher4-1
+```
+
+通用 RKE 节点选项
+
+| 选项 | 必填 | 描述 |
+| ------------------ | -------- | -------------------------------------------------------------------------------------- |
+| `address` | 是 | 公共 DNS 或 IP 地址 |
+| `user` | 是 | 可以运行 docker 命令的用户 |
+| `role` | 是 | 分配给节点的 Kubernetes 角色列表 |
+| `internal_address` | 否 | 内部集群流量的私有 DNS 或 IP 地址 |
+| `ssh_key_path` | 否 | 用来验证节点的 SSH 私钥文件路径(默认值为 `~/.ssh/id_rsa`) |
+
+:::note 高级配置:
+
+RKE 提供大量配置选项,用于针对你的环境进行自定义安装。
+
+如需了解选项和功能的完整列表,请参见 [RKE 官方文档](https://rancher.com/docs/rke/latest/en/config-options/)。
+
+要为大规模 Rancher 安装优化 etcd 集群,请参见 [etcd 设置指南](../../advanced-user-guides/tune-etcd-for-large-installs.md)。
+
+有关 Dockershim 支持的详情,请参见[此页面](../../../getting-started/installation-and-upgrade/installation-requirements/dockershim.md)。
+
+:::
+
+### 2. 运行 RKE
+
+```
+rke up --config ./rancher-cluster.yml
+```
+
+完成后,结束行应该是:`Finished build Kubernetes cluster succeeded`。
+
+### 3. 测试集群
+
+本节介绍如何设置工作区,以便你可以使用 `kubectl` 命令行工具与此集群进行交互。
+
+如果你已安装 `kubectl`,你需要将 `kubeconfig` 文件放在 `kubectl` 可访问的位置。`kubeconfig` 文件包含使用 `kubectl` 访问集群所需的凭证。
+
+你在运行 `rke up` 时,RKE 应该已经创建了一个名为 `kube_config_cluster.yml`的 `kubeconfig` 文件。该文件具有 `kubectl` 和 `helm`的凭证。
+
+:::note
+
+如果你的文件名不是 `rancher-cluster.yml`,kubeconfig 文件将命名为 `kube_config_.yml`。
+
+:::
+
+将此文件移动到 `$HOME/.kube/config`。如果你使用多个 Kubernetes 集群,将 `KUBECONFIG` 环境变量设置为 `kube_config_cluster.yml` 的路径:
+
+```
+export KUBECONFIG=$(pwd)/kube_config_cluster.yml
+```
+
+用 `kubectl` 测试你的连接性,并查看你的所有节点是否都处于 `Ready` 状态:
+
+```
+kubectl get nodes
+
+NAME STATUS ROLES AGE VERSION
+165.227.114.63 Ready controlplane,etcd,worker 11m v1.13.5
+165.227.116.167 Ready controlplane,etcd,worker 11m v1.13.5
+165.227.127.226 Ready controlplane,etcd,worker 11m v1.13.5
+```
+
+### 4. 检查集群 Pod 的健康状况
+
+检查所有需要的 Pod 和容器是否健康。
+
+- Pod 处于 `Running` 或 `Completed` 状态。
+- `READY` 表示运行 `STATUS` 为 `Running` 的 Pod 的所有容器(例如, `3/3`)。
+- `STATUS` 为 `Completed` 的 Pod 是一次运行的 Job。这些 Pod `READY` 列的值应该为 `0/1`。
+
+```
+kubectl get pods --all-namespaces
+
+NAMESPACE NAME READY STATUS RESTARTS AGE
+ingress-nginx nginx-ingress-controller-tnsn4 1/1 Running 0 30s
+ingress-nginx nginx-ingress-controller-tw2ht 1/1 Running 0 30s
+ingress-nginx nginx-ingress-controller-v874b 1/1 Running 0 30s
+kube-system canal-jp4hz 3/3 Running 0 30s
+kube-system canal-z2hg8 3/3 Running 0 30s
+kube-system canal-z6kpw 3/3 Running 0 30s
+kube-system kube-dns-7588d5b5f5-sf4vh 3/3 Running 0 30s
+kube-system kube-dns-autoscaler-5db9bbb766-jz2k6 1/1 Running 0 30s
+kube-system metrics-server-97bc649d5-4rl2q 1/1 Running 0 30s
+kube-system rke-ingress-controller-deploy-job-bhzgm 0/1 Completed 0 30s
+kube-system rke-kubedns-addon-deploy-job-gl7t4 0/1 Completed 0 30s
+kube-system rke-metrics-addon-deploy-job-7ljkc 0/1 Completed 0 30s
+kube-system rke-network-plugin-deploy-job-6pbgj 0/1 Completed 0 30s
+```
+
+这表示你已成功安装了可运行 Rancher Server 的 Kubernetes 集群。
+
+### 5. 保存你的文件
+
+:::note 重要提示:
+
+维护、排除问题和升级集群需要用到以下文件,请妥善保管这些文件:
+
+:::
+
+将以下文件的副本保存在安全位置:
+
+- `rancher-cluster.yml`:RKE 集群配置文件。
+- `kube_config_cluster.yml`:集群的 [Kubeconfig 文件](https://rancher.com/docs/rke/latest/en/kubeconfig/)。该文件包含可完全访问集群的凭证。
+- `rancher-cluster.rkestate`:[Kubernetes 状态文件](https://rancher.com/docs/rke/latest/en/installation/#kubernetes-cluster-state)。此文件包括用于完全访问集群的凭证。 _Kubernetes 集群状态文件仅在 RKE 版本是 0.2.0 或更高版本时生成。_
+
+:::note
+
+后两个文件名中的 `rancher-cluster` 部分取决于你命名 RKE 集群配置文件的方式。
+
+:::
+
+### 故障排除
+
+参见[故障排除](../../../getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/troubleshooting.md)页面。
+
+
+### 后续操作
+[安装 Rancher](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md)
+
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-cluster-setup/rke2-for-rancher.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-cluster-setup/rke2-for-rancher.md
new file mode 100644
index 00000000000..cc61efd50e4
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-cluster-setup/rke2-for-rancher.md
@@ -0,0 +1,165 @@
+---
+title: 为 Rancher 设置高可用的 RKE2 Kubernetes 集群
+---
+
+本文介绍了如何根据 [Rancher Server 环境的最佳实践](../../../reference-guides/rancher-manager-architecture/architecture-recommendations.md#kubernetes-安装环境)安装 Kubernetes 集群。
+
+## 先决条件
+
+以下说明假设你已参见[此章节](../infrastructure-setup/ha-rke2-kubernetes-cluster.md)配置好三个节点,一个负载均衡器和一个 DNS 记录。
+
+为了让 RKE2 与负载均衡器正常工作,你需要设置两个监听器,一个用于 9345 端口,另一个用于 6443 端口的 Kubernetes API。
+
+Rancher 需要安装在支持的 Kubernetes 版本上。如需了解你使用的 Rancher 版本支持哪些 Kubernetes 版本,请参见[支持维护条款](https://rancher.com/support-maintenance-terms/)。如需指定 RKE2 版本,请在运行 RKE2 安装脚本时,使用 `INSTALL_RKE2_VERSION` 环境变量。
+
+## 安装 Kubernetes
+
+### 1. 安装 Kubernetes 并设置 RKE2 Server
+
+RKE2 Server 使用嵌入式 etcd 运行。因此你不需要设置外部数据存储就可以在 HA 模式下运行。
+
+在第一个节点上,使用你的预共享密文作为 Token 来设置配置文件。Token 参数可以在启动时设置。
+
+如果你不指定预共享密文,RKE2 会生成一个预共享密文并将它放在 `/var/lib/rancher/rke2/server/node-token` 中。
+
+为了避免固定注册地址的证书错误,请在启动 Server 时设置 `tls-san` 参数。这个选项在 Server 的 TLS 证书中增加一个额外的主机名或 IP 作为 Subject Alternative Name。如果你想通过 IP 和主机名访问,你可以将它指定为一个列表。
+
+首先,创建用于存放 RKE2 配置文件的目录:
+
+```
+mkdir -p /etc/rancher/rke2/
+```
+
+然后,参见以下示例在 `/etc/rancher/rke2/config.yaml` 中创建 RKE2 配置文件:
+
+```
+token: my-shared-secret
+tls-san:
+ - my-kubernetes-domain.com
+ - another-kubernetes-domain.com
+```
+之后,运行安装命令并启用和启动 RKE2:
+
+```
+curl -sfL https://get.rke2.io | sh -
+systemctl enable rke2-server.service
+systemctl start rke2-server.service
+```
+1. 要加入其余的节点,使用同一个共享或自动生成的 Token 来配置每个额外的节点。以下是配置文件的示例:
+
+ token: my-shared-secret
+ server: https://:9345
+ tls-san:
+ - my-kubernetes-domain.com
+ - another-kubernetes-domain.com
+运行安装程序,然后启用并启动 RKE2:
+
+ curl -sfL https://get.rke2.io | sh -
+ systemctl enable rke2-server.service
+ systemctl start rke2-server.service
+
+
+1. 在第三 RKE2 Server 节点上运行同样的命令。
+
+### 2. 检查 RKE2 是否正常运行
+
+在所有 Server 节点上启动了 RKE2 Server 进程后,确保集群已经正常启动,请运行以下命令:
+
+```
+/var/lib/rancher/rke2/bin/kubectl \
+ --kubeconfig /etc/rancher/rke2/rke2.yaml get nodes
+现在,Server 节点的状态应该是 Ready。
+```
+
+测试集群 Pod 的健康状况:
+```
+/var/lib/rancher/rke2/bin/kubectl \
+ --kubeconfig /etc/rancher/rke2/rke2.yaml get pods --all-namespaces
+```
+
+**结果**:你已成功配置 RKE2 Kubernetes 集群。
+
+### 3. 保存并开始使用 kubeconfig 文件
+
+在每个 Rancher Server 节点安装 RKE2 时,会在每个节点的 `/etc/rancher/rke2/rke2.yaml` 中生成一个 `kubeconfig` 文件。该文件包含访问集群的凭证。请将该文件保存在安全的位置。
+
+如要使用该 `kubeconfig` 文件:
+
+1. 安装 Kubernetes 命令行工具 [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl)。
+2. 复制 `/etc/rancher/rke2/rke2.yaml` 文件并保存到本地主机的 `~/.kube/config` 目录上。
+3. 在 kubeconfig 文件中,`server` 的参数为 localhost。在端口 6443 上将服务器配置为 controlplane 负载均衡器的 DNS(RKE2 Kubernetes API Server 使用端口 6443,而 Rancher Server 将通过 NGINX Ingress 在端口 80 和 443 上提供服务。)以下是一个示例 `rke2.yaml`:
+
+```yml
+apiVersion: v1
+clusters:
+- cluster:
+ certificate-authority-data: [CERTIFICATE-DATA]
+ server: [LOAD-BALANCER-DNS]:6443 # 编辑此行
+ name: default
+contexts:
+- context:
+ cluster: default
+ user: default
+ name: default
+current-context: default
+kind: Config
+preferences: {}
+users:
+- name: default
+ user:
+ password: [PASSWORD]
+ username: admin
+```
+
+**结果**:你可以开始使用 `kubectl` 来管理你的 RKE2 集群。如果你有多个 `kubeconfig` 文件,在使用 `kubectl` 时,你可以传入文件路径来指定要使用的 `kubeconfig` 文件:
+
+```
+kubectl --kubeconfig ~/.kube/config/rke2.yaml get pods --all-namespaces
+```
+
+有关 `kubeconfig` 文件的详情,请参见 [RKE2 官方文档](https://docs.rke2.io/cluster_access)或 [ Kubernetes 官方文档](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/)中关于使用 `kubeconfig` 文件管理集群访问的部分。
+
+### 4. 检查集群 Pod 的健康状况
+
+现在你已经设置了 `kubeconfig` 文件。你可以使用 `kubectl` 在本地主机访问集群。
+
+检查所有需要的 Pod 和容器是否健康:
+
+```
+/var/lib/rancher/rke2/bin/kubectl --kubeconfig /etc/rancher/rke2/rke2.yaml get pods -A
+NAMESPACE NAME READY STATUS RESTARTS AGE
+kube-system cloud-controller-manager-rke2-server-1 1/1 Running 0 2m28s
+kube-system cloud-controller-manager-rke2-server-2 1/1 Running 0 61s
+kube-system cloud-controller-manager-rke2-server-3 1/1 Running 0 49s
+kube-system etcd-rke2-server-1 1/1 Running 0 2m13s
+kube-system etcd-rke2-server-2 1/1 Running 0 87s
+kube-system etcd-rke2-server-3 1/1 Running 0 56s
+kube-system helm-install-rke2-canal-hs6sx 0/1 Completed 0 2m17s
+kube-system helm-install-rke2-coredns-xmzm8 0/1 Completed 0 2m17s
+kube-system helm-install-rke2-ingress-nginx-flwnl 0/1 Completed 0 2m17s
+kube-system helm-install-rke2-metrics-server-7sggn 0/1 Completed 0 2m17s
+kube-system kube-apiserver-rke2-server-1 1/1 Running 0 116s
+kube-system kube-apiserver-rke2-server-2 1/1 Running 0 66s
+kube-system kube-apiserver-rke2-server-3 1/1 Running 0 48s
+kube-system kube-controller-manager-rke2-server-1 1/1 Running 0 2m30s
+kube-system kube-controller-manager-rke2-server-2 1/1 Running 0 57s
+kube-system kube-controller-manager-rke2-server-3 1/1 Running 0 42s
+kube-system kube-proxy-rke2-server-1 1/1 Running 0 2m25s
+kube-system kube-proxy-rke2-server-2 1/1 Running 0 59s
+kube-system kube-proxy-rke2-server-3 1/1 Running 0 85s
+kube-system kube-scheduler-rke2-server-1 1/1 Running 0 2m30s
+kube-system kube-scheduler-rke2-server-2 1/1 Running 0 57s
+kube-system kube-scheduler-rke2-server-3 1/1 Running 0 42s
+kube-system rke2-canal-b9lvm 2/2 Running 0 91s
+kube-system rke2-canal-khwp2 2/2 Running 0 2m5s
+kube-system rke2-canal-swfmq 2/2 Running 0 105s
+kube-system rke2-coredns-rke2-coredns-547d5499cb-6tvwb 1/1 Running 0 92s
+kube-system rke2-coredns-rke2-coredns-547d5499cb-rdttj 1/1 Running 0 2m8s
+kube-system rke2-coredns-rke2-coredns-autoscaler-65c9bb465d-85sq5 1/1 Running 0 2m8s
+kube-system rke2-ingress-nginx-controller-69qxc 1/1 Running 0 52s
+kube-system rke2-ingress-nginx-controller-7hprp 1/1 Running 0 52s
+kube-system rke2-ingress-nginx-controller-x658h 1/1 Running 0 52s
+kube-system rke2-metrics-server-6564db4569-vdfkn 1/1 Running 0 66s
+```
+
+**结果**:你可通过使用 `kubectl` 访问集群,并且 RKE2 集群能成功运行。现在,你可以在集群上安装 Rancher Management Server。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/checklist-for-production-ready-clusters/recommended-cluster-architecture.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/checklist-for-production-ready-clusters/recommended-cluster-architecture.md
new file mode 100644
index 00000000000..a0ec43f76c5
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/checklist-for-production-ready-clusters/recommended-cluster-architecture.md
@@ -0,0 +1,73 @@
+---
+title: 推荐的集群架构
+---
+
+有三个角色可以分配给节点,分别是 `etcd`、`controlplane` 和 `worker`。
+
+## 将 Worker 节点与具有其他角色的节点分开
+
+在设计集群时,你有两种选择:
+
+* 为每个角色使用专用节点。这确保了特定角色所需组件的资源可用性。它还根据[端口要求](../node-requirements-for-rancher-managed-clusters.md#网络要求)严格隔离每个角色之间的网络流量。
+* 将 `etcd` 和 `controlplane` 角色分配给相同的节点。该节点必须满足这两个角色的硬件要求。
+
+无论在哪种情况下,都不应该在具有 `etcd` 或 `controlplane` 角色的节点中使用或添加 `worker` 角色。
+
+因此,每个节点的角色都有如下几种配置选择:
+
+* `etcd`
+* `controlplane`
+* `etcd` 和 `controlplane`
+* `worker`
+
+## 每个角色的推荐节点数
+
+集群应该有:
+
+- 至少拥有三个角色为 `etcd` 的节点,来确保失去一个节点时仍能存活。增加 etcd 节点数量能提高容错率,而将 etcd 分散到不同可用区甚至能获取更好的容错能力。
+- 至少两个节点具有 `controlplane` 角色,以实现主组件高可用性。
+- 至少两个具有 `worker` 角色的节点,用于在节点故障时重新安排工作负载。
+
+有关每个角色的用途的更多信息,请参阅 [Kubernetes 中的节点角色](roles-for-nodes-in-kubernetes.md)。
+
+
+### controlplane 节点数
+
+添加多个具有 `controlplane` 角色的节点,使每个主组件都具有高可用性。
+
+### etcd 节点数
+
+在保持集群可用性的同时,可以一次丢失的节点数由分配了 `etcd` 角色的节点数决定。对于具有 n 个成员的集群,最小值为 (n/2)+1。因此,我们建议在一个区域内的 3 个不同可用区中各创建一个 `etcd` 节点,以在一个可用区丢失的情况下存活。如果你只使用两个区域,那么在“多数节点”所在的可用区不可用时,你将会丢失 etcd 集群。
+
+| 具有 `etcd` 角色的节点 | 多数节点 | 容错能力 |
+|--------------|------------|-------------------|
+| 1 | 1 | 0 |
+| 2 | 2 | 0 |
+| 3 | 2 | **1** |
+| 4 | 3 | 1 |
+| 5 | 3 | **2** |
+| 6 | 4 | 2 |
+| 7 | 4 | **3** |
+| 8 | 5 | 3 |
+| 9 | 5 | **4** |
+
+参考:
+
+* [最佳 etcd 集群大小的官方 etcd 文档](https://etcd.io/docs/v3.4.0/faq/#what-is-failure-tolerance)
+* [为 Kubernetes 操作 etcd 集群的官方 Kubernetes 文档](https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/)
+
+### Worker 节点数
+
+添加多个具有 `worker` 角色的节点能确保一个节点出现故障时可以重新安排工作负载。
+
+### 为什么 Rancher 集群和运行应用的集群的生产要求不同
+
+你可能已经注意到我们的 [Kubernetes 安装](../../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md)说明并不符合我们对生产就绪集群的要求,这是因为 `worker` 角色没有专用节点。然而,你 Rancher 中的这个三节点集群是有效的,因为:
+
+* 它允许一个 `etcd` 节点故障。
+* 它通过多个 `controlplane` 节点来维护 master 组件的多个实例。
+* 此集群上没有创建除 Rancher 之外的其他工作负载。
+
+## 参考
+
+* [Kubernetes:主组件](https://kubernetes.io/docs/concepts/overview/components/#master-components)
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/checklist-for-production-ready-clusters/roles-for-nodes-in-kubernetes.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/checklist-for-production-ready-clusters/roles-for-nodes-in-kubernetes.md
new file mode 100644
index 00000000000..1f929eb52f9
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/checklist-for-production-ready-clusters/roles-for-nodes-in-kubernetes.md
@@ -0,0 +1,50 @@
+---
+title: Kubernetes 中节点的角色
+---
+
+本节介绍 Kubernetes 中 etcd 节点、controlplane 节点和 worker 节点的角色,以及这些角色如何在集群中协同工作。
+
+此图适用于 [Rancher 通过 RKE 部署的 Kubernetes 集群](../../../../pages-for-subheaders/launch-kubernetes-with-rancher.md):
+
+
+线条表示组件之间的通信。而颜色纯粹用于视觉辅助。
+
+## etcd
+
+具有 `etcd` 角色的节点运行 etcd,这是一个一致且高可用的键值存储,用作 Kubernetes 所有集群数据的后备存储。etcd 将数据复制到每个节点。
+
+:::note
+
+具有 `etcd` 角色的节点在 UI 中显示为`不可调度`,即默认情况下不会将 Pod 调度到这些节点。
+
+:::
+
+## controlplane
+
+具有 `controlplane` 角色的节点运行 Kubernetes 主组件(不包括 `etcd`,因为它是一个单独的角色)。有关组件的详细列表,请参阅 [Kubernetes:主组件](https://kubernetes.io/docs/concepts/overview/components/#master-components)。
+
+:::note
+
+具有 `controlplane` 角色的节点在 UI 中显示为`不可调度`,即默认情况下不会将 Pod 调度到这些节点。
+
+:::
+
+### kube-apiserver
+
+Kubernetes API Server (`kube-apiserver`) 能水平扩展。如果节点具有需要访问 Kubernetes API Server 的组件,则每个具有 `controlplane` 角色的节点都将被添加到节点上的 NGINX 代理中。这意味着如果一个节点变得不可访问,该节点上的本地 NGINX 代理会将请求转发到列表中的另一个 Kubernetes API Server。
+
+### kube-controller-manager
+
+Kubernetes Controller Manager 使用 Kubernetes 中的端点进行 Leader 选举。`kube-controller-manager` 的一个实例将在 Kubernetes 端点中创建一个条目,并在配置的时间间隔内更新该条目。其他实例将看到一个状态为 Active 的 Leader,并等待该条目过期(例如节点无响应)。
+
+### kube-scheduler
+
+Kubernetes 调度器使用 Kubernetes 中的端点进行 Leader 选举。`kube-scheduler` 的一个实例将在 Kubernetes 端点中创建一个条目,并在配置的时间间隔内更新该条目。其他实例将看到一个状态为 Active 的 Leader,并等待该条目过期(例如节点无响应)。
+
+## worker
+
+具有 `worker` 角色的节点运行 Kubernetes 节点组件。有关组件的详细列表,请参阅 [Kubernetes:节点组件](https://kubernetes.io/docs/concepts/overview/components/#node-components)。
+
+## 参考
+
+* [Kubernetes:节点组件](https://kubernetes.io/docs/concepts/overview/components/#node-components)
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/node-requirements-for-rancher-managed-clusters.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/node-requirements-for-rancher-managed-clusters.md
new file mode 100644
index 00000000000..85bcf4b7b11
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/node-requirements-for-rancher-managed-clusters.md
@@ -0,0 +1,129 @@
+---
+title: Rancher 管理集群的节点要求
+---
+
+本页描述了 Rancher 管理的 Kubernetes 集群的要求,你的应用和服务将安装在这些集群中。这些下游集群应该与运行 Rancher 的三节点集群分开。
+
+:::note
+
+如果 Rancher 安装在高可用的 Kubernetes 集群上,Rancher Server 的三节点集群和下游集群有不同的要求。有关 Rancher 的安装要求,请参考[安装文档](../../../pages-for-subheaders/installation-requirements.md)中的节点要求。
+
+:::
+
+## 操作系统和容器运行时要求
+
+Rancher 兼容当前所有的主流 Linux 发行版和任何通用的 Docker 版本。所有下游集群的 etcd 和 controlplane 节点都需要运行在 Linux 上。而 Worker 节点可以运行在 Linux 或 [Windows Server](#windows-节点) 上。
+
+如需了解各个 Rancher 版本通过了哪些操作系统和 Docker 版本测试,请参见[支持和维护条款](https://rancher.com/support-maintenance-terms/)。
+
+所有支持的操作系统都使用 64-bit x86 架构。
+
+如果你想使用 ARM64,请参阅[在 ARM64 上运行(实验功能)。](../../advanced-user-guides/enable-experimental-features/rancher-on-arm64.md)
+
+有关如何安装 Docker 的信息,请参阅 [Docker 官方文档](https://docs.docker.com/)。
+
+### Oracle Linux 和 RHEL 衍生的 Linux 节点
+
+某些源自 RHEL 的 Linux 发行版(包括 Oracle Linux)的默认防火墙规则可能会阻止与 Helm 的通信。我们建议禁用 firewalld。如果你的 Kubernetes 版本是 1.19,请务必禁用 firewalld。
+
+:::note
+
+在 RHEL 8.4 中,NetworkManager 上有两个额外的服务,即 `nm-cloud-setup.service` 和 `nm-cloud-setup.timer`。这些服务增加了一个路由表,干扰了 CNI 插件的配置。如果启用了这些服务,你必须使用以下命令禁用它们,然后重新启动节点以恢复连接:
+
+```
+systemctl disable nm-cloud-setup.service nm-cloud-setup.timer
+reboot
+```
+
+:::
+
+### SUSE Linux 节点
+
+SUSE Linux 可能有一个防火墙,默认情况下会阻止所有端口。在这种情况下,请按照[步骤](../../../getting-started/installation-and-upgrade/installation-requirements/port-requirements.md#打开-suse-linux-端口)打开将主机添加到自定义集群所需的端口。
+
+### Flatcar Container Linux 节点
+
+使用 Flatcar Container Linux 节点[通过 Rancher 启动 Kubernetes](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md) 时,需要在 [Cluster Config 文件](../../../reference-guides/cluster-configuration/rancher-server-configuration/rke1-cluster-configuration.md#rke-集群配置文件参考)中使用如下配置:
+
+
+
+
+```yaml
+rancher_kubernetes_engine_config:
+ network:
+ plugin: canal
+ options:
+ canal_flex_volume_plugin_dir: /opt/kubernetes/kubelet-plugins/volume/exec/nodeagent~uds
+ flannel_backend_type: vxlan
+
+ services:
+ kube-controller:
+ extra_args:
+ flex-volume-plugin-dir: /opt/kubernetes/kubelet-plugins/volume/exec/
+```
+
+
+
+
+```yaml
+rancher_kubernetes_engine_config:
+ network:
+ plugin: calico
+ options:
+ calico_flex_volume_plugin_dir: /opt/kubernetes/kubelet-plugins/volume/exec/nodeagent~uds
+ flannel_backend_type: vxlan
+
+ services:
+ kube-controller:
+ extra_args:
+ flex-volume-plugin-dir: /opt/kubernetes/kubelet-plugins/volume/exec/
+```
+
+
+
+
+还需要启用 Docker 服务,你可以使用以下命令启用 Docker 服务:
+
+```
+systemctl enable docker.service
+```
+
+使用[主机驱动](../../../pages-for-subheaders/about-provisioning-drivers.md#主机驱动)时会自动启用 Docker 服务。
+
+### Windows 节点
+
+运行 Windows Server 节点必须使用 Docker 企业版。
+
+Windows 节点只能用于 Worker 节点。请参阅[配置 Windows 自定义集群](../../../pages-for-subheaders/use-windows-clusters.md)。
+
+## 硬件要求
+
+你的工作负载决定了具有 `worker` 角色的节点的硬件要求。运行 Kubernetes 节点组件的最低要求是 1 个 CPU(核心)和 1GB 内存。
+
+关于 CPU 和内存,建议将 Kubernetes 集群的不同平面(etcd、controlplane 和 worker)托管在不同的节点上,以便它们可以相互独立扩展。
+
+有关大型 Kubernetes 集群的硬件建议,请参阅[构建大型集群](https://kubernetes.io/docs/setup/best-practices/cluster-large/)的官方 Kubernetes 文档。
+
+有关生产环境中 etcd 集群的硬件建议,请参阅官方 [etcd 文档](https://etcd.io/docs/v3.4.0/op-guide/hardware/)。
+
+## 网络要求
+
+对于生产集群,我们建议你通过仅打开以下端口要求中定义的端口来限制流量。
+
+需要开放的端口根据下游集群的启动方式而有所不同。以下列出了需要为不同[集群创建选项](../../../pages-for-subheaders/kubernetes-clusters-in-rancher-setup.md)打开的端口。
+
+有关 Kubernetes 集群中 etcd 节点、controlplane 节点和 Worker 节点的端口要求的详细信息,请参阅 [Rancher Kubernetes Engine 的端口要求](https://rancher.com/docs/rke/latest/en/os/#ports)。
+
+在[下游集群端口要求](../../../getting-started/installation-and-upgrade/installation-requirements/port-requirements.md#下游-kubernetes-集群节点)中,你可以找到在各种情况下使用的端口的详细信息。
+
+:::caution
+
+不要使用与现有节点相同的主机名或 IP 地址来注册节点。这样做会导致 RKE 阻止节点加入,并导致配置挂起。主机驱动和自定义集群都可能发生这种情况。如果节点必须重用现有节点的主机名或 IP,则必须在注册节点之前设置 `hostname_override` [RKE 选项](https://rke.docs.rancher.com/config-options/nodes#overriding-the-hostname),以便节点能够正确加入。
+
+:::
+
+## 可选:安全注意事项
+
+如果你要配置符合 CIS(互联网安全中心)Kubernetes 基准的 Kubernetes 集群,我们建议你在安装 Kubernetes 之前按照我们的强化指南来配置节点。
+
+有关强化指南的更多信息,以及了解哪个指南版本对应于你的 Rancher 和 Kubernetes 版本,请参阅[安全](../../../pages-for-subheaders/rancher-security.md#rancher-强化指南)。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md
new file mode 100644
index 00000000000..e3857d23024
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md
@@ -0,0 +1,282 @@
+---
+title: 注册现有集群
+---
+
+集群注册功能取代了导入集群的功能。
+
+Rancher 管理注册集群的范围取决于集群的类型。详情请参见[对注册集群的管理能力](#对注册集群的管理能力)。
+
+
+## 先决条件
+
+### Kubernetes 节点角色
+
+已注册的 RKE Kubernetes 集群必须具有所有三个节点角色,分别是 etcd、controlplane 和 worker。只有 controlplane 组件的集群无法在 Rancher 中注册。
+
+有关 RKE 节点角色的更多信息,请参阅[最佳实践](../../../pages-for-subheaders/checklist-for-production-ready-clusters.md#集群架构)。
+
+### 权限
+
+要在 Rancher 中注册集群,你必须在该集群中拥有 `cluster-admin` 权限。如果没有,请运行以下命令将权限授予用户:
+
+```plain
+kubectl create clusterrolebinding cluster-admin-binding \
+ --clusterrole cluster-admin \
+ --user [USER_ACCOUNT]
+```
+
+由于默认情况下 Google Kubernetes Engine (GKE) 不授予 `cluster-admin` 角色,因此你必须先在 GKE 集群上运行命令,然后才能注册。要详细了解 GKE RBAC,请参阅 [Google 官方文档](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control)。
+
+### EKS、AKS 和 GKE 集群
+
+要成功将这些集群导入 Rancher 或从 Rancher 中配置它们,Elastic Kubernetes Service (EKS)、Azure Kubernetes Service (AKS) 和 Google Kubernetes Engine (GKE) 集群必须至少有一个托管节点组。此外,不支持 GKE Autopilot 集群。有关 GKE 模式之间差异,请参阅[比较 GKE Autopilot 和 Standard](https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-standard-feature-comparison)。
+
+## 注册集群
+
+1. 点击 **☰ > 集群管理**。
+2. 在**集群**页面上,单击**导入集群**。
+3. 选择集群类型。
+4. 使用**成员角色**为集群配置用户授权。点击**添加成员**添加可以访问集群的用户。使用**角色**下拉菜单为每个用户设置权限。
+5. 如果你在 Rancher 中导入一个通用 Kubernetes 集群,请执行以下步骤:
+ a. 点击**集群选项**下的 **Agent 环境变量**,为 [rancher cluster agent](../launch-kubernetes-with-rancher/about-rancher-agents.md) 设置环境变量。你可以使用键值对设置环境变量。如果 Rancher Agent 需要使用代理与 Rancher Server 通信,则可以使用 Agent 环境变量设置 `HTTP_PROXY`,`HTTPS_PROXY` 和 `NO_PROXY` 环境变量。
+ b. 启用项目网络隔离,确保集群支持 Kubernetes `NetworkPolicy` 资源。用户可以通过**项目网络隔离**选项下的**高级选项**下拉菜单进行操作。
+6. 单击**创建**。
+7. 此处会显示 `cluster-admin` 权限的先决条件(参见上文的**先决条件**),其中包括满足先决条件的示例命令。
+8. 将 `kubectl` 命令复制到剪贴板,并在配置了 kubeconfig 的节点上运行该命令,从而指向要导入的集群。如果你不确定配置是否正确,请在运行 Rancher 显示的命令之前运行 `kubectl get nodes` 进行验证。
+9. 如果你使用自签名证书,你将收到 `certificate signed by unknown authority` 的消息。要解决此验证问题,请将 Rancher 中显示的以 `curl` 开头的命令复制到剪贴板。然后在配置了 kubeconfig 的节点上运行该命令,从而指向要导入的集群。
+10. 在节点上运行完命令后,单击**完成**。
+
+**结果**:
+
+- 集群已注册并分配了 **Pending** 状态。Rancher 正在部署资源来管理你的集群。
+- 当集群状态变为 **Active** 后,你可访问集群。
+- **Active** 集群分配了两个项目,分别是 `Default`(包含命名空间 `default`)和 `System`(包含命名空间 `cattle-system`、`ingress-nginx`、`kube-public` 和 `kube-system`)。
+
+
+:::note
+
+无法重新注册当前在 Rancher 中处于 Active 状态的集群。
+
+:::
+
+### 使用 Terraform 配置导入的 EKS、AKS 或 GKE 集群
+
+你**仅**需要定义 Rancher 使用 Terraform 导入 EKS、AKS 或 GKE 集群所需的最少字段。请谨记这点,因为 Rancher 会使用用户提供的任何配置覆盖集群的配置。
+
+:::caution
+
+即使当前集群的配置与用户提供的配置之间只存在微小差异,但是微小的差异也有可能产生很大的影响。
+
+:::
+
+Rancher 通过 `eks_config_v2` 使用 Terraform 导入 EKS 集群所需的最少配置字段如下:
+
+- cloud_credential_id
+- name
+- region
+- imported (对于导入的集群,此字段应始终设置为 `true`)
+
+导入的 EKS 集群的示例 YAML 配置:
+
+```
+resource "rancher2_cluster" "my-eks-to-import" {
+ name = "my-eks-to-import"
+ description = "Terraform EKS Cluster"
+ eks_config_v2 {
+ cloud_credential_id = rancher2_cloud_credential.aws.id
+ name = var.aws_eks_name
+ region = var.aws_region
+ imported = true
+ }
+}
+```
+
+你可以在 [Rancher2 Terraform Provider 文档](https://registry.terraform.io/providers/rancher/rancher2/latest/docs/resources/cluster)中找到其他云提供商的更多示例。
+
+## 对注册集群的管理能力
+
+Rancher 管理注册集群的范围取决于集群的类型。
+
+- [所有已注册集群的功能](#所有已注册集群的功能)
+- [已注册 RKE2 和 K3s 集群的附加功能](#已注册-rke2-和-k3s-集群的附加功能)
+- [已注册 EKS, AKS 和 GKE 集群的附加功能](#已注册-eksaks-和-gke-集群的附加功能)
+
+### 所有已注册集群的功能
+
+注册集群后,集群所有者可以:
+
+- 通过 RBAC [管理集群访问](../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md)
+- 启用[Monitoring、告警和 Notifiers](../../../pages-for-subheaders/monitoring-and-alerting.md)
+- 启用 [Logging](../../../pages-for-subheaders/logging.md)
+- 启用 [Istio](../../../pages-for-subheaders/istio.md)
+- 管理项目和工作负载
+
+### 已注册 RKE2 和 K3s 集群的附加功能
+
+[K3s](https://rancher.com/docs/k3s/latest/en/) 是用于边缘安装的轻量级、完全兼容的 Kubernetes 发行版。
+[RKE2](https://docs.rke2.io) 是 Rancher 用于数据中心和云安装的下一代 Kubernetes 发行版。
+
+RKE2 或 K3s 集群注册到 Rancher 后,Rancher 会识别它。Rancher UI 将开放[所有已注册集群](#所有已注册集群的功能)的功能,以及以下用于编辑和升级集群的功能:
+
+- [升级 Kubernetes 版本](../../../getting-started/installation-and-upgrade/upgrade-and-roll-back-kubernetes.md)的能力
+ :::danger
+
+ 将集群导入 Rancher 后,你需要使用 Rancher 执行升级。**不**支持在 Rancher 之外升级导入的集群。
+
+ :::
+- 配置能同时升级的最大节点数
+- 查看集群的配置参数和用于启动集群中每个节点的环境变量的只读版本
+
+### 已注册 EKS,AKS 和 GKE 集群的附加功能
+
+Rancher 处理注册的 EKS、AKS 或 GKE 集群的方式与处理在 Rancher 中创建的集群的方式类似。但是,如果你通过 Rancher UI 删除已注册的集群,Rancher 不会销毁这些集群。
+
+如果你在 Rancher 中创建 EKS、AKS 或 GKE 集群,然后将其删除,Rancher 会销毁该集群。通过 Rancher 删除已注册的集群时,Rancher Server 会_断开_与集群的连接。该集群仍然存在,只是它不再在 Rancher 中。你仍然可以像注册前一样访问已注销的集群。
+
+有关可用于管理已注册集群的功能,请参阅[按集群类型划分的集群管理功能](../../../pages-for-subheaders/kubernetes-clusters-in-rancher-setup.md)。
+
+## 配置 RKE2 和 K3s 集群升级
+
+:::tip
+
+Kubernetes 的最佳实践是在升级之前备份集群。使用外部数据库升级高可用 K3s 集群时,请使用关系数据库提供商推荐的方式备份数据库。
+
+:::
+
+**并发**是升级期间允许不可用的最大节点数。如果不可用节点的数量大于**并发**,升级将失败。如果升级失败,你可能需要修复或移除失败的节点,然后升级才能成功。
+
+- **controlplane 并发**:可以同时升级的最大服务器节点数;也是最大不可用服务器节点数
+- **Worker 并发**:可以同时升级的最大 worker 节点数;也是最大不可用 worker 节点数
+
+在 RKE2 和 K3s 文档中,control plane 节点也称为 Server 节点。Kubernetes master 节点运行在这些节点上,用于维护集群的状态。默认情况下,control plane 节点默认能够让工作负载调度到节点上。
+
+类似的,在 RKE2 和 K3s 文档中,具有 worker 角色的节点称为 Agent 节点。默认情况下,部署在集群中的任何工作负载或 Pod 都能调度到这些节点上。
+
+## 已注册 RKE2 和 K3s 集群的 Logging 调试和故障排除
+
+节点由运行在下游集群中的 `system-upgrade-controller` 升级。基于集群配置,Rancher 部署了两个[计划](https://github.com/rancher/system-upgrade-controller#example-upgrade-plan)来升级节点,分别用于升级 control plane 节点和 worker 节点。`system-upgrade-controller` 会按照计划对节点进行升级。
+
+要在 `system-upgrade-controller` deployment 上启用调试日志记录,请编辑 [configmap](https://github.com/rancher/system-upgrade-controller/blob/50a4c8975543d75f1d76a8290001d87dc298bdb4/manifests/system-upgrade-controller.yaml#L32) 以将调试环境变量设置为 true。然后重启 `system-upgrade-controller` pod。
+
+你可以运行以下命令查看 `system-upgrade-controller` 创建的日志:
+
+```
+kubectl logs -n cattle-system system-upgrade-controller
+```
+
+运行以下命令查看计划的当前状态:
+
+```
+kubectl get plans -A -o yaml
+```
+
+如果集群卡在升级中,请重启 `system-upgrade-controller`。
+
+为防止升级时出现问题,应遵循 [Kubernetes 升级最佳实践](https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)进行操作。
+
+## 对 RKE2 和 K3s 集群的授权集群端点支持
+
+_从 v2.6.3 起可用_
+
+授权集群端点 (ACE) 已支持注册的 RKE2 和 K3s 集群。此支持还包括你在下游集群上启用 ACE 的手动步骤。有关授权集群端点的更多信息,请单击[这里](../manage-clusters/access-clusters/authorized-cluster-endpoint.md)。
+
+:::note 注意事项:
+
+- 只需要在下游集群的 controlplane 节点上执行这些步骤。你必须单独配置每个 controlplane 节点。
+
+- 以下步骤适用于在 v2.6.x 中注册的 RKE2 和 K3s 集群,以及从先前的 Rancher 版本注册(或导入)并升级到 v2.6.x 的集群。
+
+- 这些步骤将改变下游 RKE2 和 K3s 集群的配置并部署 `kube-api-authn-webhook`。如果 ACE 的未来实现需要更新 `kube-api-authn-webhook`,那么这也必须手动完成。有关此 webhook 的更多信息,请单击[此处](../manage-clusters/access-clusters/authorized-cluster-endpoint.md#关于-kube-api-auth-身份验证-webhook)。
+
+:::
+
+###### **在每个下游集群的 controlplane 上启用 ACE 的手动执行步骤**:
+
+1. 在 `/var/lib/rancher/{rke2,k3s}/kube-api-authn-webhook.yaml` 创建一个文件,内容如下:
+ ```yaml
+ apiVersion: v1
+ kind: Config
+ clusters:
+ - name: Default
+ cluster:
+ insecure-skip-tls-verify: true
+ server: http://127.0.0.1:6440/v1/authenticate
+ users:
+ - name: Default
+ user:
+ insecure-skip-tls-verify: true
+ current-context: webhook
+ contexts:
+ - name: webhook
+ context:
+ user: Default
+ cluster: Default
+ ```
+
+2. 将以下内容添加到配置文件中(如果文件不存在,则创建一个)。请注意,默认位置是 `/etc/rancher/{rke2,k3s}/config.yaml`:
+ ```yaml
+ kube-apiserver-arg:
+ - authentication-token-webhook-config-file=/var/lib/rancher/{rke2,k3s}/kube-api-authn-webhook.yaml
+ ```
+
+3. 运行以下命令:
+
+ sudo systemctl stop {rke2,k3s}-server
+ sudo systemctl start {rke2,k3s}-server
+
+4. 最后,你**必须**返回 Rancher UI 并在那里编辑导入的集群,从而完成 ACE 启用。单击 **⋮ > 编辑配置**,然后单击**集群配置**下的**网络**选项卡。最后,单击**授权端点**的**启用**按钮。启用 ACE 后,你可以输入完全限定的域名 (FQDN) 和证书信息。
+
+:::note
+
+FQDN 字段是可选的。如果指定了该字段,它应该指向下游集群。仅当下游集群前面有使用了不受信任证书的负载均衡器时才需要证书信息。如果你使用的是有效证书,则不需要填写 CA 证书 字段。
+
+:::
+
+## 注释已注册的集群
+
+Rancher 没有注册的 Kubernetes 集群(除了 RKE2 和 K3s Kubernetes 集群之外)如何预置或配置集群的任何信息。
+
+因此,当 Rancher 注册集群时,它假设某些功能是默认禁用的。Rancher 这样做是为了避免向用户暴露 UI 选项(即使注册的集群没有启用这些功能)。
+
+但是,如果集群具有某种功能(例如使用 pod 安全策略),那么该集群的用户可能仍希望在 Rancher UI 中为集群选择 pod 安全策略。为此,用户需要手动让 Rancher 知道集群已启用 pod 安全策略。
+
+通过对已注册的集群进行注释,你可以向 Rancher 表明集群在 Rancher 之外被赋予了 Pod 安全策略或其他功能。
+
+此示例注释表示启用了 pod 安全策略:
+
+```json
+"capabilities.cattle.io/pspEnabled": "true"
+```
+
+以下注释表示 Ingress 功能。请注意,非原始对象的值需要进行 JSON 编码,并转义引号:
+
+```json
+"capabilities.cattle.io/ingressCapabilities": "[
+ {
+ "customDefaultBackend":true,
+ "ingressProvider":"asdf"
+ }
+]"
+```
+
+你可以为集群注释以下功能:
+
+- `ingressCapabilities`
+- `loadBalancerCapabilities`
+- `nodePoolScalingSupported`
+- `nodePortRange`
+- `pspEnabled`
+- `taintSupport`
+
+所有功能及其类型定义都可以在 Rancher API 视图中查看,地址是 `[Rancher Server URL]/v3/schemas/capabilities`。
+
+要注释已注册的集群:
+
+1. 点击 **☰ > 集群管理**。
+2. 在**集群**页面上,转到要注释的自定义集群,然后单击 **⋮ > 编辑配置**。
+3. 展开**标签 & 注释**。
+4. 单击**添加注释**。
+5. 使用 `capabilities/: ` 格式向集群添加注释,其中 `value` 是要使用注释覆盖的集群功能。在这种情况下,Rancher 在你添加注释之前都不知道集群的任何功能。
+6. 单击**保存**。
+
+**结果**:注释并不是给集群提供功能,而是告知 Rancher 集群具有这些功能。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/amazon.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/amazon.md
new file mode 100644
index 00000000000..3c31569bf95
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/amazon.md
@@ -0,0 +1,160 @@
+---
+title: 设置 Amazon 云提供商
+weight: 1
+---
+
+使用 `Amazon` 云提供商时,你可以利用以下功能:
+
+- **负载均衡器**:在 **Port Mapping** 中选择 `Layer-4 Load Balancer` 或使用 `type: LoadBalancer` 启动 `Service` 时,启动 AWS 弹性负载均衡器 (ELB)。
+- **持久卷**:允许你将 AWS 弹性块存储 (EBS) 用于持久卷。
+
+有关 Amazon 云提供商的所有信息,请参阅 [cloud-provider-aws 自述文件](https://kubernetes.github.io/cloud-provider-aws/)。
+
+要设置 Amazon 云提供商:
+
+1. [创建一个 IAM 角色并附加到实例](#1-创建-iam-角色并附加到实例)
+2. [配置 ClusterID](#2-创建-clusterid)
+
+:::note 重要提示:
+
+从 Kubernetes 1.23 开始,你必须停用 `CSIMigrationAWS` 特性开关才能使用树内 AWS 云提供商。为此,你可以在高级集群配置中将 `feature-gates=CSIMigrationAWS=false` 设置为集群 Kubelet、Controller Manager、API Server 和 Scheduler 的附加参数。
+
+:::
+
+### 1. 创建 IAM 角色并附加到实例
+
+添加到集群的所有节点都必须能够与 EC2 交互,以便它们可以创建和删除资源。你可以使用附加到实例的 IAM 角色来启用交互。请参阅 [Amazon 文档:创建 IAM 角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#create-iam-role) 来创建 IAM 角色。有两个示例策略:
+
+* 第一个策略适用于具有 `controlplane` 角色的节点。这些节点必须能够创建/删除 EC2 资源。以下 IAM 策略是一个示例,请根据你的实际用例移除不需要的权限。
+* 第二个策略适用于具有 `etcd` 或 `worker` 角色的节点。这些节点只需能够从 EC2 检索信息。
+
+在创建 [Amazon EC2 集群](../../launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/create-an-amazon-ec2-cluster.md)时,你必须在创建**节点模板**时填写创建的 IAM 角色的 **IAM Instance Profile Name**(不是 ARN)。
+
+创建[自定义集群](../../../../pages-for-subheaders/use-existing-nodes.md)时,你必须手动将 IAM 角色附加到实例。
+
+具有 `controlplane` 角色的节点的 IAM 策略:
+
+```json
+{
+"Version": "2012-10-17",
+"Statement": [
+ {
+ "Effect": "Allow",
+ "Action": [
+ "autoscaling:DescribeAutoScalingGroups",
+ "autoscaling:DescribeLaunchConfigurations",
+ "autoscaling:DescribeTags",
+ "ec2:DescribeInstances",
+ "ec2:DescribeRegions",
+ "ec2:DescribeRouteTables",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVolumes",
+ "ec2:CreateSecurityGroup",
+ "ec2:CreateTags",
+ "ec2:CreateVolume",
+ "ec2:ModifyInstanceAttribute",
+ "ec2:ModifyVolume",
+ "ec2:AttachVolume",
+ "ec2:AuthorizeSecurityGroupIngress",
+ "ec2:CreateRoute",
+ "ec2:DeleteRoute",
+ "ec2:DeleteSecurityGroup",
+ "ec2:DeleteVolume",
+ "ec2:DetachVolume",
+ "ec2:RevokeSecurityGroupIngress",
+ "ec2:DescribeVpcs",
+ "elasticloadbalancing:AddTags",
+ "elasticloadbalancing:AttachLoadBalancerToSubnets",
+ "elasticloadbalancing:ApplySecurityGroupsToLoadBalancer",
+ "elasticloadbalancing:CreateLoadBalancer",
+ "elasticloadbalancing:CreateLoadBalancerPolicy",
+ "elasticloadbalancing:CreateLoadBalancerListeners",
+ "elasticloadbalancing:ConfigureHealthCheck",
+ "elasticloadbalancing:DeleteLoadBalancer",
+ "elasticloadbalancing:DeleteLoadBalancerListeners",
+ "elasticloadbalancing:DescribeLoadBalancers",
+ "elasticloadbalancing:DescribeLoadBalancerAttributes",
+ "elasticloadbalancing:DetachLoadBalancerFromSubnets",
+ "elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
+ "elasticloadbalancing:ModifyLoadBalancerAttributes",
+ "elasticloadbalancing:RegisterInstancesWithLoadBalancer",
+ "elasticloadbalancing:SetLoadBalancerPoliciesForBackendServer",
+ "elasticloadbalancing:AddTags",
+ "elasticloadbalancing:CreateListener",
+ "elasticloadbalancing:CreateTargetGroup",
+ "elasticloadbalancing:DeleteListener",
+ "elasticloadbalancing:DeleteTargetGroup",
+ "elasticloadbalancing:DescribeListeners",
+ "elasticloadbalancing:DescribeLoadBalancerPolicies",
+ "elasticloadbalancing:DescribeTargetGroups",
+ "elasticloadbalancing:DescribeTargetHealth",
+ "elasticloadbalancing:ModifyListener",
+ "elasticloadbalancing:ModifyTargetGroup",
+ "elasticloadbalancing:RegisterTargets",
+ "elasticloadbalancing:SetLoadBalancerPoliciesOfListener",
+ "iam:CreateServiceLinkedRole",
+ "kms:DescribeKey"
+ ],
+ "Resource": [
+ "*"
+ ]
+ }
+]
+}
+```
+
+具有 `etcd` 或 `worker` 角色的节点的 IAM 策略:
+
+```json
+{
+"Version": "2012-10-17",
+"Statement": [
+ {
+ "Effect": "Allow",
+ "Action": [
+ "ec2:DescribeInstances",
+ "ec2:DescribeRegions",
+ "ecr:GetAuthorizationToken",
+ "ecr:BatchCheckLayerAvailability",
+ "ecr:GetDownloadUrlForLayer",
+ "ecr:GetRepositoryPolicy",
+ "ecr:DescribeRepositories",
+ "ecr:ListImages",
+ "ecr:BatchGetImage"
+ ],
+ "Resource": "*"
+ }
+]
+}
+```
+
+### 2. 创建 ClusterID
+
+以下资源需要使用 `ClusterID` 进行标记:
+
+- **Nodes**:Rancher 中添加的所有主机。
+- **Subnet**:集群使用的子网。
+- **Security Group**:用于你的集群的安全组。
+
+:::note
+
+不要标记多个安全组。创建弹性负载均衡器 (ELB) 时,标记多个组会产生错误。
+
+:::
+
+创建 [Amazon EC2 集群](../../launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/create-an-amazon-ec2-cluster.md)时,会自动为创建的节点配置 `ClusterID`。其他资源仍然需要手动标记。
+
+使用以下标签:
+
+**Key** = `kubernetes.io/cluster/CLUSTERID` **Value** = `owned`
+
+`CLUSTERID` 可以是任何字符串,只要它在所有标签集中相同即可。
+
+将标签的值设置为 `owned` 会通知集群带有该标签的所有资源都由该集群拥有和管理。如果你在集群之间共享资源,你可以将标签更改为:
+
+**Key** = `kubernetes.io/cluster/CLUSTERID` **Value** = `shared`.
+
+### 使用 Amazon Elastic Container Registry (ECR)
+
+在将[创建 IAM 角色并附加到实例](#1-创建-iam-角色并附加到实例)中的 IAM 配置文件附加到实例时,kubelet 组件能够自动获取 ECR 凭证。使用低于 v1.15.0 的 Kubernetes 版本时,需要在集群中配置 Amazon 云提供商。从 Kubernetes 版本 v1.15.0 开始,kubelet 无需在集群中配置 Amazon 云提供商即可获取 ECR 凭证。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/azure.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/azure.md
new file mode 100644
index 00000000000..0b6fc4bac45
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/azure.md
@@ -0,0 +1,111 @@
+---
+title: 设置 Azure 云提供商
+---
+
+使用 `Azure` 云提供商时,你可以使用以下功能:
+
+- **负载均衡器**:在特定网络安全组中启动 Azure 负载均衡器。
+
+- **持久卷**:支持将 Azure Blob 磁盘和 Azure 托管磁盘与标准和高级 Storage Account 一起使用。
+
+- **网络存储**:通过 CIFS 挂载支持 Azure 文件。
+
+Azure 订阅不支持以下账号类型:
+
+- 单租户账号(即没有订阅的账号)。
+- 多订阅账号。
+
+## RKE 和 RKE2 的先决条件
+
+要为 RKE 和 RKE2 设置 Azure 云提供商,你需要配置以下凭证:
+
+1. [设置 Azure 租户 ID](#1-设置-azure-租户-id)
+2. [设置 Azure 客户端 ID 和 Azure 客户端密码](#2-设置-azure-客户端-id-和-azure-客户端密码)
+3. [配置应用注册权限](#3-配置应用注册权限)
+4. [设置 Azure 网络安全组名称](#4-设置-azure-网络安全组名称)
+
+### 1. 设置 Azure 租户 ID
+
+访问 [Azure 门户](https://portal.azure.com),登录并转到 **Azure Active Directory**,然后选择 **Properties**。你的 **Directory ID** 是你的 **Tenant ID** (tenantID)。
+
+如果要使用 Azure CLI,你可以运行 `az account show` 命令来获取信息。
+
+### 2. 设置 Azure 客户端 ID 和 Azure 客户端密码
+
+访问 [Azure 门户](https://portal.azure.com),登录并按照以下步骤创建 **App Registration** 和对应的 **Azure Client ID** (aadClientId) 以及 **Azure Client Secret** (aadClientSecret)。
+
+1. 选择 **Azure Active Directory**。
+1. 选择 **App registrations**。
+1. 选择 **New application registration**。
+1. 选择 **Name**,选择 `Web app/API` 作为 **Application Type**,并选择任意 **Sign-on URL**。
+1. 选择 **Create**。
+
+在 **App registrations** 视图中,你应该会看到你创建的应用注册。**APPLICATION ID** 列中显示的值是需要用作 **Azure Client ID** 的值。
+
+下一步是生成 **Azure Client Secret**:
+
+1. 打开你创建的应用注册。
+1. 在 **Settings** 视图中,打开 **Keys**。
+1. 输入 **Key description**,选择过期时间,然后选择 **Save**。
+1. **Value** 列中显示的生成值是需要用作 **Azure Client Secret** 的值。该值只会显示一次。
+
+### 3. 配置应用注册权限
+
+最后,为你的应用注册分配适当的权限:
+
+1. 前往 **More services**,搜索 **Subscriptions** 并打开它。
+1. 打开 **Access control (IAM)**。
+1. 选择 **Add**。
+1. 在 **Role** 中选择 `Contributor`。
+1. 在 **Select** 中选择你创建的应用注册的名称。
+1. 选择 **Save**。
+
+### 4. 设置 Azure 网络安全组名称
+
+要使 Azure 负载均衡器正常工作,你需要自定义一个 Azure 网络安全组 (securityGroupName)。
+
+如果你使用 Rancher Machine Azure 驱动来配置主机,则需要手动编辑主机,从而将主机分配给此网络安全组。
+
+你需要在配置期间将自定义主机分配给此网络安全组。
+
+只有需要成为负载均衡器后端的主机才需要分配到该组。
+
+## Rancher 中的 RKE2 集群设置
+
+1. 在**集群配置**中的**云提供商**下拉列表中选择 **Azure**。
+
+1.
+ * 配置云提供商。请注意,Rancher 会自动创建新的网络安全组、资源组、可用性集、子网和虚拟网络。如果你已经创建了其中的一部分或全部,则需要在创建集群之前指定它们。
+ * 你可以单击**显示高级选项**以查看更多自动生成的名称,并在需要的时候更新它们。你的云提供商配置**必须**与**主机池**中的字段匹配。如果你有多个池,它们必须使用相同的资源组、可用性集、子网、虚拟网络和网络安全组。
+ * 下面提供了一个示例。你可以根据需要对其进行修改。
+
+
+ 云提供商配置示例
+
+ ```yaml
+ {
+ "cloud":"AzurePublicCloud",
+ "tenantId": "YOUR TENANTID HERE",
+ "aadClientId": "YOUR AADCLIENTID HERE",
+ "aadClientSecret": "YOUR AADCLIENTSECRET HERE",
+ "subscriptionId": "YOUR SUBSCRIPTIONID HERE",
+ "resourceGroup": "docker-machine",
+ "location": "westus",
+ "subnetName": "docker-machine",
+ "securityGroupName": "rancher-managed-KA4jV9V2",
+ "securityGroupResourceGroup": "docker-machine",
+ "vnetName": "docker-machine-vnet",
+ "vnetResourceGroup": "docker-machine",
+ "primaryAvailabilitySetName": "docker-machine",
+ "routeTableResourceGroup": "docker-machine",
+ "cloudProviderBackoff": false,
+ "useManagedIdentityExtension": false,
+ "useInstanceMetadata": true
+ }
+ ```
+
+
+
+1. 在**集群配置 > 高级选项**、中,单击**补充的 Controller Manager 参数**下的**添加**,并添加 `--configure-cloud-routes=false` 标志。
+
+1. 单击**创建**按钮来提交表单并创建集群。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/configure-in-tree-vsphere.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/configure-in-tree-vsphere.md
new file mode 100644
index 00000000000..17d1e4f671c
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/configure-in-tree-vsphere.md
@@ -0,0 +1,19 @@
+---
+title: 配置树内 vSphere 云提供商
+---
+
+要设置树内 vSphere 云提供商,请在 Rancher 中创建 vSphere 集群时按照以下步骤操作:
+
+1. 将 **Cloud Provider** 选项设置为 `Custom` 或 `Custom (In-Tree)`。
+1. 单击**以 YAML 文件编辑**。
+1. 将以下结构插入到预填充的集群 YAML。这个结构必须放在 `rancher_kubernetes_engine_config` 下。请注意,`name` *必须*设置为 `vsphere`。
+
+ ```yaml
+ rancher_kubernetes_engine_config:
+ cloud_provider:
+ name: vsphere
+ vsphereCloudProvider:
+ [Insert provider configuration]
+ ```
+
+Rancher 使用 RKE(Rancher Kubernetes Engine)来配置 Kubernetes 集群。有关 `vsphereCloudProvider` 的属性的详细信息,请参阅 RKE 文档中的 [vSphere 配置参考](https://rancher.com/docs/rke/latest/en/config-options/cloud-providers/vsphere/config-reference/)。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/configure-out-of-tree-vsphere.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/configure-out-of-tree-vsphere.md
new file mode 100644
index 00000000000..f0461eb27b5
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/configure-out-of-tree-vsphere.md
@@ -0,0 +1,64 @@
+---
+title: 配置树外 vSphere 云提供商
+---
+
+Kubernetes 正在逐渐不在树内维护云提供商。vSphere 有一个树外云提供商,可通过安装 vSphere 云提供商和云存储插件来使用。
+
+本文介绍了如何在设置集群后安装 Cloud Provider Interface (CPI) 和 Cloud Storage Interface (CSI) 插件。
+
+## 先决条件
+
+支持的 vSphere 版本:
+
+* 6.7u3
+* 7.0u1 或更高版本。
+
+Kubernetes 版本必须为 1.19 或更高版本。
+
+树外 vSphere 云提供商要求使用 Linux 节点,不支持 Windows 节点。
+
+## 安装
+
+在安装云存储接口 (CSI) 之前,应先安装云提供商接口 (CPI)。
+
+### 1. 创建 vSphere 集群
+
+1. 点击 **☰ > 集群管理**。
+1. 在**集群**页面上,单击**创建**。
+1. 单击 **VMware vSphere** 或 **自定义**。
+1. 在**集群配置**的**基本信息**选项卡中,将**云提供商**设置为 **vSphere**。
+1. 在**附加配置**选项卡中,设置 vSphere Cloud Provider (CPI) 和 Storage Provider (CSI) 选项。
+1. 完成集群创建。
+
+### 2. 安装 CPI 插件
+
+1. 点击 **☰ > 集群管理**。
+1. 转到将安装 vSphere CPI 插件的集群,然后单击 **Explore**。
+1. 单击 **Apps > Charts**。
+1. 单击 **vSphere CPI**。
+1. 填写所需的 vCenter 详细信息。
+1. vSphere CPI 使用 vSphere CSI 驱动所需的 ProviderID 来初始化所有节点。在使用以下命令安装 CSI 驱动之前,检查是否所有节点都使用 ProviderID 进行了初始化:
+
+ ```
+ kubectl describe nodes | grep "ProviderID"
+ ```
+
+### 3. 安装 CSI 插件
+
+1. 点击 **☰ > 集群管理**。
+1. 转到将安装 vSphere CSI 插件的集群,然后单击 **Explore**。
+1. 单击 **Apps > Charts**。
+1. 单击 **vSphere CSI**。
+1. 单击**安装**。
+1. 填写所需的 vCenter 详细信息。在**功能**选项卡中,将**启用 CSI 迁移**设置为 **false**。
+3. 在**存储**选项卡中,填写 StorageClass 的详细信息。此 Chart 使用 `csi.vsphere.vmware.com` 作为置备程序来创建一个 StorageClass。
+1. 单击**安装**。
+
+
+## 使用 CSI 驱动来置备卷
+
+CSI chart 默认创建一个 storageClass。
+
+如果在启动 chart 时未选择该选项,请使用 `csi.vsphere.vmware.com` 作为置备程序来创建一个 storageClass。
+
+使用此 StorageClass 置备的所有卷都将由 CSI 驱动配置。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/google-compute-engine.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/google-compute-engine.md
new file mode 100644
index 00000000000..f5e437e9de8
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/google-compute-engine.md
@@ -0,0 +1,57 @@
+---
+title: 设置 Google Compute Engine 云提供商
+---
+
+在本节中,你将了解如何在 Rancher 中为自定义集群启用 Google Compute Engine (GCE) 云提供商。自定义集群指的是 Rancher 在现有节点上安装 Kubernetes 的集群。
+
+详情请参见 [GCE 云提供商的官方 Kubernetes 文档](https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/#gce)。
+
+:::note 先决条件:
+
+GCE 上的 `Identity` ServiceAccount 和 API 访问需要`Computer Admin`权限。
+
+:::
+
+如果你使用 Calico:
+
+1. 点击 **☰ > 集群管理**。
+1. 在**集群**页面中,进入自定义集群,点击 **⋮ > 编辑 YAML** 并输入如下配置:
+
+ ```yaml
+ rancher_kubernetes_engine_config:
+ cloud_provider:
+ name: gce
+ customCloudProvider: |-
+ [Global]
+ project-id=
+ network-name=
+ subnetwork-name=
+ node-instance-prefix=
+ node-tags=
+ network:
+ options:
+ calico_cloud_provider: "gce"
+ plugin: "calico"
+ ```
+
+如果你使用 Canal 或 Flannel:
+
+1. 点击 **☰ > 集群管理**。
+1. 在**集群**页面中,进入自定义集群,点击 **⋮ > 编辑 YAML** 并输入如下配置:
+
+ ```yaml
+ rancher_kubernetes_engine_config:
+ cloud_provider:
+ name: gce
+ customCloudProvider: |-
+ [Global]
+ project-id=
+ network-name=
+ subnetwork-name=
+ node-instance-prefix=
+ node-tags=
+ services:
+ kube_controller:
+ extra_args:
+ configure-cloud-routes: true # we need to allow the cloud provider configure the routes for the hosts
+ ```
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/migrate-from-in-tree-to-out-of-tree.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/migrate-from-in-tree-to-out-of-tree.md
new file mode 100644
index 00000000000..065ff2deb84
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.8/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/migrate-from-in-tree-to-out-of-tree.md
@@ -0,0 +1,108 @@
+---
+title: 将 vSphere 树内卷迁移到树外
+---
+
+Kubernetes 正在逐渐不在树内维护云提供商。vSphere 有一个树外云提供商,可通过安装 vSphere 云提供商和云存储插件来使用。
+
+本页介绍如何从树内 vSphere 云提供商迁移到树外,以及如何在迁移后管理现有虚拟机。
+
+本文遵循官方 [vSphere 迁移文档](https://vsphere-csi-driver.sigs.k8s.io/features/vsphere_csi_migration.html)中提供的步骤,并介绍了要在 Rancher 中执行的步骤。
+
+### Cloud-config 格式限制
+
+由于 vSphere CSI 中的现有错误,使用以下 cloud-config 格式配置的现有卷将不会迁移。
+
+如果 cloud-config 具有以下格式的 datastore 和资源池路径,vsphere CSI 驱动将无法识别它:
+
+```yaml
+default-datastore: /datastore/
+resourcepool-path: "/host//Resources/"
+```
+
+格式如下的使用树内提供商预置的卷将能正确迁移:
+
+```yaml
+default-datastore:
+resourcepool-path: "/Resources/