zh/2.8 fix header levels

This commit is contained in:
Billy Tat
2024-09-18 22:56:44 -07:00
parent 9b42a00a10
commit 8c8ec320c2
125 changed files with 522 additions and 503 deletions
@@ -7,14 +7,15 @@ title: 使用非默认支持的存储驱动
如需启用或禁用此功能,请参见[启用实验功能主页](../../../pages-for-subheaders/enable-experimental-features.md)中的说明。
| 环境变量键 | 默认值 | 描述 |
---|---|---
|---|---|---|
| `unsupported-storage-drivers` | `false` | 启用非默认启用的存储提供商和卷插件。 |
### 默认启用的持久卷插件
## 默认启用的持久卷插件
下表描述了默认启用的存储类型对应的持久卷插件。启用此功能开关时,不在此列表中的任何持久卷插件均被视为实验功能,且不受支持:
| 名称 | 插件 |
--------|----------
|--------|----------|
| Amazon EBS Disk | `aws-ebs` |
| AzureFile | `azure-file` |
| AzureDisk | `azure-disk` |
@@ -25,15 +26,16 @@ title: 使用非默认支持的存储驱动
| 网络文件系统 | `nfs` |
| hostPath | `host-path` |
### 默认启用的 StorageClass
## 默认启用的 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` |
| 本地 | `local` |
@@ -19,11 +19,11 @@ title: 2. 在命名空间中启用 Istio
**结果**:命名空间带有了 `istio-injection=enabled` 标签。默认情况下,部署在此命名空间中的所有新工作负载都将注入 Istio sidecar。
### 验证是否启用了自动 Istio Sidecar 注入
## 验证是否启用了自动 Istio Sidecar 注入
要验证 Istio 是否已启用,请在命名空间中部署一个 hello-world 工作负载。转到工作负载并单击 pod 名称。在**容器**中,你应该能看到 `istio-proxy` 容器。
### 排除工作负载的 Istio Sidecar 注入
## 排除工作负载的 Istio Sidecar 注入
要排除 Istio sidecar 被注入某工作负载,请在工作负载上使用以下注释:
@@ -49,5 +49,5 @@ sidecar.istio.io/inject: “false”
:::
### 后续步骤
## 后续步骤
[使用 Istio Sidecar 添加部署](use-istio-sidecar.md)
@@ -72,5 +72,6 @@ spec:
**结果**:生成流到该服务的流量时(例如,刷新 Ingress Gateway URL),你可以在 Kiali 流量图中看到流到 `reviews` 服务的流量被平均分配到了 `v1` 和 `v3`。
### 后续步骤
## 后续步骤
[生成和查看流量](generate-and-view-traffic.md)
@@ -19,7 +19,7 @@ title: 3. 使用 Istio Sidecar 添加部署和服务
等待几分钟,然后工作负载将升级并具有 Istio sidecar。单击它并转到**容器**。你应该能看到该工作负载旁边的 `istio-proxy`。这意味着为工作负载启用了 Istio sidecar。Istio 正在为 Sidecar Envoy 做所有的接线工作。如果你现在在 yaml 中启用它们,Istio 可以自动执行所有功能。
### 添加部署和服务
## 添加部署和服务
以下是在命名空间中添加新 **Deployment** 的几种方法:
@@ -46,7 +46,7 @@ title: 3. 使用 Istio Sidecar 添加部署和服务
1. 如果你的文件存储在本地集群中,运行 `kubectl create -f <name of service/deployment file>.yaml`。
1. 或运行 `cat<< EOF | kubectl apply -f -`,将文件内容粘贴到终端,然后运行 `EOF` 来完成命令。
### 部署和服务示例
## 部署和服务示例
接下来,我们为 Istio 文档中的 BookInfo 应用的示例部署和服务添加 Kubernetes 资源:
@@ -87,7 +87,7 @@ Productpage 服务和部署:
- 一个 `bookinfo-productpage` 的 ServiceAccount。
- 一个 `productpage-v1` Deployment。
### 资源 YAML
## 资源 YAML
```yaml
# Copyright 2017 Istio Authors
@@ -356,5 +356,6 @@ spec:
---
```
### 后续步骤
## 后续步骤
[设置 Istio Gateway](set-up-istio-gateway.md)
@@ -10,12 +10,12 @@ title: Pod 安全策略
你可以在创建项目的时候设置 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 安全策略
## 应用 Pod 安全策略
1. 在左上角,单击 **☰ > 集群管理**。
1. 在**集群**页面上,转到需要移动命名空间的集群,然后单击 **Explore**。
@@ -14,7 +14,7 @@ title: 项目资源配额
Rancher 中的资源配额包含与 [Kubernetes 原生版本](https://kubernetes.io/docs/concepts/policy/resource-quotas/)相同的功能。Rancher 还扩展了资源配额的功能,从而让你将资源配额应用于项目。有关资源配额如何与 Rancher 中的项目一起使用的详细信息,请参阅[此页面](about-project-resource-quotas.md)。
### 将资源配额应用于现有项目
## 将资源配额应用于现有项目
修改资源配额的使用场景如下:
@@ -12,7 +12,7 @@ title: 覆盖命名空间的默认限制
有关详细信息,请参阅[如何编辑命名空间资源配额](../../../new-user-guides/manage-clusters/projects-and-namespaces.md)。
### 编辑命名空间资源配额
## 编辑命名空间资源配额
如果你已为项目配置了资源配额,你可以覆盖命名空间默认限制,从而为特定命名空间提供对更多(或更少)项目资源的访问权限:
@@ -6,7 +6,7 @@ title: 设置容器默认资源限制
为了避免在创建工作负载期间对每个容器设置这些限制,可以在命名空间上指定一个默认的容器资源限制。
### 编辑容器默认资源限制
## 编辑容器默认资源限制
你可以在以下情况下编辑容器的默认资源限制:
@@ -19,7 +19,7 @@ title: 设置容器默认资源限制
1. 找到要编辑容器默认资源限制的项目。在该项目中选择 **⋮ > 编辑配置**。
1. 展开**容器默认资源限制**并编辑对应的值。
### 沿用资源限制
## 沿用资源限制
在项目级别设置默认容器资源限制后,项目中所有新建的命名空间都会沿用这个资源限制参数。新设置的限制不会影响项目中现有的命名空间。你需要为项目中的现有命名空间手动设置默认容器资源限制,以便创建容器时能应用该限制。
@@ -27,7 +27,7 @@ title: 设置容器默认资源限制
在命名空间上配置容器默认资源限制后,在该命名空间中创建的任何容器都会沿用该默认值。你可以在工作负载创建期间覆盖这些限制/预留。
### 容器资源配额类型
## 容器资源配额类型
可以配置以下资源限制:
@@ -26,7 +26,7 @@ _项目_ 是 Rancher 中引入的对象,可帮助你更有组织地管理 Kube
- [配置工具](../../../reference-guides/rancher-project-tools.md)
- [配置 Pod 安全策略](manage-pod-security-policies.md)
### 授权
## 授权
非管理者用户只有在[管理员](../../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#集群角色)或[项目所有者](../../new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#项目角色)将非管理员用户添加到项目的**成员**选项卡后,才能获取项目的访问权限。
@@ -4,13 +4,13 @@ title: 自定义 Grafana 仪表板
在本文中,你将学习通过自定义 Grafana 仪表板来显示特定容器的指标。
### 先决条件
## 先决条件
在自定义 Grafana 仪表板之前,你必须先安装 `rancher-monitoring` 应用。
要查看指向外部监控 UI(包括 Grafana 仪表板)的链接,你至少需要一个 [project-member 角色](../../../integrations-in-rancher/monitoring-and-alerting/rbac-for-monitoring.md#具有-rancher-权限的用户)。
### 登录 Grafana
## 登录 Grafana
1. 在 Rancher UI 中,转到要自定义的仪表板的集群。
1. 在左侧导航栏中,单击**监控**。
@@ -19,7 +19,7 @@ title: 自定义 Grafana 仪表板
1. 登录到 Grafana。Grafana 实例的默认 Admin 用户名和密码是 `admin/prom-operator`(无论谁拥有密码,都需要 Rancher 的集群管理员权限才能访问 Grafana 实例)。你还可以在部署或升级 Chart 时替换凭证。
### 获取支持 Grafana 面板的 PromQL 查询
## 获取支持 Grafana 面板的 PromQL 查询
对于任何面板,你可以单击标题并单击 **Explore** 以获取支持图形的 PromQL 查询。
@@ -12,7 +12,7 @@ Prometheus 经过了优化,可以存储基于索引的序列数据。它是为
但是,Prometheus 没有就快速变化的时间序列数量进行对应的优化。因此,如果你在创建和销毁了大量资源的集群(尤其是多租户集群)上安装 Monitoring,可能会出现内存使用量激增的情况。
### 减少内存激增
## 减少内存激增
为了减少内存消耗,Prometheus 可以通过抓取更少的指标或在时间序列上添加更少的标签,从而存储更少的时间序列。要查看使用内存最多的序列,你可以查看 Prometheus UI 中的 TSDB(时序数据库)状态页面。
@@ -2,11 +2,11 @@
title: 为工作负载设置 Prometheus Federator
---
### 显示工作负载的 CPU 和内存指标
## 显示工作负载的 CPU 和内存指标
使用 Prometheus Federator 显示 CPU 和内存指标的方式与使用 rancher-monitoring 相同。有关说明,请参阅[此处](../set-up-monitoring-for-workloads.md#显示工作负载的-cpu-和内存指标)。
### 设置 CPU 和内存之外的指标
## 设置 CPU 和内存之外的指标
使用 Prometheus Federator 设置 CPU 和内存之外的指标与使用 rancher-monitoring 的方式相同。有关说明,请参阅[此处](../set-up-monitoring-for-workloads.md#设置-cpu-和内存之外的指标)。
@@ -12,13 +12,13 @@ Grafana 显示聚合数据,你也可以使用 PromQL 查询来查看单个工
要为你的工作负载设置自定义指标,你需要设置一个 Exporter 并创建一个新的 ServiceMonitor 自定义资源,从而将 Prometheus 配置为从 Exporter 中抓取指标。
### 显示工作负载的 CPU 和内存指标
## 显示工作负载的 CPU 和内存指标
默认情况下,Monitoring 应用会抓取 CPU 和内存指标。
要获取特定工作负载的细粒度信息,你可以自定义 Grafana 仪表板来显示该工作负载的指标。
### 设置 CPU 和内存之外的指标
## 设置 CPU 和内存之外的指标
对于自定义指标,你需要使用 Prometheus 支持的格式来公开应用上的指标。
@@ -6,14 +6,14 @@ title: 高级配置
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/advanced-user-guides/monitoring-v2-configuration-guides/advanced-configuration"/>
</head>
### Alertmanager
## Alertmanager
有关配置 Alertmanager 自定义资源的信息,请参阅[此页面。](alertmanager.md)
### Prometheus
## Prometheus
有关配置 Prometheus 自定义资源的信息,请参阅[此页面。](prometheus.md)
### PrometheusRules
## PrometheusRules
有关配置 PrometheusRules 自定义资源的信息,请参阅[此页面。](prometheusrules.md)
@@ -10,7 +10,7 @@ PrometheusRule 定义了一组 Prometheus 告警和/或记录规则。
:::
### 在 Rancher UI 中创建 PrometheusRule
## 在 Rancher UI 中创建 PrometheusRule
:::note 先决条件:
@@ -28,7 +28,7 @@ PrometheusRule 定义了一组 Prometheus 告警和/或记录规则。
**结果**:告警可以向接收器发送通知。
### 关于 PrometheusRule 自定义资源
## 关于 PrometheusRule 自定义资源
当你定义规则时(在 PrometheusRule 资源的 RuleGroup 中声明),[规则本身的规范](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#rule)会包含标签,然后 Alertmanager 会使用这些标签来确定接收此告警的路由。例如,标签为 `team: front-end` 的告警将​​发送到与该标签匹配的所有路由。
@@ -6,7 +6,7 @@ title: 为大型安装进行 etcd 调优
Kubernetes 每隔五分钟会自动清理 etcd 数据集。在某些情况下(例如发生部署抖动),在垃圾回收发生并进行清理之前会有大量事件写入 etcd 并删除,从而导致 Keyspace 填满。如果你在 etcd 日志或 Kubernetes API Server 日志中看到 `mvcc: database space exceeded` 错误,你可以在 etcd 服务器上设置 [quota-backend-bytes](https://etcd.io/docs/v3.5/op-guide/maintenance/#space-quota) 来增加 Keyspace 的大小。
### 示例:此 RKE cluster.yml 文件的代码片段将 Keyspace 的大小增加到 5GB
## 示例:此 RKE cluster.yml 文件的代码片段将 Keyspace 的大小增加到 5GB
```yaml
# RKE cluster.yml
@@ -12,11 +12,11 @@ title: 添加项目成员
:::
### 将成员添加到新项目
## 将成员添加到新项目
你可以在创建项目时将成员添加到项目中(建议)。有关创建新项目的详细信息,请参阅[集群管理](../../how-to-guides/new-user-guides/manage-clusters/projects-and-namespaces.md)。
### 将成员添加到现有项目
## 将成员添加到现有项目
创建项目后,你可以将用户添加为项目成员,以便用户可以访问项目的资源:
@@ -8,7 +8,7 @@ title: 配置驱动
使用 Rancher 中的驱动,你可以管理可以使用哪些供应商来部署[托管的 Kubernetes 集群](../../kubernetes-clusters-in-rancher-setup/set-up-clusters-from-hosted-kubernetes-providers/set-up-clusters-from-hosted-kubernetes-providers.md)或[云服务器节点](../../launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/use-new-nodes-in-an-infra-provider.md),以允许 Rancher 部署和管理 Kubernetes。
### Rancher 驱动
## Rancher 驱动
你可以启用或禁用 Rancher 中内置的驱动。如果相关驱动 Rancher 尚未实现,你可以添加自己的驱动。
@@ -17,7 +17,7 @@ Rancher 中有两种类型的驱动:
* [集群驱动](#集群驱动)
* [主机驱动](#主机驱动)
### 集群驱动
## 集群驱动
集群驱动用于配置[托管的 Kubernetes 集群](../../kubernetes-clusters-in-rancher-setup/set-up-clusters-from-hosted-kubernetes-providers/set-up-clusters-from-hosted-kubernetes-providers.md),例如 GKE、EKS、AKS 等。创建集群时可以显示的集群驱动,是由集群驱动的状态定义的。只有 `active` 集群驱动将显示为为托管 Kubernetes 集群创建集群的选项。默认情况下,Rancher 与几个现有的集群驱动打包在一起,但你也可以创建自定义集群驱动并添加到 Rancher。
@@ -33,7 +33,7 @@ Rancher 中有两种类型的驱动:
* [Huawei CCE](../../kubernetes-clusters-in-rancher-setup/set-up-clusters-from-hosted-kubernetes-providers/huawei.md)
* [Tencent](../../kubernetes-clusters-in-rancher-setup/set-up-clusters-from-hosted-kubernetes-providers/tencent.md)
### 主机驱动
## 主机驱动
主机驱动用于配置主机,Rancher 使用这些主机启动和管理 Kubernetes 集群。主机驱动与 [Docker Machine 驱动](https://docs.docker.com/machine/drivers/)相同。创建主机模板时可以显示的主机驱动,是由主机驱动的状态定义的。只有 `active` 主机驱动将显示为创建节点模板的选项。默认情况下,Rancher 与许多现有的 Docker Machine 驱动打包在一起,但你也可以创建自定义主机驱动并添加到 Rancher。
@@ -6,7 +6,7 @@ title: 集群驱动
如果你不想向用户显示特定的集群驱动,你可以在 Rancher 中停用这些集群驱动,它们将不会作为创建集群的选项出现。
### 管理集群驱动
## 管理集群驱动
:::note 先决条件:
@@ -36,7 +36,6 @@ title: 集群驱动
1. 在**集群驱动**选项卡上,单击**添加集群驱动**。
1. 填写**添加集群驱动**表单。然后单击**创建**。
### 开发自己的集群驱动
## 开发自己的集群驱动
如果要开发集群驱动并添加到 Rancher,请参考我们的[示例](https://github.com/rancher-plugins/kontainer-engine-driver-example)。
@@ -6,7 +6,7 @@ title: 主机驱动
如果你不想向用户显示特定的主机驱动,则需要停用这些主机驱动。
#### 管理主机驱动
## 管理主机驱动
:::note 先决条件:
@@ -36,6 +36,6 @@ title: 主机驱动
1. 在**主机驱动**选项卡上,单击**添加主机驱动**。
1. 填写**添加主机驱动**表单。然后单击**创建**。
### 开发自己的主机驱动
## 开发自己的主机驱动
主机驱动使用 [Docker Machine](https://docs.docker.com/machine/) 来实现。
@@ -22,7 +22,7 @@ title: 访问和共享
- 公开 RKE 模板,并与 Rancher 设置中的所有用户共享
- 与受信任修改模板的用户共享模板所有权
### 与特定用户或组共享模板
## 与特定用户或组共享模板
要允许用户或组使用你的模板创建集群,你可以为他们提供模板的基本**用户**访问权限。
@@ -36,7 +36,7 @@ title: 访问和共享
**结果**:用户或组可以使用模板创建集群。
### 与所有用户共享模板
## 与所有用户共享模板
1. 在左上角,单击 **☰ > 集群管理**。
1. 在左侧导航栏,单击 **RKE1 配置 > RKE 模板**。
@@ -46,7 +46,7 @@ title: 访问和共享
**结果**:Rancher 设置中的所有用户都可以使用该模板创建集群。
### 共享模板所有权
## 共享模板所有权
如果你是模板的创建者,你可能希望将维护和更新模板的责任委派给其他用户或组。
@@ -10,8 +10,7 @@ RKE 模板可以应用于新集群。
你无法将集群更改为使用不同的 RKE 模板。你只能将集群更新为同一模板的新版本。
### 使用 RKE 模板创建集群
## 使用 RKE 模板创建集群
要使用 RKE 模板添加[由基础设施提供商托管](../../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)的集群,请按照以下步骤操作:
@@ -23,7 +22,7 @@ RKE 模板可以应用于新集群。
1. 可选:你可以编辑 RKE 模板所有者在创建模板时标记为**允许用户覆盖**的任何设置。如果你无法更改某些设置,则需要联系模板所有者以获取模板的新修订版。然后,你需要编辑集群来将其升级到新版本。
1. 单击**创建**以启动集群。
### 更新使用 RKE 模板创建的集群
## 更新使用 RKE 模板创建的集群
模板所有者创建 RKE 模板时,每个设置在 Rancher UI 中都有一个开关,指示用户是否可以覆盖该设置。
@@ -40,7 +39,7 @@ RKE 模板可以应用于新集群。
:::
### 将现有集群转换为使用 RKE 模板
## 将现有集群转换为使用 RKE 模板
本节介绍如何使用现有集群创建 RKE 模板。
@@ -8,11 +8,11 @@ title: RKE 模板和基础设施
如果要标准化集群中的硬件,请将 RKE 模板与节点模板或服务器配置工具 (如 Terraform) 结合使用。
### 节点模板
## 节点模板
[节点模板](../../../../reference-guides/user-settings/manage-node-templates.md)负责 Rancher 中的节点配置和节点预配。你可以在用户配置文件中设置节点模板,从而定义在每个节点池中使用的模板。启用节点池后,可以确保每个节点池中都有所需数量的节点,并确保池中的所有节点都相同。
### Terraform
## Terraform
Terraform 是一个服务器配置工具。它使用基础架构即代码,支持使用 Terraform 配置文件创建几乎所有的基础设施。它可以自动执行服务器配置,这种方式是自文档化的,并且在版本控制中易于跟踪。
@@ -27,7 +27,7 @@ Terraform 支持:
- 将基础架构更改纳入标准开发实践
- 防止由于配置偏移,导致一些服务器的配置与其他服务器不同
## Terraform 工作原理
### Terraform 工作原理
Terraform 是用扩展名为 `.tf` 的文件编写的。它是用 HashiCorp 配置语言编写的。HashiCorp 配置语言是一种声明性语言,支持定义集群中所需的基础设施、正在使用的云提供商以及提供商的凭证。然后 Terraform 向提供商发出 API 调用,以便有效地创建基础设施。
@@ -37,7 +37,7 @@ Terraform 是用扩展名为 `.tf` 的文件编写的。它是用 HashiCorp 配
如果你需要对基础设施进行更改,你可以在 Terraform 配置文件中进行更改,而不是手动更新服务器。然后,可以将这些文件提交给版本控制、验证,并根据需要进行检查。然后,当你运行 `terraform apply` 时,更改将会被部署。
## 使用 Terraform 的技巧
### 使用 Terraform 的技巧
- [Rancher 2 提供商文档](https://www.terraform.io/docs/providers/rancher2/)提供了如何配置集群大部分的示例。
@@ -10,14 +10,13 @@ title: 创建和修改 RKE 模板
模板所有者对模板修订版具有完全控制权,并且可以创建新的修订版来更新模板,删除或禁用不应被用于创建集群的修订版,和设置默认的模板修订版。
### 先决条件
## 先决条件
如果你具有**创建 RKE 模板**权限,则可以创建 RKE 模板,该权限可由[管理员授予](creator-permissions.md)。
如果你是模板的所有者,你可以修改、共享和删除模板。有关如何成为模板所有者的详细信息,请参阅[共享模板所有权文档](access-or-share-templates.md#共享模板所有权)。
### 创建模板
## 创建模板
1. 在左上角,单击 **☰ > 集群管理**。
1. 单击 **RKE1 配置 > 节点模板**。
@@ -28,7 +27,7 @@ title: 创建和修改 RKE 模板
**结果**:配置了具有一个修订版的 RKE 模板。你可以稍后在[配置 Rancher 启动的集群](../../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)时使用此 RKE 模板修订版。通过 RKE 模板管理集群后,集群无法解除与模板的绑定,并且无法取消选中**使用现有 RKE 模板和修订版**。
### 更新模板
## 更新模板
更新 RKE 模板相当于创建现有模板的修订版。使用旧版本模板创建的集群可以进行更新,从而匹配新版本。
@@ -44,7 +43,7 @@ title: 创建和修改 RKE 模板
**结果**:模板已更新。要将其应用到使用旧版本模板的集群,请参阅[升级集群以使用新的模板修订版](#升级集群以使用新的模板修订版)。
### 删除模板
## 删除模板
当不再需要为任何集群使用某个 RKE 模板时,可以将其删除。
@@ -55,7 +54,7 @@ title: 创建和修改 RKE 模板
**结果**:模板被删除。
### 基于默认版创建新修订版
## 基于默认版创建新修订版
你可以复制默认模板修订版并快速更新其设置,而无需从头开始创建新修订版。克隆模板为你省去了重新输入集群创建所需的访问密钥和其他参数的麻烦。
@@ -66,7 +65,7 @@ title: 创建和修改 RKE 模板
**结果**:克隆并配置了 RKE 模板修订版。
### 基于克隆版创建新修订版
## 基于克隆版创建新修订版
通过用户设置创建新的 RKE 模板修订版时,可以克隆现有修订版并快速更新其设置,而无需从头开始创建新的修订版。克隆模板修订省去了重新输入集群参数的麻烦。
@@ -77,7 +76,7 @@ title: 创建和修改 RKE 模板
**结果**:克隆并配置了 RKE 模板修订版。你可以在配置集群时使用 RKE 模板修订。任何使用此 RKE 模板的现有集群都可以升级到此新版本。
### 禁用模板修订版
## 禁用模板修订版
当你不需要将 RKE 模板修订版本用于创建新集群时,可以禁用模板修订版。你也可以重新启用禁用了的修订版。
@@ -89,7 +88,7 @@ title: 创建和修改 RKE 模板
**结果**:RKE 模板修订版不能用于创建新集群。
### 重新启用禁用的模板修订版
## 重新启用禁用的模板修订版
如果要使用已禁用的 RKE 模板修订版来创建新集群,你可以重新启用该修订版。
@@ -99,7 +98,7 @@ title: 创建和修改 RKE 模板
**结果**:RKE 模板修订版可用于创建新集群。
### 将模板修订版设置为默认
## 将模板修订版设置为默认
当最终用户使用 RKE 模板创建集群时,他们可以选择使用哪个版本来创建集群。你可以配置默认使用的版本。
@@ -111,7 +110,7 @@ title: 创建和修改 RKE 模板
**结果**:使用模板创建集群时,RKE 模板修订版将用作默认选项。
### 删除模板修订版
## 删除模板修订版
你可以删除模板的所有修订(默认修订除外)。
@@ -123,7 +122,7 @@ title: 创建和修改 RKE 模板
**结果**:RKE 模板修订版被删除。
### 升级集群以使用新的模板修订版
## 升级集群以使用新的模板修订版
:::note
@@ -142,7 +141,7 @@ title: 创建和修改 RKE 模板
**结果**:集群已升级为使用新模板修订版中定义的设置。
### 将正在运行的集群导出到新的 RKE 模板和修订版
## 将正在运行的集群导出到新的 RKE 模板和修订版
你可以将现有集群的设置保存为 RKE 模板。
@@ -83,6 +83,6 @@ https://<AD_SERVER>/federationmetadata/2007-06/federationmetadata.xml
**结果**:你已将 Rancher 添加为依赖信任方。现在你可以配置 Rancher 来使用 AD。
### 后续操作
## 后续操作
[在 Rancher 中配置 Microsoft AD FS ](configure-rancher-for-ms-adfs.md)
@@ -10,14 +10,14 @@ title: Shibboleth 和 OpenLDAP 的组权限
你可以通过配置 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 组的成员如何访问 Rancher 中该组有权访问的资源。
@@ -9,7 +9,7 @@ title: 集群和项目角色
1. 单击 **☰ > 用户 & 认证**。
1. 在左侧导航栏中,单击**角色**并转到**集群**或**项目或命名空间**选项卡。
### 成员资格和角色分配
## 成员资格和角色分配
非管理用户可以访问的项目和集群由 _成员资格_ 决定。成员资格是根据该集群或项目中分配的角色而有权访问特定集群或项目的用户列表。每个集群和项目都包含一个选项卡,具有适当权限的用户可以使用该选项卡来管理成员资格。
@@ -21,7 +21,7 @@ title: 集群和项目角色
:::
### 集群角色
## 集群角色
_集群角色_ 是你可以分配给用户的角色,以授予他们对集群的访问权限。集群的两个主要角色分别是`所有者`和`成员`。
@@ -33,11 +33,11 @@ _集群角色_ 是你可以分配给用户的角色,以授予他们对集群
可以查看大多数集群级别的资源并创建新项目。
#### 自定义集群角色
### 自定义集群角色
Rancher 支持将 _自定义集群角色_ 分配给普通用户,而不是典型的`所有者`或`成员`角色。这些角色可以是内置的自定义集群角色,也可以是 Rancher 管理员定义的角色。这些角色便于为集群内的普通用户定义更受限或特定的访问权限。有关内置自定义集群角色的列表,请参阅下表。
#### 集群角色参考
### 集群角色参考
下表列出了可用的内置自定义集群角色,以及默认的集群级别角色`集群所有者`和`集群成员`是否包含该权限:
@@ -54,7 +54,7 @@ Rancher 支持将 _自定义集群角色_ 分配给普通用户,而不是典
| 查看集群成员 | ✓ | ✓ |
| 查看节点 | ✓ | ✓ |
#### 管理节点权限
### 管理节点权限
下表列出了 RKE 和 RKE2 中`管理节点`角色可用的权限:
@@ -79,7 +79,7 @@ Rancher 支持将 _自定义集群角色_ 分配给普通用户,而不是典
:::
### 为集群成员提供自定义集群角色
## 为集群成员提供自定义集群角色
在管理员[设置自定义集群角色后](custom-roles.md),集群所有者和管理员可以将这些角色分配给集群成员。
@@ -121,7 +121,7 @@ Rancher 支持将 _自定义集群角色_ 分配给普通用户,而不是典
**结果**:成员具有所分配的角色。
### 项目角色
## 项目角色
_项目角色_ 是用于授予用户访问项目权限的角色。主要的项目角色分别是`所有者`、`成员`和`只读`。
@@ -149,11 +149,11 @@ _项目角色_ 是用于授予用户访问项目权限的角色。主要的项
:::
#### 自定义项目角色
### 自定义项目角色
Rancher 支持将 _自定义项目角色_ 分配给普通用户,而不是典型的`所有者`、`成员`或`只读`角色。这些角色可以是内置的自定义项目角色,也可以是 Rancher 管理员定义的角色。这些角色便于为项目内的普通用户定义更受限或特定的访问权限。有关内置自定义项目角色的列表,请参阅下表。
#### 项目角色参考
### 项目角色参考
下表列出了 Rancher 中可用的内置自定义项目角色,以及这些角色是否由`所有者`,`成员`或`只读`角色授予的:
@@ -187,12 +187,12 @@ Rancher 支持将 _自定义项目角色_ 分配给普通用户,而不是典
:::
### 定义自定义角色
## 定义自定义角色
如前所述,你可以定义自定义角色,并将这些角色用在集群或项目中。上下文字段定义了角色是否显示在集群成员页面、项目成员页面或同时显示在这两个页面。
定义自定义角色时,你可以授予对特定资源的访问权限,或指定自定义角色应继承的角色。自定义角色可以由特定授权和继承角色组成。所有授权都是累加的。换言之,如果你为特定资源定义更受限的授权,自定义角色继承的角色中定义的更广泛的授权**不会**被覆盖。
### 默认集群和项目角色
## 默认集群和项目角色
默认情况下,在普通用户创建新集群或项目时,他们会自动分配到所有者的角色,即[集群所有者](#集群角色)或[项目所有者](#项目角色)。但是,在某些组织中,这些角色可能会被认为有过多的管理访问权限。在这种情况下,你可以将默认角色更改为更具限制性的角色,例如一组单独的角色或一个自定义角色。
@@ -211,7 +211,7 @@ Rancher 支持将 _自定义项目角色_ 分配给普通用户,而不是典
:::
### 为集群和项目创建者配置默认角色
## 为集群和项目创建者配置默认角色
你可以更改为创建集群或项目的用户自动创建的角色:
@@ -226,7 +226,7 @@ Rancher 支持将 _自定义项目角色_ 分配给普通用户,而不是典
如果要删除默认角色,请编辑权限,并在默认角色选项中选择**否**。
### 撤销集群成员资格
## 撤销集群成员资格
如果你撤销一个普通用户的集群成员资格,而且该用户已显式分配集群的集群 _和_ 项目的成员资格,该普通用户将[失去集群角色](#集群角色)但[保留项目角色](#项目角色)。换句话说,即使你已经撤销了用户访问集群和其中的节点的权限,但该普通用户仍然可以:
@@ -14,13 +14,13 @@ title: 备份 Rancher
:::
### 先决条件
## 先决条件
Rancher 必须是 2.5.0 或更高版本。
请参见[此处](migrate-rancher-to-new-cluster.md#2-使用-restore-自定义资源来还原备份)获取在 Rancher 2.6.3 中将现有备份文件恢复到 v1.22 集群的帮助。
### 1. 安装 Rancher Backup Operator
## 1. 安装 Rancher Backup Operator
备份存储位置是 operator 级别的设置,所以需要在安装或升级 `rancher backup` 应用时进行配置。
@@ -40,7 +40,7 @@ Rancher 必须是 2.5.0 或更高版本。
:::
### 2. 执行备份
## 2. 执行备份
要执行备份,必须创建 Backup 类型的自定义资源。
@@ -4,7 +4,7 @@ title: 将 Rancher 迁移到新集群
如果你要将 Rancher 迁移到一个新的 Kubernetes 集群,先不要在新集群上安装 Rancher。这是因为如果将 Rancher 还原到已安装 Rancher 的新集群,可能会导致问题。
### 先决条件
## 先决条件
以下说明假设你已经完成[备份创建](back-up-rancher.md),并且已经安装了用于部署 Rancher 的新 Kubernetes 集群。
@@ -21,7 +21,7 @@ Rancher 可以安装到任意 Kubernetes 集群上,包括托管的 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
## 1. 安装 rancher-backup Helm Chart
安装 [rancher-backup chart](https://github.com/rancher/backup-restore-operator/tags),请使用 2.x.x 主要版本内的版本:
1. 添加 helm 仓库:
@@ -55,7 +55,7 @@ Rancher 可以安装到任意 Kubernetes 集群上,包括托管的 Kubernetes
:::
### 2. 使用 Restore 自定义资源来还原备份
## 2. 使用 Restore 自定义资源来还原备份
:::note 重要提示:
@@ -150,11 +150,11 @@ Kubernetes v1.22 是 Rancher 2.6.3 的实验功能,不支持使用 apiVersion
1. Restore 资源的状态变成 `Completed` 后,你可以继续安装 cert-manager 和 Rancher。
### 3. 安装 cert-manager
## 3. 安装 cert-manager
按照在 Kubernetes 上安装 cert-manager的步骤[安装 cert-manager](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md#4-安装-cert-manager)。
### 4. 使用 Helm 安装 Rancher
## 4. 使用 Helm 安装 Rancher
使用与第一个集群上使用的相同版本的 Helm 来安装 Rancher:
@@ -21,7 +21,7 @@ title: 还原 Rancher
:::
### 创建 Restore 自定义资源
## 创建 Restore 自定义资源
还原是通过创建 Restore 自定义资源实现的。
@@ -60,7 +60,7 @@ title: 还原 Rancher
2. 集群范围资源
3. 命名空间资源
### 日志
## 日志
如需查看还原的处理方式,请检查 Operator 的日志。查看日志的命令如下:
@@ -68,11 +68,11 @@ title: 还原 Rancher
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
@@ -21,13 +21,13 @@ title: 为高可用 K3s Kubernetes 集群设置基础设施
- **1 个负载均衡器**:用于将流量转发到这两个节点中。
- **1 个 DNS 记录**:用于将 URL 映射到负载均衡器。此 DNS 记录将成为 Rancher Server 的 URL,下游集群需要可以访问到这个地址。
### 1. 配置 Linux 节点
## 1. 配置 Linux 节点
请确保你的节点满足[操作系统,容器运行时,硬件和网络](../../../pages-for-subheaders/installation-requirements.md)的常规要求。
如需获取配置 Linux 节点的示例,请参见[在 Amazon EC2 中配置节点](nodes-in-amazon-ec2.md)的教程。
### 2. 配置外部数据库
## 2. 配置外部数据库
K3s 与其他 Kubernetes 发行版不同,在于其支持使用 etcd 以外的数据库来运行 Kubernetes。该功能让 Kubernetes 运维更加灵活。你可以根据实际情况选择合适的数据库。
@@ -39,7 +39,7 @@ K3s 与其他 Kubernetes 发行版不同,在于其支持使用 etcd 以外的
如需获取配置 K3s 集群数据库的所有可用选项,请参见 [K3s 官方文档](https://rancher.com/docs/k3s/latest/en/installation/datastore/)。
### 3. 配置负载均衡器
## 3. 配置负载均衡器
你还需要设置一个负载均衡器,来将流量重定向到两个节点上的 Rancher 副本。配置后,当单个节点不可用时,继续保障与 Rancher Management Server 的通信。
@@ -62,7 +62,7 @@ K3s 与其他 Kubernetes 发行版不同,在于其支持使用 etcd 以外的
:::
### 4. 配置 DNS 记录
## 4. 配置 DNS 记录
配置完负载均衡器后,你将需要创建 DNS 记录,以将流量发送到该负载均衡器。
@@ -18,19 +18,19 @@ title: 为高可用 RKE Kubernetes 集群设置基础设施
这些节点必须位于同一个区域或数据中心。但是你可以把这些服务器放在不同的可用区。
### 为什么使用三个节点?
## 为什么使用三个节点?
在 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 节点
## 1. 配置 Linux 节点
请确保你的节点满足[操作系统,容器运行时,硬件和网络](../../../pages-for-subheaders/installation-requirements.md)的常规要求。
如需获取配置 Linux 节点的示例,请参见[在 Amazon EC2 中配置节点](nodes-in-amazon-ec2.md)的教程。
### 2. 配置负载均衡器
## 2. 配置负载均衡器
你还需要设置一个负载均衡器,来将流量重定向到三个节点中的任意一个节点上的 Rancher 副本。配置后,当单个节点不可用时,继续保障与 Rancher Management Server 的通信。
@@ -53,7 +53,7 @@ title: 为高可用 RKE Kubernetes 集群设置基础设施
:::
### 3. 配置 DNS 记录
## 3. 配置 DNS 记录
配置完负载均衡器后,你将需要创建 DNS 记录,以将流量发送到该负载均衡器。
@@ -18,13 +18,13 @@ title: 为高可用 RKE2 Kubernetes 集群设置基础设施
- **1 个负载均衡器**:用于将流量转发到这两个节点中。
- **1 个 DNS 记录**:用于将 URL 映射到负载均衡器。此 DNS 记录将成为 Rancher Server 的 URL,下游集群需要可以访问到这个地址。
### 1. 配置 Linux 节点
## 1. 配置 Linux 节点
请确保你的节点满足[操作系统,容器运行时,硬件和网络](../../../pages-for-subheaders/installation-requirements.md)的常规要求。
如需获取配置 Linux 节点的示例,请参见[在 Amazon EC2 中配置节点](nodes-in-amazon-ec2.md)的教程。
### 2. 配置负载均衡器
## 2. 配置负载均衡器
你还需要设置一个负载均衡器,来将流量重定向到所有节点上的 Rancher 副本。配置后,当单个节点不可用时,继续保障与 Rancher Management Server 的通信。
@@ -47,7 +47,7 @@ title: 为高可用 RKE2 Kubernetes 集群设置基础设施
:::
### 4. 配置 DNS 记录
## 4. 配置 DNS 记录
配置完负载均衡器后,你将需要创建 DNS 记录,以将流量发送到该负载均衡器。
@@ -10,12 +10,12 @@ title: 在 Amazon EC2 中配置节点
如果 Rancher Server 安装在单个 Docker 容器中,你只需要配置一个实例。
### 1. 准备工作(可选)
## 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. 配置实例
## 2. 配置实例
1. 登录到 [Amazon AWS EC2 控制台](https://console.aws.amazon.com/ec2/)。由于 Rancher Management Server 的所有基础设施都需要位于同一区域,因此,请务必记下创建 EC2 实例(Linux 节点)的**区域**。
1. 在左侧面板中,点击**实例**。
@@ -41,7 +41,7 @@ title: 在 Amazon EC2 中配置节点
:::
### 3. 为 RKE Kubernetes 集群节点安装 Docker 并创建用户
## 3. 为 RKE Kubernetes 集群节点安装 Docker 并创建用户
1. 在 [AWS EC2 控制台](https://console.aws.amazon.com/ec2/)中,点击左侧面板中的**实例**。
1. 转到你想要安装 Docker 的实例。选择实例,并点击**操作 > 连接**。
@@ -67,7 +67,7 @@ sudo usermod -aG docker ubuntu
**结果**:你已配置满足操作系统、Docker、硬件和网络要求的 Rancher Server 节点。
### RKE Kubernetes 集群节点的后续步骤
## RKE Kubernetes 集群节点的后续步骤
如需在新节点上安装 RKE 集群,请记住每个节点的 **IPv4 公共 IP** 和 **私有 IP**。创建节点后,此信息可以在每个节点的**描述**选项卡中找到。公共和私有 IP 将用于设置 RKE 集群配置文件 `rancher-cluster.yml` 中每个节点的 `address` 和 `internal_address`。
@@ -12,7 +12,7 @@ Rancher Server 的数据存储在 etcd 中。etcd 数据库可以在所有三个
有关 Rancher 如何工作的详情(与安装方法无关),请参见[架构](../../../pages-for-subheaders/rancher-manager-architecture.md)。
### 推荐架构
## 推荐架构
- Rancher 的 DNS 应该解析为 4 层负载均衡器。
- 负载均衡器应该把 TCP/80 端口和 TCP/443 端口的流量转发到 Kubernetes 集群的全部 3 个节点上。
@@ -14,15 +14,15 @@ title: 生产就绪集群检查清单
如需获取推荐的所有最佳实践的完整列表,请参阅[最佳实践](../../../../reference-guides/best-practices/best-practices.md)部分。
### 节点要求
## 节点要求
- 确保你的节点满足所有[节点要求](../node-requirements-for-rancher-managed-clusters.md),包括端口要求。
### 备份 etcd
## 备份 etcd
* 启用 etcd 快照。验证是否正在创建快照,并执行灾难恢复方案,从而验证快照是否有效。etcd 是存储集群状态的位置,丢失 etcd 数据意味着丢失集群。因此,请确保为集群配置 etcd 的定期快照,并确保快照也是存储在外部(节点外)的。
### 集群架构
## 集群架构
* 节点应具有以下角色配置之一:
* `etcd`
@@ -37,16 +37,16 @@ title: 生产就绪集群检查清单
有关每个 Kubernetes 角色的节点数的详细信息,请参阅[推荐架构](../../../../reference-guides/rancher-manager-architecture/architecture-recommendations.md)部分。
### Logging 和 Monitoring
## Logging 和 Monitoring
* 为 Kubernetes 组件(系统服务)配置告警/通知程序。
* 为集群分析和事后剖析配置 Logging。
### 可靠性
## 可靠性
* 在集群上执行负载测试,以验证硬件是否可以支持你的工作负载。
### 网络
## 网络
* 最小化网络延迟。Rancher 建议尽量减少 etcd 节点之间的延迟。`heartbeat-interval` 的默认设置是 `500`,`election-timeout` 的默认设置是 `5000`。这些 [etcd 调优设置](https://etcd.io/docs/v3.5/tuning/) 允许 etcd 在大多数网络(网络延迟特别高的情况下除外)中运行。
* 集群节点应位于单个区域内。大多数云厂商在一个区域内提供多个可用区,这可以提高你集群的可用性。任何角色的节点都可以使用多个可用区。如果你使用 (../set-up-cloud-providers/set-up-cloud-providers.md) 资源,请查阅文档以了解限制(即区域存储限制)。
@@ -13,7 +13,7 @@ Rancher 简化了集群的创建,允许你通过 Rancher UI 而不是更复杂
有关 Rancher 服务如何配置集群以及使用哪些工具配置集群的概念性概述,请参阅[架构](../../../reference-guides/rancher-manager-architecture/rancher-manager-architecture.md)页面。
### 按集群类型划分的集群管理功能
## 按集群类型划分的集群管理功能
下表总结了每种集群类型的可用选项和设置:
@@ -12,7 +12,7 @@ Kubernetes 不再在树内维护云提供商。vSphere 有一个树外云提供
它遵循官方 [vSphere 迁移文档](https://vsphere-csi-driver.sigs.k8s.io/features/vsphere_csi_migration.html)中提供的步骤,并提供在 Rancher 中执行的步骤。
### Cloud-config 格式限制
## Cloud-config 格式限制
由于 vSphere Cloud Storage Interface (CSI) 中的一个现有错误,使用以下 cloud-config 格式配置的现有卷将无法迁移。
@@ -21,7 +21,7 @@ weight: 1
:::
### 1. 创建 IAM 角色并附加到实例
## 1. 创建 IAM 角色并附加到实例
添加到集群的所有节点都必须能够与 EC2 交互,以便它们可以创建和删除资源。你可以使用附加到实例的 IAM 角色来启用交互。请参阅 [Amazon 文档:创建 IAM 角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#create-iam-role) 来创建 IAM 角色。有两个示例策略:
@@ -129,7 +129,7 @@ weight: 1
}
```
### 2. 创建 ClusterID
## 2. 创建 ClusterID
以下资源需要使用 `ClusterID` 进行标记:
@@ -155,6 +155,6 @@ weight: 1
**Key** = `kubernetes.io/cluster/CLUSTERID` **Value** = `shared`.
### 使用 Amazon Elastic Container Registry (ECR)
## 使用 Amazon Elastic Container Registry (ECR)
在将[创建 IAM 角色并附加到实例](#1-创建-iam-角色并附加到实例)中的 IAM 配置文件附加到实例时,kubelet 组件能够自动获取 ECR 凭证。使用低于 v1.15.0 的 Kubernetes 版本时,需要在集群中配置 Amazon 云提供商。从 Kubernetes 版本 v1.15.0 开始,kubelet 无需在集群中配置 Amazon 云提供商即可获取 ECR 凭证。
@@ -8,7 +8,7 @@ Kubernetes 正在逐渐不在树内维护云提供商。vSphere 有一个树外
本文遵循官方 [vSphere 迁移文档](https://vsphere-csi-driver.sigs.k8s.io/features/vsphere_csi_migration.html)中提供的步骤,并介绍了要在 Rancher 中执行的步骤。
### Cloud-config 格式限制
## Cloud-config 格式限制
由于 vSphere CSI 中的现有错误,使用以下 cloud-config 格式配置的现有卷将不会迁移。
@@ -21,23 +21,23 @@ _cloud provider_ 是 Kubernetes 中的一个模块,它提供了一个用于管
* GCE (Google Compute Engine)
* vSphere
### 设置 Amazon 云提供商
## 设置 Amazon 云提供商
有关启用 Amazon 云提供商的详细信息,请参阅[此页面](amazon.md)。
### 设置 Azure 云提供商
## 设置 Azure 云提供商
有关启用 Azure 云提供商的详细信息,请参阅[此页面](azure.md)。
### 设置 GCE 云提供商
## 设置 GCE 云提供商
有关启用 Google Compute Engine 云提供商的详细信息,请参阅[此页面](google-compute-engine.md)。
### 设置 vSphere 云提供商
## 设置 vSphere 云提供商
有关启用 vSphere 云提供商的详细信息,请参阅[树内 vSphere 配置](configure-in-tree-vsphere.md) 和 [树外 vSphere 配置](configure-out-of-tree-vsphere.md)。
### 设置自定义云提供商
## 设置自定义云提供商
任何 Kubernetes Cloud Provider 都可以通过`自定义`云提供商进行配置。
@@ -4,7 +4,7 @@ title: Host Gateway (L2bridge) 的网络要求
本节介绍如何配置使用 *Host Gateway (L2bridge)* 模式的自定义 Windows 集群。
### 禁用私有 IP 地址检查
## 禁用私有 IP 地址检查
如果你使用 *Host Gateway (L2bridge)* 模式,并将节点托管在下面列出的云服务上,则必须在启动时禁用 Linux 或 Windows 主机的私有 IP 地址检查。要为每个节点禁用此检查,请按照以下各个云服务对应的说明进行操作:
@@ -14,7 +14,7 @@ title: Host Gateway (L2bridge) 的网络要求
| Google GCE | [为实例启用 IP 转发](https://cloud.google.com/vpc/docs/using-routes#canipforward)(默认情况下,VM 无法转发由另一个 VM 发起的数据包) |
| Azure VM | [启用或禁用 IP 转发](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-network-interface#enable-or-disable-ip-forwarding) |
### 云托管虚拟机的路由配置
## 云托管虚拟机的路由配置
如果是使用 Flannel 的 [**Host Gateway (L2bridge)**](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#host-gw) 后端,同一节点上的所有容器都属于私有子网,流量通过主机网络从一个节点上的子网路由到在另一个节点上的子网。
@@ -21,7 +21,7 @@ Windows 集群的其他要求如下:
有关支持 Windows 的 Kubernetes 功能摘要,请参阅[在 Windows 中使用 Kubernetes 支持的功能和限制](https://kubernetes.io/docs/setup/production-environment/windows/intro-windows-in-kubernetes/#supported-functionality-and-limitations) 的 Kubernetes 文档,或[在 Kubernetes 中调度 Windows 容器的指南](https://kubernetes.io/docs/setup/production-environment/windows/user-guide-windows-containers/)。
### RKE2 Windows
## RKE2 Windows
RKE2 配置功能还包括在 Windows 集群上安装 RKE2。RKE2 的 Windows 功能包括:
@@ -11,7 +11,7 @@ description: 了解如何添加 SSL 证书或 TLS 证书
:::
### 1. 创建一个密文
## 1. 创建一个密文
1. 在左上角,单击 **☰ > 集群管理**。
@@ -23,7 +23,7 @@ description: 了解如何添加 SSL 证书或 TLS 证书
1. 在**证书**字段中,将你的证书复制并粘贴到文本框中(包括标头和页脚),或者单击**从文件读取**选择文件系统上的证书文件。如果可能,我们建议使用**从文件读取**以减少出错的可能性。请注意,证书文件的扩展名是 `.crt`。
1. 单击**创建**。
### 2. 将密文添加到 Ingress
## 2. 将密文添加到 Ingress
1. 在左上角,单击 **☰ > 集群管理**。
1. 转到要部署 Ingress 的集群,然后单击**服务发现 > Ingress**。
@@ -9,16 +9,16 @@ description: "了解在 Kubernetes 中构建复杂容器化应用程序的两种
你可以使用两种基本结构(pod 和工作负载)在 Kubernetes 中构建复杂的容器化应用程序。构建应用程序后,你可以使用第三种结构(service)在集群中或互联网上公开应用程序。
### Pod
## Pod
[_Pod_](https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/) 是一个或多个共享网络命名空间和存储卷的容器。大多数 pod 只有一个容器。因此,我们讨论的 _pod_ 通常等同于 _容器_。扩展 pod 的方式与扩展容器的方式相同,即配置实现服务的同一 pod 的多个实例。通常,Pod 会根据工作负载进行扩展和管理。
### 工作负载
## 工作负载
_工作负载_ 是为 pod 设置部署规则的对象。Kubernetes 基于这些规则执行部署,并根据应用程序的当前状态来更新工作负载。
工作负载让你可以定义应用程序调度、扩展和升级的规则。
#### 工作负载类型
### 工作负载类型
Kubernetes 将工作负载分为不同的类型。Kubernetes 支持的最流行的类型是:
@@ -42,7 +42,7 @@ Kubernetes 将工作负载分为不同的类型。Kubernetes 支持的最流行
_CronJobs_ 与 Job 类似。但是,CronJob 会基于 cron 的计划运行到完成状态。
### Services
## Services
在许多用例中,工作负载必须:
@@ -51,7 +51,7 @@ Kubernetes 将工作负载分为不同的类型。Kubernetes 支持的最流行
你可以通过创建一个 _Service_ 实现这些目的。Service 使用[选择器/标签(查看代码示例)](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#service-and-replicationcontroller)来映射到底层工作负载的 pod。Rancher UI 使用你选择的服务端口和类型来自动创建 service 以及工作负载,从而简化此映射过程。
#### Service 类型
### Service 类型
Rancher 中有几种可用的 Service 类型。以下描述来自 [Kubernetes 文档](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types)。
@@ -77,6 +77,6 @@ Rancher 中有几种可用的 Service 类型。以下描述来自 [Kubernetes
## 相关链接
### 外部链接
## 外部链接
- [Service](https://kubernetes.io/docs/concepts/services-networking/service/)
@@ -9,15 +9,15 @@ Rancher 管理的集群上部署了两种不同的 Agent 资源:
有关 Rancher Server 如何配置集群并与集群通信的概述,请参阅[产品架构](../../../pages-for-subheaders/rancher-manager-architecture.md)。
### cattle-cluster-agent
## cattle-cluster-agent
`cattle-cluster-agent` 用于连接 [Rancher 启动的 Kubernetes](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md) 集群的 Kubernetes API。`cattle-cluster-agent` 使用 Deployment 资源进行部署。
### cattle-node-agent
## cattle-node-agent
`cattle-node-agent` 用于在执行集群操作时与 [Rancher 启动的 Kubernetes](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md) 集群中的节点进行交互。集群操作包括升级 Kubernetes 版本和创建/恢复 etcd 快照。`cattle-node-agent` 使用 DaemonSet 资源进行部署,以确保能在每个节点上运行。当 `cattle-cluster-agent` 不可用时,`cattle-node-agent` 可以作为备选方案,用来连接 [Rancher 启动的 Kubernetes](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md) 集群的 Kubernetes API。
### 调度规则
## 调度规则
`cattle-cluster-agent` 使用一组固定的容忍度,或基于应用于 control plane 节点的污点动态添加的容忍度。这种结构允许[基于污点进行驱逐](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/#taint-based-evictions)为 `cattle-cluster-agent` 正常工作。
@@ -6,11 +6,11 @@ RKE2,也称为 RKE Government,是一个完全符合标准的 Kubernetes 发
RKE1 和 RKE2 有一些细微的差异,本文将重点介绍这些差异。
### controlplane 组件
## controlplane 组件
RKE1 使用 Docker 来部署和管理 controlplane 组件,还使用 Docker 作为 Kubernetes 的容器运行时。相比之下,RKE2 将 controlplane 组件作为由 kubelet 管理的静态 pod 启动。RKE2 的容器运行时是 Containerd,它允许 Mirror 容器镜像仓库等内容。使用 Docker 的 RKE1 不允许 Mirror。
### Cluster API
## Cluster API
RKE2/K3s 配置是基于 Cluster API (CAPI) 上游框架之上构建的,这导致 RKE2 配置的集群的行为通常与 RKE1 配置的集群不同。
@@ -22,7 +22,7 @@ RKE2/K3s 配置是基于 Cluster API (CAPI) 上游框架之上构建的,这导
如果你是习惯于 RKE1 配置的用户,请注意新的 RKE2 行为。
### 名词解释
## 名词解释
从 RKE1 到 RKE2,某些术语已更改或已不再使用。例如,在 RKE1中,你使用**节点模板**,而在 RKE2 中,你可以在创建或编辑集群时配置集群节点池。另一个例子是 RKE1 中的**节点池(node pool)** 现在在 RKE2 中称为**主机池(machine pool)**。
@@ -9,7 +9,7 @@ description: 了解使用 Rancher 创建 Amazon EC2 集群所需的先决条件
然后,在 Rancher 中创建一个 EC2 集群,并在配置新集群时为集群定义节点池。每个节点池都有一个 etcd、controlplane 或 worker 的 Kubernetes 角色。Rancher 会在新节点上安装 RKE Kubernetes,并为每个节点设置节点池定义的 Kubernetes 角色。
### 先决条件
## 先决条件
- **AWS EC2 访问密钥和密文密钥**,用于创建实例。请参阅 [Amazon 文档:创建访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey)来创建访问密钥和密文密钥。
- **已创建 IAM 策略**,用于为用户添加的访问密钥和密文密钥。请参阅 [Amazon 文档:创建 IAM 策略(控制台)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start)来创建 IAM 策略。参阅下面的三个示例 JSON 策略:
@@ -4,7 +4,7 @@ title: 授权集群端点的工作原理
本文介绍 kubectl CLI、kubeconfig 文件和授权集群端点如何协同工作,使你可以直接访问下游 Kubernetes 集群,而无需通过 Rancher Server 进行身份验证。本文旨在为[设置 kubectl 以直接访问集群的说明](use-kubectl-and-kubeconfig.md#直接使用下游集群进行身份验证)提供背景信息和上下文。
### Kubeconfig 文件说明
## Kubeconfig 文件说明
kubeconfig 文件是与 kubectl 命令行工具(或其他客户端)结合使用时用于配置 Kubernetes 访问的文件。
@@ -21,7 +21,7 @@ kubeconfig 文件及其内容特定于各个集群。你可以从 Rancher 的**
如果管理员[关闭了 kubeconfig 令牌生成](../../../../reference-guides/about-the-api/api-tokens.md#在生成的-kubeconfig-中禁用令牌),则 kubeconfig 文件要求 [Rancher CLI](./authorized-cluster-endpoint.md) 存在于你的 PATH 中。
### RKE 集群的两种身份验证方法
## RKE 集群的两种身份验证方法
如果集群不是 [RKE 集群](../../../../pages-for-subheaders/launch-kubernetes-with-rancher.md),kubeconfig 文件只允许你以一种方式访问​​集群,即通过 Rancher Server 进行身份验证,然后 Rancher 允许你在集群上运行 kubectl 命令。
@@ -36,7 +36,7 @@ kubeconfig 文件及其内容特定于各个集群。你可以从 Rancher 的**
[架构介绍](../../../../reference-guides/rancher-manager-architecture/communicating-with-downstream-user-clusters.md)也详细解释了这些与下游 Kubernetes 集群通信的方法,并介绍了 Rancher 的工作原理以及 Rancher 如何与下游集群通信的详细信息。
### 关于 kube-api-auth 身份验证 Webhook
## 关于 kube-api-auth 身份验证 Webhook
`kube-api-auth` 微服务是为[授权集群端点](../../../../reference-guides/rancher-manager-architecture/communicating-with-downstream-user-clusters.md#4-授权集群端点)提供用户认证功能而部署的。当你使用 `kubectl` 访问下游集群时,集群的 Kubernetes API server 会使用 `kube-api-auth` 服务作为 webhook 对你进行身份验证。
@@ -7,7 +7,7 @@ description: "了解如何通过 kubectl Shell 使用 kubectl,或通过 kubect
有关使用 kubectl 的更多信息,请参阅 [Kubernetes 文档:kubectl 概述](https://kubernetes.io/docs/reference/kubectl/overview/)。
### 在 Rancher UI 中使用 kubectl shell 访问集群
## 在 Rancher UI 中使用 kubectl shell 访问集群
你可以通过登录 Rancher 并在 UI 中打开 kubectl shell 来访问和管理你的集群。你无需进一步配置。
@@ -15,7 +15,7 @@ description: "了解如何通过 kubectl Shell 使用 kubectl,或通过 kubect
1. 转到要使用 kubectl 访问的集群,然后单击 **Explore**。
1. 在顶部导航菜单中,单击 **Kubectl Shell** 按钮。使用打开的窗口与你的 Kubernetes 集群进行交互。
### 在工作站使用 kubectl 访问集群
## 在工作站使用 kubectl 访问集群
本节介绍如何下载集群的 kubeconfig 文件、从工作站启动 kubectl 以及访问下游集群。
@@ -37,8 +37,7 @@ kubectl --kubeconfig /custom/path/kube.config get pods
```
1. 从工作站启动 kubectl。使用它与 Kubernetes 集群进行交互。
### 使用 kubectl 创建的资源的注意事项
## 使用 kubectl 创建的资源的注意事项
Rancher 会发现并显示由 `kubectl` 创建的资源。但是在发现资源的时候,这些资源可能没有包括所有必须的注释。如果资源已经使用 Rancher UI/API 进行操作(例如,扩展工作负载),但是由于缺少注释,资源的重新创建可能会触发。只有在首次对发现的资源进行操作时,这种情况才会发生。
@@ -52,7 +51,6 @@ Rancher 会发现并显示由 `kubectl` 创建的资源。但是在发现资源
我们的最佳实践是使用此方法来访问 RKE、RKE2 和 K3s集群。这样,万一你无法连接到 Rancher,你仍然可以访问该集群。
:::note 先决条件:
以下步骤假设你已经创建了一个 Kubernetes 集群,并按照步骤[从工作站使用 kubectl 连接到集群](#在工作站使用-kubectl-访问集群)。
@@ -78,7 +76,7 @@ CURRENT NAME CLUSTER AUTHINFO N
当 `kubectl` 正常工作时,它确认你可以绕过 Rancher 的身份验证代理访问集群。
### 直接连接到定义了 FQDN 的集群
## 直接连接到定义了 FQDN 的集群
如果集群定义了 FQDN,将会创建一个引用 FQDN 的上下文。上下文将命名为 `<CLUSTER_NAME>-fqdn`。当你想在没有 Rancher 的情况下使用 `kubectl` 访问这个集群时,你需要使用这个上下文。
@@ -87,20 +85,25 @@ CURRENT NAME CLUSTER AUTHINFO N
```
kubectl --context <CLUSTER_NAME>-fqdn get nodes
```
直接引用 kubeconfig 文件的位置:
```
kubectl --kubeconfig /custom/path/kube.config --context <CLUSTER_NAME>-fqdn get pods
```
### 直接连接到未定义 FQDN 的集群
## 直接连接到未定义 FQDN 的集群
如果集群没有定义 FQDN,则会创建额外的上下文来引用 controlplane 中每个节点的 IP 地址。每个上下文将被命名为 `<CLUSTER_NAME>-<NODE_NAME>`。当你想在没有 Rancher 的情况下使用 `kubectl` 访问这个集群时,你需要使用这个上下文。
假设 kubeconfig 文件位于 `~/.kube/config`:
```
kubectl --context <CLUSTER_NAME>-<NODE_NAME> get nodes
```
直接引用 kubeconfig 文件的位置:
```
kubectl --kubeconfig /custom/path/kube.config --context <CLUSTER_NAME>-<NODE_NAME> get pods
```
@@ -11,7 +11,7 @@ description: "了解在 Kubernetes 中创建持久存储的两种方法:持久
本文假设你已了解 Kubernetes 的持久卷、持久卷声明和存储类的概念。如需更多信息,请参阅[存储的工作原理](manage-persistent-storage/about-persistent-storage.md)部分。
### 先决条件
## 先决条件
设置持久存储需要`管理卷`的[角色](../../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#项目角色参考)。
@@ -21,7 +21,7 @@ description: "了解在 Kubernetes 中创建持久存储的两种方法:持久
如果要将现有的持久存储连接到集群,则不需要启用云提供商。
### 设置现有存储
## 设置现有存储
设置现有存储的总体流程如下:
@@ -32,7 +32,7 @@ description: "了解在 Kubernetes 中创建持久存储的两种方法:持久
有关详细信息和先决条件,请参阅[此页面](manage-persistent-storage/set-up-existing-storage.md)。
### 在 Rancher 中动态配置新存储
## 在 Rancher 中动态配置新存储
配置新存储的总体流程如下:
@@ -42,7 +42,7 @@ description: "了解在 Kubernetes 中创建持久存储的两种方法:持久
有关详细信息和先决条件,请参阅[此页面](manage-persistent-storage/dynamically-provision-new-storage.md)。
### Longhorn 存储
## Longhorn 存储
[Longhorn](https://longhorn.io/) 是一个轻量级、可靠、易用的 Kubernetes 分布式块存储系统。
@@ -52,28 +52,28 @@ Longhorn 是免费的开源软件。Longhorn 最初由 Rancher Labs 开发,现
Rancher v2.5 简化了在 Rancher 管理的集群上安装 Longhorn 的过程。详情请参见[本页面](../../../../integrations-in-rancher/longhorn/longhorn.md)。
### 配置存储示例
## 配置存储示例
我们提供了如何使用 [NFS](../provisioning-storage-examples/nfs-storage.md), [vSphere](../provisioning-storage-examples/vsphere-storage.md),和 [Amazon 的 EBS](../provisioning-storage-examples/persistent-storage-in-amazon-ebs.md) 来配置存储的示例。
### GlusterFS 卷
## GlusterFS 卷
在将数据存储在 GlusterFS 卷上的集群中,你可能会遇到重启 `kubelet` 后 pod 无法挂载卷的问题。有关避免此情况发生的详细信息,请参阅[此页面](manage-persistent-storage/about-glusterfs-volumes.md)。
### iSCSI 卷
## iSCSI 卷
在将数据存储在 iSCSI 卷上的 [Rancher 启动的 Kubernetes 集群](../../launch-kubernetes-with-rancher/launch-kubernetes-with-rancher.md)中,你可能会遇到 kubelet 无法自动连接 iSCSI 卷的问题。有关解决此问题的详细信息,请参阅[此页面](manage-persistent-storage/install-iscsi-volumes.md)。
### hostPath 卷
## hostPath 卷
在创建 hostPath 卷之前,你需要在集群配置中设置 [extra_bind](https://rancher.com/docs/rke/latest/en/config-options/services/services-extras/#extra-binds/)。这会将路径作为卷安装在你的 kubelet 中,可用于工作负载中的 hostPath 卷。
### 将 vSphere Cloud Provider 从树内迁移到树外
## 将 vSphere Cloud Provider 从树内迁移到树外
Kubernetes 正在逐渐不在树内维护云提供商。vSphere 有一个树外云提供商,可通过安装 vSphere 云提供商和云存储插件来使用。
有关如何从树内 vSphere 云提供商迁移到树外,以及如何在迁移后管理现有虚拟机,请参阅[此页面](../../kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/configure-out-of-tree-vsphere.md)。
### 相关链接
## 相关链接
- [Kubernetes 文档: 存储](https://kubernetes.io/docs/concepts/storage/)
@@ -15,7 +15,7 @@ title: 在 Rancher 中动态配置新存储
1. [添加一个存储类并将其配置为使用你的存储](#1-添加一个存储类并将其配置为使用你的存储)
2. [为使用 StatefulSet 部署的 Pod 使用存储类](#2-为使用-statefulset-部署的-pod-使用存储类)
### 先决条件
## 先决条件
- 设置持久存储需要`管理卷`的[角色](../../../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#项目角色参考)。
- 如果你要为云集群配置存储,则存储和集群主机必须使用相同的云提供商。
@@ -38,7 +38,7 @@ title: 在 Rancher 中动态配置新存储
如果你的存储卷插件没有在上述列表中,你需要[使用功能开关来启用不受支持的存储驱动](../../../../advanced-user-guides/enable-experimental-features/unsupported-storage-drivers.md)。
### 1. 添加一个存储类并将其配置为使用你的存储
## 1. 添加一个存储类并将其配置为使用你的存储
这些步骤描述了如何在集群级别设置存储类:
@@ -55,7 +55,7 @@ title: 在 Rancher 中动态配置新存储
有关存储类参数的完整信息,请参阅官方 [Kubernetes 文档](https://kubernetes.io/docs/concepts/storage/storage-classes/#parameters)。
### 2. 为使用 StatefulSet 部署的 Pod 使用存储类
## 2. 为使用 StatefulSet 部署的 Pod 使用存储类
StatefulSet 管理 Pod 的部署和扩展,同时为每个 Pod 维护一个粘性标识。在这个 StatefulSet 中,我们将配置一个 VolumeClaimTemplate。StatefulSet 管理的每个 Pod 都将部署一个基于此 VolumeClaimTemplate 的 PersistentVolumeClaim。PersistentVolumeClaim 将引用我们创建的 StorageClass。因此,在部署 StatefulSet 管理的每个 Pod 时,都会使用 PersistentVolumeClaim 中定义的 StorageClass 来绑定到动态配置的存储。
@@ -16,12 +16,12 @@ title: 设置现有存储
2. [添加一个引用持久存储的 PersistentVolume](#2-添加一个引用持久存储的-persistentvolume)。
3. [为使用 StatefulSet 部署的 Pod 使用存储类](#3-为使用-statefulset-部署的-pod-使用存储类)
### 先决条件
## 先决条件
- 要将持久卷创建为 Kubernetes 资源,你必须具有`管理卷`的[角色。](../../../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#项目角色参考)
- 如果你要为云集群配置存储,则存储和集群主机必须使用相同的云提供商。
### 1. 设置持久存储
## 1. 设置持久存储
在 Rancher 中创建持久卷不会创建存储卷。它只创建映射到现有卷的 Kubernetes 资源。因此,在你可以将持久卷创建为 Kubernetes 资源之前,你必须先配置存储。
@@ -29,7 +29,7 @@ title: 设置现有存储
如果你有一个块存储池并且不想使用云提供商,你可以使用 Longhorn 为 Kubernetes 集群提供持久存储。详情请参见[本页面](../../../../../integrations-in-rancher/longhorn.md)。
### 2. 添加一个引用持久存储的 PersistentVolume
## 2. 添加一个引用持久存储的 PersistentVolume
这些步骤描述了如何在 Kubernetes 的集群级别设置 PersistentVolume。
@@ -48,7 +48,7 @@ title: 设置现有存储
**结果**:已创建你的新持久卷。
### 3. 为使用 StatefulSet 部署的 Pod 使用存储类
## 3. 为使用 StatefulSet 部署的 Pod 使用存储类
StatefulSet 管理 Pod 的部署和扩展,同时为每个 Pod 维护一个粘性标识。在这个 StatefulSet 中,我们将配置一个 VolumeClaimTemplate。StatefulSet 管理的每个 Pod 都将部署一个基于此 VolumeClaimTemplate 的 PersistentVolumeClaim。PersistentVolumeClaim 将引用我们创建的 PersistentVolume。因此,在部署 StatefulSet 管理的每个 Pod 时,都会绑定一个 PersistentVolumeClaim 中定义的 PersistentVolume。
@@ -6,12 +6,11 @@ title: vSphere 存储
为了在 vSphere 中动态调配存储,必须启用 vSphere 提供商。有关更多信息,请参阅[树外 vSphere](../../../new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/configure-out-of-tree-vsphere.md) 和[树内 vSphere](../../../new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/configure-in-tree-vsphere.md)。
### 先决条件
## 先决条件
为了在 [Rancher Kubernetes Engine (RKE)](../../../../pages-for-subheaders/launch-kubernetes-with-rancher.md) 集群中配置 vSphere 卷,[vSphere cloud provider](https://rancher.com/docs/rke/latest/en/config-options/cloud-providers/vsphere) 必须在[集群选项](../../../../reference-guides/cluster-configuration/rancher-server-configuration/rke1-cluster-configuration.md)中显式启用。
### 创建一个 StorageClass
## 创建一个 StorageClass
:::tip
@@ -31,7 +30,7 @@ title: vSphere 存储
5. 可选地,你可以在**参数**下指定存储类的其他属性。有关详细信息,请参阅 [vSphere 存储文档](https://github.com/vmware-archive/vsphere-storage-for-kubernetes/blob/master/documentation/storageclass.md)。
5. 单击**创建**。
### 创建使用 vSphere 卷的工作负载
## 创建使用 vSphere 卷的工作负载
1. 在左侧导航栏中,单击**工作负载**。
1. 单击**创建**。
@@ -43,7 +42,7 @@ title: vSphere 存储
7. 在**挂载点**字段中指定路径。这是卷将安装在容器文件系统中的完整路径,例如 `/persistent`。
8. 单击**创建**。
### 验证卷的持久性
## 验证卷的持久性
1. 在左侧导航栏中,单击**工作负载 > Pod**。
1. 转到你刚刚创建的工作负载,然后单击 **⋮ > 执行命令行**。
@@ -58,7 +57,7 @@ title: vSphere 存储
![workload-persistent-data](/img/workload-persistent-data.png)
### 为什么使用 StatefulSet 替代 Deployment
## 为什么使用 StatefulSet 替代 Deployment
对于消耗 vSphere 存储的工作负载,你应该始终使用 [StatefulSets](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/),因为这种资源类型旨在解决 VMDK 块存储警告。
@@ -66,7 +65,7 @@ title: vSphere 存储
即使使用仅具有单个副本的 deployment 资源也可能在更新 deployment 时出现死锁情况。如果更新的 pod 被调度到不同的节点,由于 VMDK 仍然连接到另一个节点,因此 pod 将无法启动。
### 相关链接
## 相关链接
- [用于 Kubernetes 的 vSphere 存储](https://github.com/vmware-archive/vsphere-storage-for-kubernetes/tree/master/documentation)
- [Kubernetes 持久卷](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)
@@ -47,7 +47,7 @@ title: 证书轮换
:::
### 证书轮换
## 证书轮换
Rancher 启动的 Kubernetes 集群能够通过 UI 轮换自动生成的证书。
@@ -62,7 +62,7 @@ Rancher 启动的 Kubernetes 集群能够通过 UI 轮换自动生成的证书
**结果**:将轮换所选证书,相关服务将重新启动以使用新证书。
### 补充说明
## 补充说明
<Tabs>
<TabItem value="RKE">
@@ -2,7 +2,7 @@
title: 加密密钥轮换
---
### RKE1 加密密钥轮换
## RKE1 加密密钥轮换
1. 使用以下两个选项之一来启用加密密钥轮换:
@@ -30,7 +30,7 @@ title: 加密密钥轮换
### RKE2 加密密钥轮换
## RKE2 加密密钥轮换
_**v2.6.7 新功能**_
@@ -25,7 +25,7 @@ title: 命名空间
:::
### 创建命名空间
## 创建命名空间
创建一个新的命名空间来隔离项目中的应用和资源。
@@ -46,7 +46,7 @@ title: 命名空间
**结果**:已将命名空间添加到项目中。你可以开始将集群资源分配给命名空间。
### 将命名空间移动到另一个项目
## 将命名空间移动到另一个项目
在某些情况下(例如希望其他团队使用该应用时),集群管理员和成员可能需要将命名空间移动到另一个项目:
@@ -67,7 +67,7 @@ title: 命名空间
**结果**:你的命名空间已移至其他项目(或从所有项目中移除)。如果命名空间绑定了项目资源,命名空间会释放这些资源,然后绑定新项目的资源。
### 编辑命名空间资源配额
## 编辑命名空间资源配额
你可以覆盖命名空间默认限制,从而为特定命名空间提供对更多(或更少)项目资源的访问权限: