update missing Chinese translation for v2.7

This commit is contained in:
Jacie
2024-04-24 10:25:32 +08:00
parent f83cb0297f
commit 98bb32df49
204 changed files with 28748 additions and 1017 deletions
@@ -0,0 +1,35 @@
---
title: Rancher 中已弃用的功能
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/faq/deprecated-features"/>
</head>
### Rancher 的弃用策略是什么?
我们已经在支持的[服务条款](https://rancher.com/support-maintenance-terms)中发布了官方的弃用策略。
### 在哪里可以了解 Rancher 中已弃用哪些功能?
Rancher 将在 GitHub 上发布的 Rancher 的[发版说明](https://github.com/rancher/rancher/releases)中发布已弃用的功能。有关已弃用的功能,请参阅以下的补丁版本:
| Patch Version | Release Date |
| ----------------------------------------------------------------- | ------------------- |
| [2.7.12](https://github.com/rancher/rancher/releases/tag/v2.7.12) | 2024 年 3 月 28 日 |
| [2.7.11](https://github.com/rancher/rancher/releases/tag/v2.7.11) | 2024 年 3 月 1 日 |
| [2.7.10](https://github.com/rancher/rancher/releases/tag/v2.7.10) | 2024 年 2 月 8 日 |
| [2.7.9](https://github.com/rancher/rancher/releases/tag/v2.7.9) | 2023 年 10 月 26 日 |
| [2.7.8](https://github.com/rancher/rancher/releases/tag/v2.7.8) | 2023 年 10 月 5 日 |
| [2.7.7](https://github.com/rancher/rancher/releases/tag/v2.7.7) | 2023 年 9 月 28 日 |
| [2.7.6](https://github.com/rancher/rancher/releases/tag/v2.7.6) | 2023 年 8 月 30 日 |
| [2.7.5](https://github.com/rancher/rancher/releases/tag/v2.7.5) | 2023 年 6 月 29 日 |
| [2.7.4](https://github.com/rancher/rancher/releases/tag/v2.7.4) | 2023 年 5 月 31 日 |
| [2.7.3](https://github.com/rancher/rancher/releases/tag/v2.7.3) | 2023 年 4 月 24 日 |
| [2.7.2](https://github.com/rancher/rancher/releases/tag/v2.7.2) | 2023 年 4 月 11 日 |
| [2.7.1](https://github.com/rancher/rancher/releases/tag/v2.7.1) | 2023 年 1 月 24 日 |
| [2.7.0](https://github.com/rancher/rancher/releases/tag/v2.7.0) | 2022 年 11 月 16 日 |
### 当一个功能被标记为弃用我可以得到什么样的预期?
当功能被标记为“已弃用”时,它依然可用并得到支持,允许按照常规的流程进行升级。一旦升级完成,用户/管理员应开始计划在升级到标记为已移除的版本之前放弃使用已弃用的功能。对于新的部署,建议不要使用已弃用的功能。
@@ -2,68 +2,50 @@
title: 一般常见问题解答
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/faq/general-faq"/>
</head>
本文包含了用户常见的 Rancher 2.x 问题。
有关常见技术问题,请参阅[常见技术问题解答](technical-items.md)。
<br/>
**Rancher 2.x 支持 Docker Swarm 和 Mesos 作为环境类型吗?**
## Rancher 2.x 支持 Docker Swarm 和 Mesos 作为环境类型吗?
如果你在 Rancher 2.x 中创建环境,Swarm 和 Mesos 将不再是可选的标准选项。但是,Swarm 和 Mesos 还能继续作为可以部署的商店应用程序。这是一个艰难的决定,但这是大势所趋。比如说,15,000 多个集群可能只有大约 200 个在运行 Swarm。
<br/>
## 是否可以使用 Rancher 2.x 管理 Azure Kubernetes 服务?
**是否可以使用 Rancher 2.x 管理 Azure Kubernetes 服务?**
是的。请参阅我们的[集群管理]((../how-to-guides/new-user-guides/manage-clusters/manage-clusters.md))指南,了解 AKS 上可用的 Rancher 功能,以及相关的 [AKS 的文档](../getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md)
是的。
## Rancher 是否支持 Windows
<br/>
Rancher 支持 Windows Server 1809 容器。有关如何使用 Windows Worker 节点设置集群的详细信息,请参阅[为 Windows 配置自定义集群](../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/use-windows-clusters/use-windows-clusters.md)。
**Rancher 是否支持 Windows**
Rancher 支持 Windows Server 1809 容器。有关如何使用 Windows Worker 节点设置集群的详细信息,请参阅[为 Windows 配置自定义集群](../pages-for-subheaders/use-windows-clusters.md)。
<br/>
**Rancher 是否支持 Istio**
## Rancher 是否支持 Istio
Rancher 支持 [Istio](../pages-for-subheaders/istio.md)。
此外,Istio 是在我们的微型 PaaS “Rio” 中实现的,它可以运行在 Rancher 2.x 以及任何符合 CNCF 的 Kubernetes 集群上。详情请参阅[这里](https://rio.io/)。
<br/>
**Rancher 2.x 是否支持使用 Hashicorp 的 Vault 来存储密文?**
## Rancher 2.x 是否支持使用 Hashicorp 的 Vault 来存储密文?
密文管理已在我们的 roadmap 上,但我们尚未将该功能分配给特定版本。
<br/>
**Rancher 2.x 是否也支持 RKT 容器?**
## Rancher 2.x 是否也支持 RKT 容器?
目前,我们只支持 Docker。
<br/>
**Rancher 2.x 是否支持将 Calico、Contiv、Contrail、Flannel、Weave net 等网络插件用于嵌入和已注册的 Kubernetes?**
## Rancher 2.x 是否支持将 Calico、Contiv、Contrail、Flannel、Weave net 等网络插件用于嵌入和已注册的 Kubernetes
Rancher 开箱即用地为 Kubernetes 集群提供了几个 CNI 网络插件,分别是 Canal、Flannel、Calico 和 Weave。有关官方支持的详细信息,请参阅 [Rancher 支持矩阵](https://rancher.com/support-maintenance-terms/)。
<br/>
**Rancher 是否计划支持 Traefik**
## Rancher 是否计划支持 Traefik
目前,我们不打算提供嵌入式 Traefik 支持,但我们仍在探索负载均衡方案。
<br/>
**我可以将 OpenShift Kubernetes 集群导入 2.x 吗?**
## 我可以将 OpenShift Kubernetes 集群导入 2.x 吗?
我们的目标是运行任何上游 Kubernetes 集群。因此,Rancher 2.x 应该可以与 OpenShift 一起使用,但我们尚未对此进行测试。
<br/>
**Rancher 会集成 Longhorn 吗?**
## Rancher 会集成 Longhorn 吗?
是的。Longhorn 已集成到 Rancher 2.5+ 中。
@@ -1,7 +1,11 @@
---
title: 在离线环境中渲染 Helm 模板
title: 在离线环境中升级
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/air-gapped-upgrades"/>
</head>
:::note
以下说明假设你已经按照[本页](upgrades.md)的 Kubernetes 升级说明操作(包括先决条件)到步骤 3:升级 Rancher。
@@ -14,13 +18,12 @@ title: 在离线环境中渲染 Helm 模板
根据你在安装过程中做出的选择,完成以下步骤之一。
| 占位符 | 描述 |
------------|-------------
| `<VERSION>` | 输出压缩包的版本号。 |
| `<RANCHER.YOURDOMAIN.COM>` | 指向负载均衡器的 DNS 名称。 |
| `<REGISTRY.YOURDOMAIN.COM:PORT>` | 你的私有镜像仓库的 DNS 名称。 |
| `<CERTMANAGER_VERSION>` | 在 K8s 集群上运行的 cert-manager 版本。 |
| 占位符 | 描述 |
| -------------------------------- | --------------------------------------- |
| `<VERSION>` | 输出压缩包的版本号。 |
| `<RANCHER.YOURDOMAIN.COM>` | 指向负载均衡器的 DNS 名称。 |
| `<REGISTRY.YOURDOMAIN.COM:PORT>` | 你的私有镜像仓库的 DNS 名称。 |
| `<CERTMANAGER_VERSION>` | 在 K8s 集群上运行的 cert-manager 版本。 |
### 选项 A:使用默认的自签名证书
@@ -35,6 +38,27 @@ helm template rancher ./rancher-<VERSION>.tgz --output-dir . \
--set useBundledSystemChart=true # Use the packaged Rancher system charts
```
#### 解决 UPGRADE FAILED 错误
如果你遇到错误消息 `Error: UPGRADE FAILED: "rancher" has no deployed releases`Rancher 可能是通过 `helm template` 命令安装的。要成功升级 Rancher,请改用以下命令:
```
helm template rancher ./rancher-<VERSION>.tgz --output-dir . \
--no-hooks \ # prevent files for Helm hooks from being generated
--namespace cattle-system \
--set hostname=<RANCHER.YOURDOMAIN.COM> \
--set certmanager.version=<CERTMANAGER_VERSION> \
--set rancherImage=<REGISTRY.YOURDOMAIN.COM:PORT>/rancher/rancher \
--set systemDefaultRegistry=<REGISTRY.YOURDOMAIN.COM:PORT> \ # Set a default private registry to be used in Rancher
--set useBundledSystemChart=true # Use the packaged Rancher system charts
```
执行 Helm 命令后,需要应用渲染后的模板:
```
kubectl -n cattle-system apply -R -f ./rancher
```
### 选项 B:使用 Kubernetes 密文从文件中获取证书
```plain
@@ -62,16 +86,6 @@ helm template rancher ./rancher-<VERSION>.tgz --output-dir . \
--set useBundledSystemChart=true # Use the packaged Rancher system charts
```
### 应用已渲染的模板
将渲染的 manifest 目录复制到可以访问 Rancher Server 集群的系统中,并应用渲染的模板。
使用 `kubectl` 来应用渲染的 manifest。
```plain
kubectl -n cattle-system apply -R -f ./rancher
```
## 验证升级
登录 Rancher 以确认升级成功。
@@ -0,0 +1,352 @@
---
title: 在 Kubernetes 集群上安装/升级 Rancher
description: 了解如何在开发和生产环境中安装 Rancher。了解单节点和高可用安装
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster"/>
</head>
在本节中,你将学习如何使用 Helm CLI 在 Kubernetes 集群上部署 Rancher。
## 先决条件
- [Kubernetes 集群](#kubernetes-集群)
- [Ingress Controller](#ingress-controller)
- [CLI 工具](#cli-工具)
### Kubernetes 集群
设置 Rancher Server 的本地 Kubernetes 集群。
Rancher 可以安装在任何 Kubernetes 集群上。这个集群可以使用上游 Kubernetes,也可以使用 Rancher 的 Kubernetes 发行版之一,也可以是来自 Amazon EKS 等提供商的托管 Kubernetes 集群。
你可参考以下教程,以获得设置 Kubernetes 集群的帮助:
- **RKE**[安装 RKE Kubernetes 集群的教程](../../../how-to-guides/new-user-guides/kubernetes-cluster-setup/rke1-for-rancher.md)[为高可用 RKE 集群设置基础设施的教程](../../../how-to-guides/new-user-guides/infrastructure-setup/ha-rke1-kubernetes-cluster.md)。
- **K3s**[安装 K3s Kubernetes 集群的教程](../../../how-to-guides/new-user-guides/kubernetes-cluster-setup/k3s-for-rancher.md)[设置高可用 K3s 集群的基础设施的教程](../../../how-to-guides/new-user-guides/infrastructure-setup/ha-k3s-kubernetes-cluster.md)。
- **RKE2:** [安装 RKE2 Kubernetes 集群的教程](../../../how-to-guides/new-user-guides/kubernetes-cluster-setup/rke2-for-rancher.md)[设置高可用 RKE2 集群的基础设施的教程](../../../how-to-guides/new-user-guides/infrastructure-setup/ha-rke2-kubernetes-cluster.md)。
- **Amazon EKS**[在 Amazon EKS 上安装 Rancher 以及如何安装 Ingress Controller 以访问 Rancher Server](rancher-on-amazon-eks.md)。
- **AKS**[使用 Azure Kubernetes 服务安装 Rancher 以及如何安装 Ingress Controller 以访问 Rancher Server](rancher-on-aks.md)。
- **GKE**:有关如何使用 GKE 安装 Rancher,包括如何安装 Ingress Controller 以便可以访问 Rancher Server,请参阅[此页面](rancher-on-gke.md)。GKE 创建 Kubernetes 集群时有两种运行模式,分别是 Autopilot 和 Standard 模式。Autopilot 模式的集群配置对编辑 kube-system 命名空间有限制。但是,Rancher 在安装时需要在 kube-system 命名空间中创建资源。因此,你将无法在以 Autopilot 模式创建的 GKE 集群上安装 Rancher。
### Ingress Controller
Rancher UI 和 API 通过 Ingress 公开。换言之,安装 Rancher 的 Kubernetes 集群必须包含一个 Ingress Controller。
对于 RKE、RKE2 和 K3s,你不需要手动安装 Ingress Controller,因为它是默认安装的。
对于默认不包含 Ingress Controller 的发行版(例如 EKS、GKE 或 AKS 等托管 Kubernetes 集群),你必须先部署 Ingress Controller。请注意,Rancher Helm Chart 默认情况下不会在 Ingress 上设置 `ingressClassName`。因此,你必须将 Ingress Controller 配置为在没有 `ingressClassName` 的情况下也可以监视 Ingress。
上面的 **Amazon EKS**、**AKS** 和 **GKE** 教程中包含了示例。
### CLI 工具
设置 Kubernetes 集群需要以下 CLI 工具。请确保这些工具已安装并在你的 `$PATH` 中可用。
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl) - Kubernetes 命令行工具。
- [Helm](https://docs.helm.sh/using_helm/#installing-helm) - Kubernetes 的包管理器。请参见 [Helm 版本要求](../resources/helm-version-requirements.md)选择 Helm 版本来安装 Rancher。请为你的具体平台参见 [Helm 项目提供的说明](https://helm.sh/docs/intro/install/)。
## 安装 Rancher Helm Chart
Rancher 是使用 Kubernetes 的 [Helm](https://helm.sh/) 包管理器安装的。Helm Chart 为 Kubernetes YAML 清单文件提供了模板语法。通过 Helm,用户可以创建可配置的 deployment,而不仅仅只能使用静态文件。
如果系统无法直接访问互联网,请参见[离线环境:Kubernetes 安装](../other-installation-methods/air-gapped-helm-cli-install/install-rancher-ha.md)。
如果要指定安装的 Rancher 版本,请参见[选择 Rancher 版本](../resources/choose-a-rancher-version.md)。
如果要指定用于安装 Rancher 的 Helm 版本,请参见[Helm 版本要求](../resources/helm-version-requirements.md)。
:::note
本安装指南假定你使用的是 Helm 3。
:::
要设置 Rancher
1. [添加 Helm Chart 仓库](#1-添加-helm-chart-仓库)
2. [为 Rancher 创建命名空间](#2-为-rancher-创建命名空间)
3. [选择 SSL 配置](#3-选择-ssl-配置)
4. [安装 cert-manager](#4-安装-cert-manager)(除非你自带证书,否则 TLS 将在负载均衡器上终止)
5. [使用 Helm 和你选择的证书选项安装 Rancher](#5-根据你选择的证书选项通过-helm-安装-rancher)
6. [验证 Rancher Server 是否部署成功](#6-验证-rancher-server-是否部署成功)
7. [保存选项](#7-保存选项)
### 1. 添加 Helm Chart 仓库
执行 `helm repo add` 命令,以添加包含安装 Rancher 的 Chart 的 Helm Chart 仓库。有关如何选择仓库,以及哪个仓库最适合你的用例,请参见[选择 Rancher 版本](../getting-started/installation-and-upgrade/resources/choose-a-rancher-version.md)。
- Latest:建议用于试用最新功能
```
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
```
- Stable:建议用于生产环境
```
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
```
- Alpha:即将发布的实验性预览。
```
helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha
```
注意:不支持升级到 Alpha 版、从 Alpha 版升级或在 Alpha 版之间升级。
### 2. 为 Rancher 创建命名空间
你需要定义一个 Kubernetes 命名空间,用于安装由 Chart 创建的资源。这个命名空间的名称为 `cattle-system`
```
kubectl create namespace cattle-system
```
### 3. 选择 SSL 配置
Rancher Management Server 默认需要 SSL/TLS 配置来保证访问的安全性。
:::note
如果你想在外部终止 SSL/TLS,请参见[外部负载均衡器的 TLS 终止](../getting-started/installation-and-upgrade/installation-references/helm-chart-options.md#外部-tls-终止)。
:::
你可以从以下三种证书来源中选择一种,用于在 Rancher Server 中终止 TLS
- **Rancher 生成的 TLS 证书**:要求你在集群中安装 `cert-manager`。Rancher 使用 `cert-manager` 签发并维护证书。Rancher 会生成自己的 CA 证书,并使用该 CA 签署证书。然后 `cert-manager`负责管理该证书。
- **Let's Encrypt**Let's Encrypt 选项也需要使用 `cert-manager`。但是,在这种情况下,cert-manager 与 Let's Encrypt 的特殊颁发者相结合,该颁发者执行获取 Let's Encrypt 颁发的证书所需的所有操作(包括请求和验证)。此配置使用 HTTP 验证(`HTTP-01`),因此负载均衡器必须具有可以从互联网访问的公共 DNS 记录。
- **你已有的证书**:使用已有的 CA 颁发的公有或私有证书。Rancher 将使用该证书来保护 WebSocket 和 HTTPS 流量。在这种情况下,你必须上传名称分别为 `tls.crt` 和 `tls.key`的 PEM 格式的证书以及相关的密钥。如果你使用私有 CA,则还必须上传该 CA 证书。这是由于你的节点可能不信任此私有 CA。Rancher 将获取该 CA 证书,并从中生成一个校验和,各种 Rancher 组件将使用该校验和来验证其与 Rancher 的连接。
| 配置 | Helm Chart 选项 | 是否需要 cert-manager |
| -------------------------- | -------------------------------- | -------------------------- |
| Rancher 生成的证书(默认) | `ingress.tls.source=rancher` | [是](#4-安装-cert-manager) |
| Lets Encrypt | `ingress.tls.source=letsEncrypt` | [是](#4-安装-cert-manager) |
| 你已有的证书 | `ingress.tls.source=secret` | 否 |
### 4. 安装 cert-manager
> 如果你使用自己的证书文件(`ingress.tls.source=secret`)或使用[外部负载均衡器的 TLS 终止](../installation-references/helm-chart-options.md#外部-tls-终止),你可以跳过此步骤。
仅在使用 Rancher 生成的证书(`ingress.tls.source=rancher`)或 Let's Encrypt 颁发的证书(`ingress.tls.source=letsEncrypt`)时,才需要安装 cert-manager。
<details id="cert-manager">
<summary>单击展开</summary>
:::note 重要提示:
由于 cert-manager 的最新改动,你需要升级 cert-manager 版本。如果你需要升级 Rancher 并使用低于 0.11.0 的 cert-manager 版本,请参见[升级文档](../resources/upgrade-cert-manager.md)。
:::
这些说明来自 [cert-manager 官方文档](https://cert-manager.io/docs/installation/kubernetes/#installing-with-helm)。
:::note
要查看自定义 cert-manager 安装的选项(包括集群使用 PodSecurityPolicies 的情况),请参阅 [cert-manager 文档](https://artifacthub.io/packages/helm/cert-manager/cert-manager#configuration)。
:::
```
# 如果你手动安装了CRD,而不是在 Helm 安装命令中添加了 `--set installCRDs=true` 选项,你应该在升级 Helm Chart 之前升级 CRD 资源。
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/<VERSION>/cert-manager.crds.yaml
# 添加 Jetstack Helm 仓库
helm repo add jetstack https://charts.jetstack.io
# 更新本地 Helm Chart 仓库缓存
helm repo update
# 安装 cert-manager Helm Chart
helm install cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace
```
安装完 cert-manager 后,你可以通过检查 cert-manager 命名空间中正在运行的 Pod 来验证它是否已正确部署:
```
kubectl get pods --namespace cert-manager
NAME READY STATUS RESTARTS AGE
cert-manager-5c6866597-zw7kh 1/1 Running 0 2m
cert-manager-cainjector-577f6d9fd7-tr77l 1/1 Running 0 2m
cert-manager-webhook-787858fcdb-nlzsq 1/1 Running 0 2m
```
</details>
### 5. 根据你选择的证书选项,通过 Helm 安装 Rancher
不同的证书配置需要使用不同的 Rancher 安装命令。
但是,无论证书如何配置,Rancher 在 `cattle-system` 命名空间中的安装名称应该总是 `rancher`。
:::tip 测试和开发:
这个安装 Rancher 的最终命令需要一个将流量转发到 Rancher 的域名。如果你使用 Helm CLI 设置概念证明,则可以在传入 `hostname` 选项时使用伪域名。伪域名的一个例子是 `<IP_OF_LINUX_NODE>.sslip.io`,这会把 Rancher 暴露在它运行的 IP 上。生产安装中要求填写真实的域名。
:::
<Tabs>
<TabItem value="Rancher 生成的证书">
默认情况是使用 Rancher 生成 CA,并使用 `cert-manager` 颁发用于访问 Rancher Server 接口的证书。
由于 `rancher` 是 `ingress.tls.source` 的默认选项,因此在执行 `helm install` 命令时,我们不需要指定 `ingress.tls.source`。
- 将 `hostname` 设置为解析到你的负载均衡器的 DNS 名称。
- 将 `bootstrapPassword` 设置为 `admin` 用户独有的值。
- 如果你需要安装指定的 Rancher 版本,使用 `--version` 标志,例如 `--version 2.7.0`。
- 对于 Kubernetes v1.25 或更高版本,使用 Rancher v2.7.2-v2.7.4 时,将 `global.cattle.psp.enabled` 设置为 `false`。对于 Rancher v2.7.5 及更高版本来说,这不是必需的,但你仍然可以手动设置该选项。
```
helm install rancher rancher-<CHART_REPO>/rancher \
--namespace cattle-system \
--set hostname=rancher.my.org \
--set bootstrapPassword=admin
```
如果你安装的是 alpha 版本,Helm 会要求你在安装命令中添加 `--devel` 选项:
```
helm install rancher rancher-alpha/rancher --devel
```
等待 Rancher 运行:
```
kubectl -n cattle-system rollout status deploy/rancher
Waiting for deployment "rancher" rollout to finish: 0 of 3 updated replicas are available...
deployment "rancher" successfully rolled out
```
</TabItem>
<TabItem value="Let's Encrypt">
此选项使用 `cert-manager` 来自动请求和续订 [Let's Encrypt](https://letsencrypt.org/) 证书。Let's Encrypt 是免费的,而且是受信的 CA,因此可以为你提供有效的证书。
:::note
由于 HTTP-01 质询只能在端口 80 上完成,因此你需要打开端口 80。
:::
在以下命令中,
- 将 `hostname` 设置为公有 DNS 记录。
- 将 `bootstrapPassword` 设置为 `admin` 用户独有的值。
- 将 `ingress.tls.source` 设置为 `letsEncrypt`。
- 将 `letsEncrypt.email` 设置为可通讯的电子邮件地址,用于发送通知(例如证书到期的通知)。
- 将 `letsEncrypt.ingress.class` 设为你的 Ingress Controller(例如 `traefik``nginx``haproxy`
- 对于 Kubernetes v1.25 或更高版本,使用 Rancher v2.7.2-v2.7.4 时,将 `global.cattle.psp.enabled` 设置为 `false`。对于 Rancher v2.7.5 及更高版本来说,这不是必需的,但你仍然可以手动设置该选项。
```
helm install rancher rancher-<CHART_REPO>/rancher \
--namespace cattle-system \
--set hostname=rancher.my.org \
--set bootstrapPassword=admin \
--set ingress.tls.source=letsEncrypt \
--set letsEncrypt.email=me@example.org \
--set letsEncrypt.ingress.class=nginx
```
如果你安装的是 alpha 版本,Helm 会要求你在安装命令中添加 `--devel` 选项:
```
helm install rancher rancher-alpha/rancher --devel
```
等待 Rancher 运行:
```
kubectl -n cattle-system rollout status deploy/rancher
Waiting for deployment "rancher" rollout to finish: 0 of 3 updated replicas are available...
deployment "rancher" successfully rolled out
```
</TabItem>
<TabItem value="证书文件">
在此选项中,你使用你自己的证书来创建 Kubernetes 密文,以供 Rancher 使用。
运行这个命令时,`hostname` 选项必须与服务器证书中的 `Common Name` 或 `Subject Alternative Names` 条目匹配,否则 Ingress controller 将无法正确配置。
虽然技术上仅需要 `Subject Alternative Names` 中有一个条目,但是拥有一个匹配的 `Common Name` 可以最大程度地提高与旧版浏览器/应用的兼容性。
:::note
如果你想检查证书是否正确,请查看[如何在服务器证书中检查 Common Name 和 Subject Alternative Names](../../../faq/technical-items.md#如何在服务器证书中检查-common-name-和-subject-alternative-names)。
:::
- 设置 `hostname`。
- 将 `bootstrapPassword` 设置为 `admin` 用户独有的值。
- 将 `ingress.tls.source` 设置为 `secret`。
- 对于 Kubernetes v1.25 或更高版本,使用 Rancher v2.7.2-v2.7.4 时,将 `global.cattle.psp.enabled` 设置为 `false`。对于 Rancher v2.7.5 及更高版本来说,这不是必需的,但你仍然可以手动设置该选项。
```
helm install rancher rancher-<CHART_REPO>/rancher \
--namespace cattle-system \
--set hostname=rancher.my.org \
--set bootstrapPassword=admin \
--set ingress.tls.source=secret
```
如果你安装的是 alpha 版本,Helm 会要求你在安装命令中添加 `--devel` 选项:
```
helm install rancher rancher-alpha/rancher --devel
```
如果你使用的是私有 CA 证书,请在命令中增加 `--set privateCA=true`。
```
helm install rancher rancher-<CHART_REPO>/rancher \
--namespace cattle-system \
--set hostname=rancher.my.org \
--set bootstrapPassword=admin \
--set ingress.tls.source=secret \
--set privateCA=true
```
**添加 TLS 密文(千万不要遗漏此步骤)**:现在 Rancher 已经完成部署,你还需要参考[添加 TLS 密文](../resources/add-tls-secrets.md)发布证书文件,以便 Rancher 和 Ingress Controller 可以使用它们。
</TabItem>
</Tabs>
Rancher Chart 有许多选项,用于为你的具体环境自定义安装。以下是一些常见的高级方案:
- [HTTP 代理](../installation-references/helm-chart-options.md#http-代理)
- [私有容器镜像仓库](../installation-references/helm-chart-options.md#私有仓库和离线安装)
- [外部负载均衡器上的 TLS 终止](../installation-references/helm-chart-options.md#外部-tls-终止)
如需获取完整的选项列表,请参见 [Chart 选项](../installation-references/helm-chart-options.md)。
### 6. 验证 Rancher Server 是否部署成功
添加密文后,检查 Rancher 是否已成功运行:
```
kubectl -n cattle-system rollout status deploy/rancher
Waiting for deployment "rancher" rollout to finish: 0 of 3 updated replicas are available...
deployment "rancher" successfully rolled out
```
如果你看到 `error: deployment "rancher" exceeded its progress deadline` 这个错误,可运行以下命令来检查 deployment 的状态:
```
kubectl -n cattle-system get deploy rancher
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
rancher 3 3 3 3 3m
```
`DESIRED` 和 `AVAILABLE`的个数应该相同。
### 7. 保存选项
请保存你使用的 `--set` 选项。使用 Helm 升级 Rancher 到新版本时,你将需要使用相同的选项。
### 安装完成
安装已完成。现在 Rancher Server 应该已经可以正常运行了。
使用浏览器打开把流量转发到你的负载均衡器的 DNS 域名。然后,你就会看到一个漂亮的登录页面了。
如果遇到任何问题,请参见[故障排除](troubleshooting.md)。
@@ -2,11 +2,15 @@
title: 在 Azure Kubernetes Service 上安装 Rancher
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks"/>
</head>
本文介绍了如何在微软的 Azure Kubernetes Service (AKS) 上安装 Rancher。
本指南使用命令行工具来配置一个带有 Ingress 的 AKS 集群。如果你更喜欢使用 Azure 门户来配置集群,请参见[官方文档](https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough-portal)。
如果你已有一个 AKS Kubernetes 集群,请直接跳到[安装 Ingress](#5-安装-ingress) 的步骤,然后按照[此页](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md#安装-rancher-helm-chart)的说明安装 Rancher Helm Chart。
如果你已有一个 AKS Kubernetes 集群,请直接跳到[安装 Ingress](#5-安装-ingress) 的步骤,然后按照[此页](install-upgrade-on-a-kubernetes-cluster.md#安装-rancher-helm-chart)的说明安装 Rancher Helm Chart。
## 先决条件
@@ -19,7 +23,7 @@ title: 在 Azure Kubernetes Service 上安装 Rancher
- [Microsoft Azure 账号](https://azure.microsoft.com/en-us/free/):用于创建部署 Rancher 和 Kubernetes 的资源。
- [Microsoft Azure 订阅](https://docs.microsoft.com/en-us/azure/cost-management-billing/manage/create-subscription#create-a-subscription-in-the-azure-portal):如果你没有的话,请访问此链接查看如何创建 Microsoft Azure 订阅。
- [Micsoroft Azure 租户](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-create-new-tenant):访问此链接并参考教程以创建 Microsoft Azure 租户。
- 你的订阅有足够的配额,至少有 2 个 vCPU。有关 Rancher Server 资源要求的详情,请参见[此节](../../../pages-for-subheaders/installation-requirements.md#rke-和托管-kubernetes)。
- 你的订阅有足够的配额,至少有 2 个 vCPU。有关 Rancher Server 资源要求的详情,请参见[此节](../installation-requirements/installation-requirements.md)。
- 在 Azure 中用 Helm 安装 Rancher 时,请使用 L7 负载均衡器来避免网络问题。详情请参见 [Azure 负载均衡器限制](https://docs.microsoft.com/en-us/azure/load-balancer/components#limitations)。
## 1. 准备你的工作站
@@ -134,7 +138,7 @@ ingress-nginx-controller LoadBalancer 10.0.116.18 40.31.180.83 80:31229
## 8. 安装 Rancher Helm Chart
按照[本页](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md#安装-rancher-helm-chart)的说明安装 Rancher Helm Chart。任何 Kubernetes 发行版上安装的 Rancher 的 Helm 说明都是一样的。
按照[本页](install-upgrade-on-a-kubernetes-cluster.md#安装-rancher-helm-chart)的说明安装 Rancher Helm Chart。任何 Kubernetes 发行版上安装的 Rancher 的 Helm 说明都是一样的。
安装 Rancher 时,使用上一步获取的 DNS 名称作为 Rancher Server 的 URL。它可以作为 Helm 选项传递进来。例如,如果 DNS 名称是 `rancher.my.org`,你需要使用 `--set hostname=rancher.my.org` 选项来运行 Helm 安装命令。
@@ -144,4 +148,4 @@ ingress-nginx-controller LoadBalancer 10.0.116.18 40.31.180.83 80:31229
--set ingress.ingressClassName=nginx
```
请参阅[Helm 安装命令](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md#5-根据你选择的证书选项通过-helm-安装-rancher)了解你的证书选项。
请参阅[Helm 安装命令](install-upgrade-on-a-kubernetes-cluster.md#5-根据你选择的证书选项通过-helm-安装-rancher)了解你的证书选项。
@@ -2,9 +2,13 @@
title: 在 Amazon EKS 上安装 Rancher
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks"/>
</head>
本文介绍了如何在 Amazon EKS 集群上安装 Rancher。你也可以[通过 AWS Marketplace 安装 Rancher](../../quick-start-guides/deploy-rancher-manager/aws-marketplace.md)。
如果你已经有一个 EKS Kubernetes 集群,请直接跳转到[安装 Ingress](#5-安装-ingress)这个步骤。然后按照[此处](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md#安装-rancher-helm-chart)的步骤安装 Rancher Helm Chart。
如果你已经有一个 EKS Kubernetes 集群,请直接跳转到[安装 Ingress](#5-安装-ingress)这个步骤。然后按照[此处](install-upgrade-on-a-kubernetes-cluster.md#安装-rancher-helm-chart)的步骤安装 Rancher Helm Chart。
## 为 Rancher Server 创建 EKS 集群
@@ -37,12 +41,12 @@ aws configure
输入以下参数:
| 值 | 描述 |
|-------|-------------|
| AWS Access Key ID | 具有 EKS 权限的 IAM 用户的访问密钥凭证。 |
| AWS Secret Access Key | 具有 EKS 权限的 IAM 用户的密文密钥凭证。 |
| Default region name | 集群节点所在的 [AWS 区域](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html#Concepts.RegionsAndAvailabilityZones.Regions)。 |
| Default output format | 输入 `json`。 |
| 值 | 描述 |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AWS Access Key ID | 具有 EKS 权限的 IAM 用户的访问密钥凭证。 |
| AWS Secret Access Key | 具有 EKS 权限的 IAM 用户的密文密钥凭证。 |
| Default region name | 集群节点所在的 [AWS 区域](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html#Concepts.RegionsAndAvailabilityZones.Regions)。 |
| Default output format | 输入 `json` |
### 3. 创建 EKS 集群
@@ -138,7 +142,7 @@ ingress-nginx-controller LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c4
### 8. 安装 Rancher Helm Chart
按照[本页](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md#安装-rancher-helm-chart)的说明安装 Rancher Helm Chart。任何 Kubernetes 发行版上安装的 Rancher 的 Helm 说明都是一样的。
按照[本页](install-upgrade-on-a-kubernetes-cluster.md#安装-rancher-helm-chart)的说明安装 Rancher Helm Chart。任何 Kubernetes 发行版上安装的 Rancher 的 Helm 说明都是一样的。
安装 Rancher 时,使用上一步获取的 DNS 名称作为 Rancher Server 的 URL。它可以作为 Helm 选项传递进来。例如,如果 DNS 名称是 `rancher.my.org`,你需要使用 `--set hostname=rancher.my.org` 选项来运行 Helm 安装命令。
@@ -148,4 +152,4 @@ ingress-nginx-controller LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c4
--set ingress.ingressClassName=nginx
```
请参阅[Helm 安装命令](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md#5-根据你选择的证书选项通过-helm-安装-rancher)了解你的证书选项。
请参阅[Helm 安装命令](install-upgrade-on-a-kubernetes-cluster.md#5-根据你选择的证书选项通过-helm-安装-rancher)了解你的证书选项。
@@ -2,15 +2,19 @@
title: 在 GKE 集群上安装 Rancher
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke"/>
</head>
在本节中,你将学习如何使用 GKE 安装 Rancher。
如果你已经有一个 GKE Kubernetes 集群,请直接跳转到[安装 Ingress](#7-安装-ingress)这个步骤。然后按照[此处](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md#安装-rancher-helm-chart)的步骤安装 Rancher Helm Chart。
如果你已经有一个 GKE Kubernetes 集群,请直接跳转到[安装 Ingress](#7-安装-ingress)这个步骤。然后按照[此处](install-upgrade-on-a-kubernetes-cluster.md#安装-rancher-helm-chart)的步骤安装 Rancher Helm Chart。
## 先决条件
- 你需要有一个 Google 账号。
- 你需要有一个 Google Cloud Billing 账号。你可使用 Google Cloud Console 来管理你的 Cloud Billing 账号。有关 Cloud Console 的详情,请参见 [ Console 通用指南](https://support.google.com/cloud/answer/3465889?hl=en&ref_topic=3340599)。
- 你需要至少一个在用的 IP 地址和至少 2 个 CPU 的云配额。有关 Rancher Server 的硬件要求,请参见[本节](../../../pages-for-subheaders/installation-requirements.md#rke-和托管-kubernetes)。
- 你需要至少一个在用的 IP 地址和至少 2 个 CPU 的云配额。有关 Rancher Server 的硬件要求,请参见[本节](../installation-requirements/installation-requirements.md)。
## 1. 启用 Kubernetes Engine API
@@ -41,25 +45,28 @@ Cloud Shell 是一个 shell 环境,用于管理托管在 Google Cloud 上的
```
gcloud components install kubectl
```
后面的步骤会配置 `kubectl`,使其用于使用新的 GKE 集群。
1. 如果 Helm 3 未安装的话,[安装 Helm 3](https://helm.sh/docs/intro/install/)。
1. 使用 `HELM_EXPERIMENTAL_OCI` 变量来启用 Helm 的实验功能 [OCI 镜像支持](https://github.com/helm/community/blob/master/hips/hip-0006.md)。把以下行添加到 `~/.bashrc` (或 macOS 中的 `~/.bash_profile`,或者你的 shell 存储环境变量的地方):
```
export HELM_EXPERIMENTAL_OCI=1
```
1. 运行以下命令来加载你更新的 `.bashrc` 文件:
```
source ~/.bashrc
```
如果你运行的是 macOS,使用这个命令:
```
source ~/.bash_profile
```
## 3. 配置 gcloud CLI
选择以下方法之一配置默认的 gcloud 设置:
@@ -75,13 +82,14 @@ Cloud Shell 是一个 shell 环境,用于管理托管在 Google Cloud 上的
```
gcloud init
```
如果你在远程服务器上使用 SSH,使用 --console-only 标志,以防止该命令启动浏览器。
```
gcloud init --console-only
```
2. 按照指示,以授权 gcloud 使用你的 Google Cloud 账户,并选择你创建的新项目。
2. 按照指示,以授权 gcloud 使用你的 Google Cloud 账户,并选择你创建的新项目。
</TabItem>
<TabItem value="使用 gcloud config">
@@ -190,7 +198,7 @@ ingress-nginx-controller LoadBalancer 10.3.244.156 35.233.206.34 80:3187
--set ingress.ingressClassName=nginx
```
请参阅[Helm 安装命令](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md#5-根据你选择的证书选项通过-helm-安装-rancher)了解你的证书选项。
请参阅[Helm 安装命令](install-upgrade-on-a-kubernetes-cluster.md#5-根据你选择的证书选项通过-helm-安装-rancher)了解你的证书选项。
在 Rancher v2.7.5 中,如果你打算在集群上使用默认的 GKE Ingress 而不启用 VPC 原生的集群模式,则需要设置以下标志:
@@ -2,16 +2,41 @@
title: 回滚
---
## 使用 Rancher 2.6.4+ 进行回滚的其他步骤
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rollbacks"/>
</head>
本页概述了如何在升级后将 Rancher 回滚到以前的版本。
当出现以下情况时,请按照本页的说明进行操作:
- 备份完成后,正在运行的 Rancher 实例已经升级到新版本。
- 上游(本地)集群备份位置相同。
:::tip
- 按照以下步骤[迁移 Rancher](../../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/migrate-rancher-to-new-cluster.md)。
- 如果你需要将 Rancher 恢复到之前的状态,请参阅[回滚文档](../../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/restore-rancher.md).
:::
## 特殊场景的替代步骤
在以下场景下,需要执行回滚的替代步骤:
- 从 v2.6.4 及更高版本回滚到 v2.6.x 的早期版本。
- 从 v2.7.7 及更高版本回滚到 v2.7.x 的早期版本。
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 脚本:
Rancher v2.7.7 中,`rancher-provisioning-capi` 应用作为嵌入式 cluster-api controllers 的替代品将会被自动安装到上游(本地)集群中。如果上游集群同时包含`rancher-provisioning-capi` 应用以及 Rancher v2.7.6 及更早版本的控制器,则会出现冲突和意外的错误。因此,当你尝试从 Rancher v2.7.7 迁移到 Rancher v2.7.x 的任何早期版本,都需要采取一些替代步骤。
* `verify.sh`:检查集群中是否有任何与 Rancher 相关的资源。
* `cleanup.sh`:清理集群。
### 步骤一:清理上游(本地)集群
有关详细信息和源代码,请参阅 [rancher/rancher-cleanup repo](https://github.com/rancher/rancher-cleanup)。
要避免回滚失败,请按照以下[说明](https://github.com/rancher/rancher-cleanup/blob/main/README.md),在你需要在尝试恢复操作或回滚**之前**运行以下脚本:
- `cleanup.sh`:清理集群。
- `verify.sh`:检查集群中是否有任何与 Rancher 相关的资源。
:::caution
@@ -19,12 +44,20 @@ Rancher v2.6.4 将 cluster-api 模块从 v0.4.4 升级到 v1.0.2。反过来,c
:::
### 从 v2.6.4+ 回滚到较低版本的 v2.6.x
**结果:** 所有与 Rancher 相关的资源都会从上游(本地)集群中清理掉。
1. 按照[说明](https://github.com/rancher/rancher-cleanup/blob/main/README.md)运行脚本
1. 按照[说明](https://rancher.com/docs/rancher/v2.6/en/backups/migrating-rancher/)在现有集群上安装 rancher-backup Helm Chart 并恢复之前的状态。
1. 省略步骤 3。
1. 执行到步骤 4 时,在要回滚到的 local 集群上安装 Rancher 2.6.x 版本。
有关详细信息和源代码,请参阅 [rancher/rancher-cleanup repo](https://github.com/rancher/rancher-cleanup)
### 步骤二:恢复备份并启动 Rancher
此时,上游集群中不应该存在与 Rancher 相关的资源了。因此下一步与将 Rancher 迁移到不包含 Rancher 资源的新集群操作相同。
请参照以下[说明](../../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/migrate-rancher-to-new-cluster.md)安装 Rancher-Backup Helm chart 并将 Rancher 恢复到之前的状态。
请记住:
1. 可以跳过步骤 3,因为如果之前安装了 cert-manager 应用,该程序应该仍存在于上游(本地)集群中。
2. 在步骤 4,安装你想要回滚的 Rancher 版本。
## 回滚到 Rancher 2.5.0+
@@ -36,20 +69,20 @@ Rancher v2.6.4 将 cluster-api 模块从 v0.4.4 升级到 v1.0.2。反过来,c
:::note 重要提示:
* 请按照此页面上的说明在已备份的同一集群上还原 Rancher。要把 Rancher 迁移到新集群,请参照步骤[迁移 Rancher](../../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/migrate-rancher-to-new-cluster.md)。
- 请按照此页面上的说明在已备份的同一集群上还原 Rancher。要把 Rancher 迁移到新集群,请参照步骤[迁移 Rancher](../../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/migrate-rancher-to-new-cluster.md)。
* 在使用相同设置恢复 Rancher 时,Rancher deployment 在恢复开始前被手动缩减,然后 Operator 将在恢复完成后将其缩回。因此,在恢复完成之前,Rancher 和 UI 都将不可用。如果 UI 不可用时,你可使用 `kubectl create -f restore.yaml`YAML 恢复文件来使用初始的集群 kubeconfig。
- 在使用相同设置恢复 Rancher 时,Rancher deployment 在恢复开始前被手动缩减,然后 Operator 将在恢复完成后将其缩回。因此,在恢复完成之前,Rancher 和 UI 都将不可用。如果 UI 不可用时,你可使用 `kubectl create -f restore.yaml`YAML 恢复文件来使用初始的集群 kubeconfig。
:::
### 创建 Restore 自定义资源
### 步骤一:创建 Restore 自定义资源
1. 点击 **☰ > 集群管理**。
1. 找到你的本地集群,并点击 **Explore**
1. 在左侧导航栏中,点击 **Rancher 备份 > 还原**
:::note
如果 Rancher Backups 应用不可见,你需要到 **Apps** 的 Charts 页面中安装应用。详情请参见[此处](../../../pages-for-subheaders/helm-charts-in-rancher.md#charts)。
如果 Rancher Backups 应用不可见,你需要到 **Apps** 的 Charts 页面中安装应用。详情请参见[此处](../../../how-to-guides/new-user-guides/helm-charts-in-rancher/helm-charts-in-rancher.md#访问-charts)。
:::
@@ -74,6 +107,7 @@ Rancher v2.6.4 将 cluster-api 模块从 v0.4.4 升级到 v1.0.2。反过来,c
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. 单击**创建**。
@@ -91,7 +125,7 @@ kubectl get pods -n cattle-resources-system
kubectl logs -n cattle-resources-system -f
```
### 回滚到上一个 Rancher 版本
### 步骤二:回滚到上一个 Rancher 版本
你可以使用 Helm CLI 回滚 Rancher。要回滚到上一个版本:
@@ -111,7 +145,7 @@ helm history rancher -n cattle-system
helm rollback rancher 3 -n cattle-system
```
## 回滚到 Rancher 2.2-2.4
## 回滚到 Rancher 2.2-2.4+
要回滚到 2.5 之前的 Rancher 版本,参考此处的步骤[恢复备份 — Kubernetes 安装](/versioned_docs/version-2.0-2.4/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/restore-rancher-launched-kubernetes-clusters-from-backup.md)。如果恢复 Rancher Server 的集群的某个快照,Rancher 的版本以及状态均会恢复回到快照时的版本和状态。
@@ -2,13 +2,16 @@
title: 升级
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/upgrades"/>
</head>
本文介绍如何升级使用 Helm 安装在 Kubernetes 集群上的 Rancher Server。这些步骤也适用于使用 Helm 进行的离线安装。
有关使用 Docker 安装的 Rancher 的升级说明,请参见[本页。](../other-installation-methods/rancher-on-a-single-node-with-docker/upgrade-docker-installed-rancher.md)
如需升级 Kubernetes 集群中的组件,或 [Kubernetes services](https://rancher.com/docs/rke/latest/en/config-options/services/) 或 [附加组件(add-on](https://rancher.com/docs/rke/latest/en/config-options/add-ons/)的定义,请参见 [RKE 升级文档](https://rancher.com/docs/rke/latest/en/upgrades/)的 Rancher Kubernetes 引擎。
## 先决条件
### 访问 kubeconfig
@@ -24,15 +27,18 @@ kubeconfig 也可以通过 `--kubeconfig` 标签(详情请参见 https://helm.
如需查看每个 Rancher 版本的已知问题,请参见 [GitHub](https://github.com/rancher/rancher/releases) 中的发行说明,或查看 [Rancher 论坛](https://forums.rancher.com/c/announcements/12)。
不支持 _升级__升级到_ [rancher-alpha 仓库](../resources/choose-a-rancher-version.md#helm-chart-仓库)中的任何 Chart。
### Helm 版本
<DeprecationHelm2 />
本安装指南假定你使用的是 Helm 3。
如果你使用 Helm 2,请参见 [Helm 2 迁移到 Helm 3 文档](https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/)。如果你不能升级到 Helm 3[Helm 2 升级页面](/versioned_docs/version-2.0-2.4/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/upgrades/helm2.md)提供了使用 Helm 2 升级的旧升级指南。
### 离线安装:推送镜像到私有镜像仓库
[仅适用于离线安装](../../../pages-for-subheaders/air-gapped-helm-cli-install.md):为新的 Rancher Server 版本收集和推送镜像。使用你需要针对 Rancher 版本升级的镜像,按照步骤[推送镜像到私有镜像仓库](../other-installation-methods/air-gapped-helm-cli-install/publish-images.md)。
[仅适用于离线安装](../other-installation-methods/air-gapped-helm-cli-install/air-gapped-helm-cli-install.md):为新的 Rancher Server 版本收集和推送镜像。使用你需要针对 Rancher 版本升级的镜像,按照步骤[推送镜像到私有镜像仓库](../other-installation-methods/air-gapped-helm-cli-install/publish-images.md)。
### 使用 cert-manager 0.8.0 之前的版本升级
@@ -42,7 +48,6 @@ kubeconfig 也可以通过 `--kubeconfig` 标签(详情请参见 https://helm.
按照以下步骤升级 Rancher Server
### 1. 备份运行 Rancher Server 的 Kubernetes 集群
使用[备份应用](../../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-rancher.md)来备份 Rancher。
@@ -59,21 +64,21 @@ kubeconfig 也可以通过 `--kubeconfig` 标签(详情请参见 https://helm.
1. 获取你用来安装 Rancher 的仓库名称。
关于仓库及其区别,请参见 [Helm Chart Repositories](../resources/choose-a-rancher-version.md#helm-chart-仓库)。
关于仓库及其区别,请参见 [Helm Chart 仓库](../resources/choose-a-rancher-version.md#helm-chart-仓库)。
- Latest:建议用于试用最新功能
```
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
```
```
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
```
- Stable:建议用于生产环境
```
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
```
```
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
```
- Alpha:即将发布的实验性预览。
```
helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha
```
注意:不支持升级到 Alpha 版、从 Alpha 版升级或在 Alpha 版之间升级。
```
helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha
```
注意:不支持升级到 Alpha 版、从 Alpha 版升级或在 Alpha 版之间升级。
```
helm repo list
@@ -96,6 +101,7 @@ kubeconfig 也可以通过 `--kubeconfig` 标签(详情请参见 https://helm.
```plain
helm fetch rancher-<CHART_REPO>/rancher
```
你可以通过 `--version=` 标记,来指定要升级的目标 Chart 版本。例如:
```plain
@@ -112,7 +118,6 @@ kubeconfig 也可以通过 `--kubeconfig` 标签(详情请参见 https://helm.
:::
从当前安装的 Rancher Helm Chart 中获取用 `--set`传递的值。
```
@@ -128,13 +133,16 @@ hostname: rancher.my.org
:::
:::tip
Deployment 的名称可能会有所不同。例如,如果你通过 AWS Marketplace 部署 Rancher,则 Deployment 的名称为“rancher-stable”。
因此:
```
helm get values rancher-stable -n cattle-system
hostname: rancher.my.org
```
:::
如果要将 cert-manager 从 v1.5 或更早的版本升级到最新版本,请参阅 [cert-manager upgrade docs](../resources/upgrade-cert-manager.md#选项-c升级-15-及以下版本的-cert-manager) 了解如何在不卸载或重新安装 Rancher 的情况下升级 cert-manager。否则,请按照以下[ Rancher 升级步骤](#rancher-升级步骤)进行操作。
@@ -160,13 +168,16 @@ helm upgrade rancher rancher-<CHART_REPO>/rancher \
:::
:::tip
如果你通过 AWS Marketplace 部署 Rancher,则 Deployment 的名称为“rancher-stable”。
因此:
```
helm upgrade rancher-stable rancher-<CHART_REPO>/rancher \
--namespace cattle-system \
--set hostname=rancher.my.org
```
:::
另外,你也可以将当前的值导出到一个文件中,并在升级时引用该文件。例如,如果你只需要改变 Rancher 的版本:
@@ -0,0 +1,98 @@
---
title: 安装/升级 Rancher
description: 了解如何在开发和生产环境中安装 Rancher。了解单节点和高可用安装
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade"/>
</head>
本节介绍了 Rancher 各种安装方式以及每个安装方式的优点。
## 名词解释
本章节涉及以下名词:
- **Rancher Server**:用于管理和配置 Kubernetes 集群。你可以通过 Rancher Server 的 UI 与下游 Kubernetes 集群进行交互。Rancher Management Server 可以安装到任意 Kubernetes 集群上,包括托管的集群,如 Amazon EKS 集群。
- **RKERancher Kubernetes Engine**:是经过认证的 Kubernetes 发行版,也是用于创建和管理 Kubernetes 集群的 CLI 工具和库。
- **K3s(轻量级 Kubernetes**:也是经过认证的 Kubernetes 发行版。它比 RKE 更新,更易用且更轻量,其所有组件都在一个小于 100 MB 的二进制文件中。
- **RKE2**:一个完全合规的 Kubernetes 发行版,专注于安全和合规性。
`restrictedAdmin` Helm Chart 选项在 **Rancher Server** 可用。如果该选项设置为 true,初始的 Rancher 用户访问本地 Kubernetes 集群会受到限制,以避免权限升级。详情请参见 [restricted-admin 角色](../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions.md#受限管理员)。
## 安装方式概述
Rancher 可以安装在以下主要架构上:
### 使用 Helm CLI 安装的高可用 Kubernetes
我们建议使用 Kubernetes 包管理器 Helm 在专用的 Kubernetes 集群上安装 Rancher。在 RKE 集群中,需要使用三个节点才能实现高可用集群。在 K3s 集群中,只需要两个节点即可。
### 通过 AWS Marketplace 在 EKS 上安装 Rancher
你可以[通过 AWS Marketplace](../quick-start-guides/deploy-rancher-manager/aws-marketplace.md) 将 Rancher 安装到 Amazon Elastic Kubernetes Service (EKS) 上。部署的 EKS 集群已生产就绪,并遵循 AWS 最佳实践。
### 单节点 Kubernetes 安装
Rancher 可以安装在单节点 Kubernetes 集群上。但是,在单节点安装的情况下,Rancher Server 没有高可用性。而高可用性对在生产环境中运行 Rancher 非常重要。
但是,如果你想要短期内使用单节点节省资源,同时又保留高可用性迁移路径,那么单节点 Kubernetes 安装也是合适的。你也可以之后向集群中添加节点,获得高可用的 Rancher Server。
### Docker 安装
如果你的目的是测试或演示,你可以使用 Docker 把 Rancher 安装到单个节点中。本地 Kubernetes 集群是安装到单个 Docker 容器中的,而 Rancher 是安装到本地集群中的。
Rancher backup operator 可将 Rancher 从单个 Docker 容器迁移到高可用 Kubernetes 集群上。详情请参见[把 Rancher 迁移到新集群](../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/migrate-rancher-to-new-cluster.md)。
### 其他方式
如果你需要在离线环境中或使用 HTTP 代理安装 Rancher,请参见以下独立的说明文档:
| 网络访问方式 | 基于 Kubernetes 安装(推荐) | 基于 Docker 安装 |
| ---------------- | ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 可直接访问互联网 | [文档](install-upgrade-on-a-kubernetes-cluster/install-upgrade-on-a-kubernetes-cluster.md) | [文档](other-installation-methods/rancher-on-a-single-node-with-docker/rancher-on-a-single-node-with-docker.md) |
| 使用 HTTP 代理 | [文档](other-installation-methods/rancher-behind-an-http-proxy/rancher-behind-an-http-proxy.md) | [文档](other-installation-methods/rancher-on-a-single-node-with-docker/rancher-on-a-single-node-with-docker.md)及[配置](../../reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md) |
| 离线环境 | [文档](other-installation-methods/air-gapped-helm-cli-install/air-gapped-helm-cli-install.md) | [文档](other-installation-methods/air-gapped-helm-cli-install/air-gapped-helm-cli-install.md) |
我们建议在 Kubernetes 集群上安装 Rancher,因为在多节点集群中,Rancher Server 可以实现高可用。高可用配置可以提升 Rancher 访问其管理的下游 Kubernetes 集群的稳定性。
因此,我们建议在生产级别的架构中,设置一个高可用的 Kubernetes 集群,然后在这个集群上安装 Rancher。安装 Rancher 后,你可以使用 Rancher 部署和管理 Kubernetes 集群。
如果你的目的是测试或演示,你可以将 Rancher 安装到单个 Docker 容器中。Docker 安装可以让你实现开箱即用,以使用 Rancher 设置 Kubernetes 集群。Docker 安装主要是用于探索 Rancher Server 的功能,只适用于开发和测试。
[在 Kubernetes 上安装 Rancher 的说明](install-upgrade-on-a-kubernetes-cluster/install-upgrade-on-a-kubernetes-cluster.md)介绍了如何首先使用 K3s 或 RKE 创建和管理 Kubernetes 集群,然后再将 Rancher 安装到该集群上。
如果 Kubernetes 集群中的节点正在运行且满足[节点要求](installation-requirements/installation-requirements.md),你可以使用 Helm 将 Rancher 部署到 Kubernetes 上。Helm 使用 Rancher 的 Helm Chart 在 Kubernetes 集群的每个节点上安装 Rancher 的副本。我们建议使用负载均衡器将流量定向到集群中的每个 Rancher 副本上。
如需进一步了解 Rancher 架构,请参见[架构概述](../../reference-guides/rancher-manager-architecture/rancher-manager-architecture.md)[生产级别架构推荐](../../reference-guides/rancher-manager-architecture/architecture-recommendations.md)或[最佳实践指南](../../reference-guides/best-practices/rancher-server/tips-for-running-rancher.md)。
## 先决条件
安装 Rancher 之前,请确保你的节点满足所有[安装要求](installation-requirements/installation-requirements.md)。
## 架构建议
为了达到最佳性能和安全性,我们建议你为 Rancher Management Server 使用单独的专用 Kubernetes 集群。不建议在此集群上运行用户工作负载。部署 Rancher 后,你可以[创建或导入集群](../../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/kubernetes-clusters-in-rancher-setup.md)来运行你的工作负载。
详情请参见[架构推荐](../../reference-guides/rancher-manager-architecture/architecture-recommendations.md)。
### 在 Kubernetes 上安装 Rancher 的更多选项
参见 [Helm Chart 选项](installation-references/helm-chart-options.md)以了解在 Kubernetes 集群上安装 Rancher 的其他配置,包括:
- [开启 API 审计日志来记录所有事务](installation-references/helm-chart-options.md#api-审计日志)
- [负载均衡器上的 TLS 终止](installation-references/helm-chart-options.md#外部-tls-终止)
- [自定义 Ingress](installation-references/helm-chart-options.md#自定义-ingress)
在 Rancher 的安装指南中,我们推荐使用 K3s 或 RKE 来配置 Kubernetes 集群,然后再在这个集群中安装 Rancher。K3s 和 RKE 均提供许多配置选项,用于为你的具体环境自定义 Kubernetes 集群。有关选项和功能的完整列表,请参见:
- [RKE 配置选项](https://rancher.com/docs/rke/latest/en/config-options/)
- [K3s 配置选项](https://rancher.com/docs/k3s/latest/en/installation/install-options/)
### 在 Docker 上安装 Rancher 的更多选项
参见 [Docker 安装选项](other-installation-methods/rancher-on-a-single-node-with-docker/rancher-on-a-single-node-with-docker.md)了解其他配置,包括:
- [开启 API 审计日志来记录所有事务](../../reference-guides/single-node-rancher-in-docker/advanced-options.md#api-审计日志)
- [外部负载均衡器](../../how-to-guides/advanced-user-guides/configure-layer-7-nginx-load-balancer.md)
- [持久化数据存储](../../reference-guides/single-node-rancher-in-docker/advanced-options.md#持久化数据)
@@ -2,9 +2,13 @@
title: 功能开关
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/installation-references/feature-flags"/>
</head>
使用功能开关(Feature Flag),你可以试用可选或实验性的功能并启用正在逐步淘汰的旧版功能。
要了解功能的值以及如何启用它们,请参阅[启用实验性功能](../../../pages-for-subheaders/enable-experimental-features.md)。
要了解功能的值以及如何启用它们,请参阅[启用实验性功能](../../../how-to-guides/advanced-user-guides/enable-experimental-features/enable-experimental-features.md)。
:::note
@@ -16,7 +20,7 @@ title: 功能开关
- `continuous-delivery`:允许从 Fleet 中单独禁用 Fleet GitOps。有关详细信息,请参阅[持续交付](../../../how-to-guides/advanced-user-guides/enable-experimental-features/continuous-delivery.md)。
- `fleet`v2.6 及更高版本的 Rancher 配置框架需要 Fleet。即使你在旧 Rancher 版本中禁用了该标志,该标志也将在升级时自动启用。有关详细信息,请参阅 [Fleet - GitOps at Scale](../../../how-to-guides/new-user-guides/deploy-apps-across-clusters/fleet.md)。
- `harvester`:管理 Virtualization Management 页面的访问。用户可以在该页面直接导航到 Harvester 集群并访问 Harvester UI。有关详细信息,请参阅 [Harvester 集成](../../../integrations-in-rancher/harvester.md)。
- `harvester`:管理 Virtualization Management 页面的访问。用户可以在该页面直接导航到 Harvester 集群并访问 Harvester UI。有关详细信息,请参阅 [Harvester 集成](../../../integrations-in-rancher/harvester/overview.md)。
- `istio-virtual-service-ui`:启用[可视界面](../../../how-to-guides/advanced-user-guides/enable-experimental-features/istio-traffic-management-features.md)来创建、读取、更新和删除 Istio 虚拟服务和目标规则,这些都是 Istio 流量管理功能。
- `legacy`:启用 2.5.x 及更早版本的一组功能,这些功能正逐渐被新的实现淘汰。它们是已弃用以及后续可用于新版本的功能组合。新的 Rancher 安装会默认禁用此标志。如果你从以前版本的 Rancher 升级,此标志会启用。
- `multi-cluster-management`:允许配置和管理多个 Kubernetes 集群。此标志只能在安装时设置。后续无法启用或禁用它。
@@ -27,13 +31,13 @@ title: 功能开关
下表介绍了 Rancher 中功能开关的可用性和默认值。标记为“GA”的功能已普遍可用:
| 功能开关名称 | 默认值 | 状态 | 可用于 |
| ----------------------------- | ------------- | ------------ | --------------- |
| `continuous-delivery` | `true` | GA | v2.6.0 |
| `fleet` | `true` | 不能禁用 | v2.6.0 |
| `fleet` | `true` | GA | v2.5.0 |
| `harvester` | `true` | 实验功能 | v2.6.1 |
| `legacy` | 新安装:`false`;升级:`true` | GA | v2.6.0 |
| `rke1-custom-node-cleanup` | `true` | GA | v2.6.0 |
| `rke2` | `true` | 实验功能 | v2.6.0 |
| `token-hashing` | 新安装:`false`;升级:`true` | GA | v2.6.0 |
| 功能开关名称 | 默认值 | 状态 | 可用于 |
| -------------------------- | ----------------------------- | -------- | ------ |
| `continuous-delivery` | `true` | GA | v2.6.0 |
| `fleet` | `true` | 不能禁用 | v2.6.0 |
| `fleet` | `true` | GA | v2.5.0 |
| `harvester` | `true` | 实验功能 | v2.6.1 |
| `legacy` | 新安装:`false`;升级:`true` | GA | v2.6.0 |
| `rke1-custom-node-cleanup` | `true` | GA | v2.6.0 |
| `rke2` | `true` | 实验功能 | v2.6.0 |
| `token-hashing` | 新安装:`false`;升级:`true` | GA | v2.6.0 |
@@ -1,65 +1,76 @@
---
title: Rancher Helm Chart 选项
keywords: [rancher helm chart, rancher helm 选项, rancher helm chart 选项, helm chart rancher, helm 选项 rancher, helm chart 选项 rancher]
keywords:
[
rancher helm chart,
rancher helm 选项,
rancher helm chart 选项,
helm chart rancher,
helm 选项 rancher,
helm chart 选项 rancher,
]
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/installation-references/helm-chart-options"/>
</head>
本文提供了 Rancher Helm Chart 的配置参考。
如需选择 Helm Chart 版本,请参见[本页](../../../getting-started/installation-and-upgrade/resources/choose-a-rancher-version.md)。
了解开启实验性功能的详情,请参见[本页](../../../pages-for-subheaders/enable-experimental-features.md)。
了解开启实验性功能的详情,请参见[本页](../../../how-to-guides/advanced-user-guides/enable-experimental-features/enable-experimental-features.md)。
## 常用选项
| 选项 | 默认值 | 描述 |
| ------------------------- | ------------- | ---------------------------------------------------------------------------------- |
| `bootstrapPassword` | " " | `string` - 为第一个管理员用户设置[引导密码](#引导密码)。登录后,管理员需要重置密码。如不设置,会使用随机生成的引导密码。 |
| `hostname` | " " | `string` - 你的 Rancher Server 的完全限定的域名(FQDN) |
| `ingress.tls.source` | "rancher" | `string` - 从哪里获取 Ingress 的证书- "rancher, letsEncrypt, secret" |
| `letsEncrypt.email` | " " | `string` - 你的邮箱地址 |
| `letsEncrypt.environment` | "production" | `string` - 可选项:"staging, production" |
| `privateCA` | false | `bool` - 如果你的证书是由私有 CA 签发的,把这个值设置为 true |
| 选项 | 默认值 | 描述 |
| ------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------ |
| `bootstrapPassword` | " " | `string` - 为第一个管理员用户设置[引导密码](#引导密码)。登录后,管理员需要重置密码。如不设置,会使用随机生成的引导密码。 |
| `hostname` | " " | `string` - 你的 Rancher Server 的完全限定的域名(FQDN) |
| `ingress.tls.source` | "rancher" | `string` - 从哪里获取 Ingress 的证书- "rancher, letsEncrypt, secret" |
| `letsEncrypt.email` | " " | `string` - 你的邮箱地址 |
| `letsEncrypt.environment` | "production" | `string` - 可选项:"staging, production" |
| `privateCA` | false | `bool` - 如果你的证书是由私有 CA 签发的,把这个值设置为 true |
<br/>
## 高级选项
| 选项 | 默认值 | 描述 |
| ------------------------------ | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `additionalTrustedCAs` | false | `bool` - 请参见[额外的授信 CA](#额外的授信-ca) |
| `addLocal` | "true" | `string` - 让 Rancher 检测并导入 “local” Rancher Server 集群。_注意:此选项在 2.5.0 中已不可用。你可考虑使用 `restrictedAdmin` 选项,来避免用户修改本地集群。_ |
| `antiAffinity` | "preferred" | `string` - Rancher Pod 的反亲和性规则 - "preferred, required" |
| `auditLog.destination` | "sidecar" | `string` - 发送审计日志到 Sidecar 容器的控制台或 hostPath 卷 - "sidecar, hostPath" |
| `auditLog.hostPath` | "/var/log/rancher/audit" | `string` - 主机上的日志文件目标地址(仅当`auditLog.destination` 的值是 `hostPath` 时生效) |
| `auditLog.level` | 0 | `int` - 设置 [API 审计日志](../../../how-to-guides/advanced-user-guides/enable-api-audit-log.md)等级。0 代表关闭。[0-3] |
| `auditLog.maxAge` | 1 | `int` - 旧审计日志文件最多可保留的天数(仅当`auditLog.destination` 的值是 `hostPath` 时生效) |
| `auditLog.maxBackup` | 1 | `int` - 审计文件最大可保留的个数(仅当 `auditLog.destination` 的值是 `hostPath` 时生效) |
| `auditLog.maxSize` | 100 | `int` - 在审计日志被轮换前的最大容量,单位是 MB(仅当 `auditLog.destination` 的值是 `hostPath` 时生效) |
| `auditLog.image.repository` | "registry.suse.com/bci/bci-micro" | `string` - 用于收集审计日志的镜像的位置。 |
| `auditLog.image.tag` | "15.4.14.3" | `string` - 用于收集审计日志的镜像的标签。 |
| `auditLog.image.pullPolicy` | "IfNotPresent" | `string` - 覆盖 auditLog 镜像的 imagePullPolicy - “Always”、“Never”、“IfNotPresent”。 |
| `busyboxImage` | "" | `string` - 用于收集审计日志的 busybox 镜像位置。_注意:此选项已弃用,请使用 `auditLog.image.repository` 来控制审计 sidecar 镜像_。 |
| `certmanager.version` | "" | `string` - 设置 cert-manager compatibility |
| `debug` | false | `bool` - 在 Rancher Server 设置 debug 参数 |
| `extraEnv` | [] | `list` - 为 Rancher 额外设置环境变量 |
| `imagePullSecrets` | [] | `list` - 私有镜像仓库凭证的密文名称列表 |
| `ingress.configurationSnippet` | "" | `string` - 添加额外的 Nginx 配置。可用于代理配置。 |
| `ingress.extraAnnotations` | {} | `map` - 用于自定义 Ingress 的额外注释 |
| `ingress.enabled` | true | 如果值为 falseHelm 不会安装 Rancher Ingress。你可把值设为 false 以部署你自己的 Ingress。 |
| `letsEncrypt.ingress.class` | "" | `string` - cert-manager acmesolver ingress 的可选 ingress 类,用于响应 Let's Encrypt ACME 质询。选项:traefiknginx。 | |
| `noProxy` | "127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local,cattle-system.svc" | `string` - 不使用代理的主机名或 IP 地址的逗号分隔列表 | |
| `proxy` | "" | `string` - 给 Rancher 配置的 HTTP[S] 代理 |
| `rancherImage` | "rancher/rancher" | `string` - Rancher 镜像源 |
| `rancherImagePullPolicy` | "IfNotPresent" | `string` - 覆盖 Rancher Server 镜像的 imagePullPolicy - "Always", "Never", "IfNotPresent" |
| `rancherImageTag` | 和 Chart 版本一致 | `string` - rancher/rancher 镜像标签 |
| `replicas` | 3 | `int` - Rancher Server 副本数。如果设为 -1,会根据集群中的可用节点数自动选择 1,2或3。 |
| `resources` | {} | `map` - Rancher Pod 资源请求和限制 |
| `restrictedAdmin` | `false` | `bool` - 如果值为 true,初始的 Rancher 用户访问本地 Kubernetes 集群会受到限制,以避免权限升级。详情请参见 [restricted-admin 角色](../../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions.md#受限管理员)。 |
| `systemDefaultRegistry` | "" | `string` - 用于所有系统容器镜像的私有仓库,例如 http://registry.example.com/ |
| `tls` | "ingress" | `string` - 详情请参见[外部 TLS 终止](#外部-tls-终止)。- "ingress, external" |
| `useBundledSystemChart` | `false` | `bool` - 选择 Rancher Server 打包的 system-charts。此参数用于离线环境安装。 |
| `global.cattle.psp.enabled` | `true` | `bool` - 使用 Rancher v2.7.2-v2.7.4 时,选择 `false` 以禁用 Kubernetes v1.25 及更高版本的 PSP。使用 Rancher v2.7.5 及更高版本时,Rancher 会尝试检测集群是否运行不支持 PSP 的 Kubernetes 版本,如果确定集群不支持 PSP,则将默认 PSP 的使用设置为 false。你仍然可以通过显式提供此值的 `true``false` 来手动覆盖此值。在支持 PSP 的集群中(例如使用 Kubernetes v1.24 或更低版本的集群),Rancher 仍将默认使用 PSP。 |
| 选项 | 默认值 | 描述 |
| ------------------------------ | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- |
| `additionalTrustedCAs` | false | `bool` - 请参见[额外的授信 CA](#额外的授信-ca) |
| `addLocal` | "true" | `string` - 让 Rancher 检测并导入 “local” Rancher Server 集群。_注意:此选项在 2.5.0 中已不可用。你可考虑使用 `restrictedAdmin` 选项,来避免用户修改本地集群。_ |
| `antiAffinity` | "preferred" | `string` - Rancher Pod 的反亲和性规则 - "preferred, required" |
| `auditLog.destination` | "sidecar" | `string` - 发送审计日志到 Sidecar 容器的控制台或 hostPath 卷 - "sidecar, hostPath" |
| `auditLog.hostPath` | "/var/log/rancher/audit" | `string` - 主机上的日志文件目标地址(仅当`auditLog.destination` 的值是 `hostPath` 时生效) |
| `auditLog.level` | 0 | `int` - 设置 [API 审计日志](../../../how-to-guides/advanced-user-guides/enable-api-audit-log.md)等级。0 代表关闭。[0-3] |
| `auditLog.maxAge` | 1 | `int` - 旧审计日志文件最多可保留的天数(仅当`auditLog.destination` 的值是 `hostPath` 时生效) |
| `auditLog.maxBackup` | 1 | `int` - 审计文件最大可保留的个数(仅当 `auditLog.destination` 的值是 `hostPath` 时生效) |
| `auditLog.maxSize` | 100 | `int` - 在审计日志被轮换前的最大容量,单位是 MB(仅当 `auditLog.destination` 的值是 `hostPath` 时生效) |
| `auditLog.image.repository` | "registry.suse.com/bci/bci-micro" | `string` - 用于收集审计日志的镜像的位置。 |
| `auditLog.image.tag` | "15.4.14.3" | `string` - 用于收集审计日志的镜像的标签。 |
| `auditLog.image.pullPolicy` | "IfNotPresent" | `string` - 覆盖 auditLog 镜像的 imagePullPolicy - “Always”、“Never”、“IfNotPresent”。 |
| `busyboxImage` | "" | `string` - 用于收集审计日志的 busybox 镜像位置。_注意:此选项已弃用,请使用 `auditLog.image.repository` 来控制审计 sidecar 镜像_。 |
| `certmanager.version` | "" | `string` - 设置 cert-manager compatibility |
| `debug` | false | `bool` - 在 Rancher Server 设置 debug 参数 |
| `extraEnv` | [] | `list` - 为 Rancher 额外设置环境变量 |
| `imagePullSecrets` | [] | `list` - 私有镜像仓库凭证的密文名称列表 |
| `ingress.configurationSnippet` | "" | `string` - 添加额外的 Nginx 配置。可用于代理配置。 |
| `ingress.extraAnnotations` | {} | `map` - 用于自定义 Ingress 的额外注释 |
| `ingress.enabled` | true | 如果值为 falseHelm 不会安装 Rancher Ingress。你可把值设为 false 以部署你自己的 Ingress。 |
| `letsEncrypt.ingress.class` | "" | `string` - cert-manager acmesolver ingress 的可选 ingress 类,用于响应 Let's Encrypt ACME 质询。选项:traefiknginx。 | |
| `noProxy` | "127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local,cattle-system.svc" | `string` - 不使用代理的主机名或 IP 地址的逗号分隔列表 | |
| `proxy` | "" | `string` - 给 Rancher 配置的 HTTP[S] 代理 |
| `rancherImage` | "rancher/rancher" | `string` - Rancher 镜像源 |
| `rancherImagePullPolicy` | "IfNotPresent" | `string` - 覆盖 Rancher Server 镜像的 imagePullPolicy - "Always", "Never", "IfNotPresent" |
| `rancherImageTag` | 和 Chart 版本一致 | `string` - rancher/rancher 镜像标签 |
| `replicas` | 3 | `int` - Rancher Server 副本数。如果设为 -1,会根据集群中的可用节点数自动选择 1,2 或 3。 |
| `resources` | {} | `map` - Rancher Pod 资源请求和限制 |
| `restrictedAdmin` | `false` | `bool` - 如果值为 true,初始的 Rancher 用户访问本地 Kubernetes 集群会受到限制,以避免权限升级。详情请参见 [restricted-admin 角色](../../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions.md#受限管理员)。 |
| `systemDefaultRegistry` | "" | `string` - 用于所有系统容器镜像的私有仓库,例如 http://registry.example.com/ |
| `tls` | "ingress" | `string` - 详情请参见[外部 TLS 终止](#外部-tls-终止)。- "ingress, external" |
| `useBundledSystemChart` | `false` | `bool` - 选择 Rancher Server 打包的 system-charts。此参数用于离线环境安装。 |
| `global.cattle.psp.enabled` | `true` | `bool` - 使用 Rancher v2.7.2-v2.7.4 时,选择 `false` 以禁用 Kubernetes v1.25 及更高版本的 PSP。使用 Rancher v2.7.5 及更高版本时,Rancher 会尝试检测集群是否运行不支持 PSP 的 Kubernetes 版本,如果确定集群不支持 PSP,则将默认 PSP 的使用设置为 false。你仍然可以通过显式提供此值的 `true``false` 来手动覆盖此值。在支持 PSP 的集群中(例如使用 Kubernetes v1.24 或更低版本的集群),Rancher 仍将默认使用 PSP。 |
### 引导密码
@@ -81,13 +92,13 @@ kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{
启用 [API 审计日志](../../../how-to-guides/advanced-user-guides/enable-api-audit-log.md)。
你可以像收集其他容器日志一样收集此日志。在 Rancher Server 集群上为 `System` 项目启用 [Logging](../../../pages-for-subheaders/logging.md)。
你可以像收集其他容器日志一样收集此日志。在 Rancher Server 集群上为 `System` 项目启用 [Logging](../../../integrations-in-rancher/logging/logging.md)。
```plain
--set auditLog.level=1
```
默认情况下,启用审计日志会在 Rancher pod 中创建一个 Sidecar 容器。这个容器(`rancher-audit-log`)会把日志流传输到 `stdout`。你可以像收集其他容器日志一样收集此日志。如果你使用 Sidecar 作为审计日志的目标时, `hostPath``maxAge``maxBackups``maxSize` 选项不会生效。建议使用你的操作系统或 Docker Daemon 的日志轮换功能来控制磁盘空间的使用。请为 Rancher Server 集群或 System 项目启用 [Logging](../../../pages-for-subheaders/logging.md)。
默认情况下,启用审计日志会在 Rancher pod 中创建一个 Sidecar 容器。这个容器(`rancher-audit-log`)会把日志流传输到 `stdout`。你可以像收集其他容器日志一样收集此日志。如果你使用 Sidecar 作为审计日志的目标时, `hostPath``maxAge``maxBackups``maxSize` 选项不会生效。建议使用你的操作系统或 Docker Daemon 的日志轮换功能来控制磁盘空间的使用。请为 Rancher Server 集群或 System 项目启用 [Logging](../../../integrations-in-rancher/logging/logging.md)。
`auditLog.destination` 的值设为 `hostPath`,可以将日志转发到与主机系统共享的卷,而不是传输到 Sidecar 容器。如果目标设置为 `hostPath`,你可能需要调整其他 auditLog 参数以进行日志轮换。
@@ -151,21 +162,23 @@ kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{
Rancher 的一些功能(Helm Chart)需要使用互联网才能使用。你可以使用 `proxy` 设置代理服务器,或使用 `extraEnv` 设置 `HTTPS_PROXY` 环境变量来指向代理服务器。
将要排除的 IP 使用逗号分隔列表添加到 `noProxy` Chart value 中。确保添加了以下值:
- Pod 集群 IP 范围(默认值:`10.42.0.0/16`)。
- Service Cluster IP 范围(默认值:`10.43.0.0/16`)。
- 内部集群域(默认值:`.svc,.cluster.local`)。
- 任何 Worker 集群 `controlplane` 节点。
Rancher 支持在此列表中使用 CIDR 表示法来表示范围。
Rancher 支持在此列表中使用 CIDR 表示法来表示范围。
不包括敏感数据时,可以使用 `proxy``extraEnv` Chart 选项。使用 `extraEnv` 时将忽略 `noProxy` Helm 选项。因此,`NO_PROXY` 环境变量也必须设置为 `extraEnv`
以下是使用 `extraEnv` Chart 选项设置代理的示例:
以下是使用 `proxy` Chart 选项设置代理的示例:
```plain
--set proxy="http://<proxy_url:proxy_port>/"
```
使用 `extraEnv` Chart 选项设置代理的示例:
```plain
--set extraEnv[1].name=HTTPS_PROXY
--set extraEnv[1].value="http://<proxy_url>:<proxy_port>/"
@@ -176,6 +189,7 @@ Rancher 的一些功能(Helm Chart)需要使用互联网才能使用。你
包含敏感数据(例如代理认证凭证)时,请使用 `extraEnv` 选项和 `valueFrom.secretRef` 来防止敏感数据在 Helm 或 Rancher 部署中暴露。
下面是使用 `extraEnv` 配置代理的示例。此示例 Secret 在 Secret 的 `"https-proxy-url"` 键中包含 `"http://<username>:<password>@<proxy_url>:<proxy_port>/"` 值:
```plain
--set extraEnv[1].name=HTTPS_PROXY
--set extraEnv[1].valueFrom.secretKeyRef.name=secret-name
@@ -202,7 +216,7 @@ kubectl -n cattle-system create secret generic tls-ca-additional --from-file=ca-
### 私有仓库和离线安装
有关使用私有仓库安装 Rancher 的详情,请参见[离线安装](../../../pages-for-subheaders/air-gapped-helm-cli-install.md)。
有关使用私有仓库安装 Rancher 的详情,请参见[离线安装](../other-installation-methods/air-gapped-helm-cli-install/air-gapped-helm-cli-install.md)。
## 外部 TLS 终止
@@ -226,7 +240,7 @@ kubectl -n cattle-system create secret generic tls-ca-additional --from-file=ca-
ingress:
provider: nginx
options:
use-forwarded-headers: 'true'
use-forwarded-headers: "true"
```
### 必须的 Header
@@ -0,0 +1,9 @@
---
title: 安装参考
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/installation-references"/>
</head>
有关其他安装资源,请参阅以下参考指南:[Rancher Helm Chart 选项](helm-chart-options.md)、[TLS 设置](tls-settings.md)和[功能开关](feature-flags.md)。
@@ -2,22 +2,26 @@
title: 安装 Docker
---
在使用 Helm 或 Docker 在 RKE 集群节点上安装 Rancher Server 前,你需要先安装 Docker。RKE2 和 K3s 集群不要求使用 Docker。
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/installation-requirements/install-docker"/>
</head>
在使用 Helm 在 RKE 集群节点上或使用 Docker 安装 Rancher Server 前,你需要在节点中先安装 Docker。RKE2 和 K3s 集群不要求使用 Docker。
Docker 有几个安装方法。一种方法是参见 [Docker 官方文档](https://docs.docker.com/install/)以了解如何在 Linux 上安装 Docker。不同 Linux 发行版的安装步骤可能有所不同。
另一种方式是使用 Rancher 的 Docker 安装脚本,该脚本可用于较新的 Docker 版本。
另一种方式是使用 Rancher 的 Docker 安装脚本,该脚本可用于较新的 Docker 版本。 Rancher 为每个 Kubernetes 支持的上游 Docker 版本提供了安装脚本。
例如,此命令可用于在 SUSE Linux Enterprise 或 Ubuntu 等主要 Linux 发行版上安装 Docker 20.10
例如,此命令可用于在 SUSE Linux Enterprise 或 Ubuntu 等主要 Linux 发行版上安装 Docker
```
curl https://releases.rancher.com/install-docker/20.10.sh | sh
```bash
curl https://releases.rancher.com/install-docker/<version-number>.sh | sh
```
Rancher 提供 Kubernetes 支持的所有上游 Docker 版本的安装脚本。如需了解我们是否提供某个 Docker 版本的安装脚本,请参见包含了 Rancher 所有的 Docker 安装脚本的 [GitHub 仓库](https://github.com/rancher/install-docker)
请参阅 [Rancher 支持矩阵](https://www.suse.com/suse-rancher/support-matrix),使用匹配你的操作系统和 Rancher 版本并且经过验证的 Docker 版本。 尽管支持矩阵列出了经过验证的 Docker 版本直至补丁版本,但只有发行版的主要版本和次要版本与 Docker 安装脚本相关
请注意,必须应用以下 sysctl 设置:
```
```bash
net.bridge.bridge-nf-call-iptables=1
```
@@ -0,0 +1,221 @@
---
title: 安装要求
description: 如果 Rancher 配置在 Docker 或 Kubernetes 中运行时,了解运行 Rancher Server 的每个节点的节点要求
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/installation-requirements"/>
</head>
本文描述了对需要安装 Rancher Server 的节点的软件、硬件和网络要求。Rancher Server 可以安装在单个节点或高可用的 Kubernetes 集群上。
:::note 重要提示:
如果你需要在 Kubernetes 集群上安装 Rancher,该节点的要求与用于运行应用和服务的[下游集群的节点要求](../../../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/node-requirements-for-rancher-managed-clusters.md)不同。
:::
Rancher UI 在基于 Firefox 或 Chromium 的浏览器(Chrome、Edge、Opera、Brave)中效果最佳。
查看我们的[最佳实践](../../../reference-guides/best-practices/rancher-server/tips-for-running-rancher.md)页面,获取在生产环境中运行 Rancher Server 的建议。
## Kubernetes 与 Rancher 的兼容性
Rancher 需要安装在支持的 Kubernetes 版本上。请查阅 [Rancher 支持矩阵](https://www.suse.com/suse-rancher/support-matrix/all-supported-versions),确保你的 Kubernetes 版本受支持。
### 在加固的 Kubernetes 集群上安装 Rancher
如果在加固的 Kubernetes 集群上安装 Rancher,请参阅[豁免必须的 Rancher 命名空间](../../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/psa-config-templates.md#豁免必须的-rancher-命名空间)部分了解更详细的要求。
## 操作系统和容器运行时要求
所有支持的操作系统都使用 64-bit x86 架构。Rancher 兼容当前所有的主流 Linux 发行版。
[Rancher 支持矩阵](https://www.suse.com/suse-rancher/support-matrix/all-supported-versions)列出了每个 Rancher 版本测试过的操作系统和 Docker 版本。
运行 RKE 集群的节点需要安装 Docker。RKE2 或 K3s 集群不需要它。
请安装 `ntp`Network Time Protocol),以防止在客户端和服务器之间由于时间不同步造成的证书验证错误。
某些 Linux 发行版的默认防火墙规则可能会阻止 Kubernetes 集群内的通信。从 Kubernetes v1.19 开始,你必须关闭 firewalld,因为它与 Kubernetes 网络插件冲突。
如果你不太想这样做的话,你可以查看[相关问题](https://github.com/rancher/rancher/issues/28840)中的建议。某些用户已能成功[使用 ACCEPT 策略 为 Pod CIDR 创建一个独立的 firewalld 区域](https://github.com/rancher/rancher/issues/28840#issuecomment-787404822)。
如果你需要在 ARM64 上使用 Rancher,请参见[在 ARM64(实验功能)上运行 Rancher](../../../how-to-guides/advanced-user-guides/enable-experimental-features/rancher-on-arm64.md)。
### RKE2 要求
对于容器运行时,RKE2 附带了自己的 containerd。RKE2 安装不需要 Docker。
如需了解 RKE2 通过了哪些操作系统版本的测试,请参见 [Rancher 支持矩阵](https://www.suse.com/suse-rancher/support-matrix/all-supported-versions)。
### K3s 要求
对于容器运行时,K3s 默认附带了自己的 containerd。你也可以将 K3s 配置为使用已安装的 Docker 运行时。有关在 Docker 中使用 K3s 的更多信息,请参阅 [K3s 文档](https://docs.k3s.io/advanced#using-docker-as-the-container-runtime)。
Rancher 需要安装在支持的 Kubernetes 版本上。如需了解你使用的 Rancher 版本支持哪些 Kubernetes 版本,请参见 [Rancher 支持矩阵](https://www.suse.com/suse-rancher/support-matrix/all-supported-versions)。如需指定 K3s 版本,在运行 K3s 安装脚本时,使用 `INSTALL_K3S_VERSION` 环境变量。
如果你使用 **Raspbian Buster** 在 K3s 集群上安装 Rancher,请按照[这些步骤](https://rancher.com/docs/k3s/latest/en/advanced/#enabling-legacy-iptables-on-raspbian-buster)切换到旧版 iptables。
如果你使用 Alpine Linux 的 K3s 集群上安装 Rancher,请按照[这些步骤](https://rancher.com/docs/k3s/latest/en/advanced/#additional-preparation-for-alpine-linux-setup)进行其他设置。
### RKE 要求
RKE 需要 Docker 容器运行时。支持的 Docker 版本请参见 [Rancher 支持矩阵](https://www.suse.com/suse-rancher/support-matrix/all-supported-versions)
有关详细信息,请参阅[安装 Docker](install-docker.md)。
## 硬件要求
本节描述安装 Rancher Server 的节点的 CPU、内存和磁盘要求。硬件要求根据你的 Rancher 部署规模而定。
### 实际考虑
Rancher 的硬件占用空间取决于许多因素,包括:
- 托管的基础设施规模 (例如: 节点数量,集群数量)。
- 所需访问控制规则的复杂性(例如:RoleBinding 对象计数)。
- 工作负载数量 (例如: Kubernetes 部署,Fleet 部署)。
- 使用模式 (例如:主动使用的功能集合,使用频率,并发用户数量).
由于存在许多可能随时间变化的影响因素,因此此处列出的要求为适合大多数用例的起点。 然而,你的用例可能有不同的要求。 若你需要对于特定场景的咨询,请[联系 Rancher](<(https://rancher.com/contact/)>) 以获得进一步指导。
特别指出,本页面中的要求基于以下假设的环境提出,包括:
- 每种类型的 Kubernetes 资源数量小于 60,000 个。
- 每个节点最多 120 个 Pod。
- 上游(本地)集群中最多 200 个 CRD。
- 下游集群中最多 100 个 CRD。
- 最多 50 个 Fleet 部署。
更多的数量也是能够达到的,但需要更高的硬件要求。 如果你有超过 20,000 个相同类型的资源,通过 Rancher UI 加载整个列表的时间可能需要几秒钟。
:::note Evolution:
Rancher 的代码库不断发展,用例不断变化,Rancher 积累的经验也在不断增长。
随着指导方针的准确性不断的提高并且变得更加具体,硬件要求也会发生变化。
如果你发现你的 Rancher 部署不再符合列出的建议,请[联系 Rancher](https://rancher.com/contact/) 进行重新评估。
:::
### RKE2 Kubernetes
下面的表格列出了[上游集群](../install-upgrade-on-a-kubernetes-cluster/install-upgrade-on-a-kubernetes-cluster.md)中每个节点最小的 CPU 和内存要求。
请注意,生产环境下的高可用安装最少需要 3 个节点。
| 部署规模 | 最大集群数量 | 最大节点数量 | vCPUs | 内存 |
| -------- | ------------ | ------------ | ----- | ----- |
| 小 | 150 | 1500 | 4 | 16 GB |
| 中 | 300 | 3000 | 8 | 32 GB |
| 大 (\*) | 500 | 5000 | 16 | 64 GB |
| 更大 (†) | (†) | (†) | (†) | (†) |
(\*) 大规模的部署需要你[遵循最佳实践](../../../reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md)以获得足够的性能。
(†): 通过特别的硬件建议和调整能够实现更大的部署规模。 你可以[联系 Rancher](https://rancher.com/contact/) 进行定制评估。
有关 RKE2 一般要求的更多详细信息,请参见 [RKE2 文档](https://docs.rke2.io/install/requirements)。
### K3s Kubernetes
下面的表格列出了[上游集群](../install-upgrade-on-a-kubernetes-cluster/install-upgrade-on-a-kubernetes-cluster.md)中每个节点最小的 CPU 和内存要求。
请注意,生产环境下的高可用安装最少需要 3 个节点。
| 部署规模 | 最大集群数量 | 最大节点数量 | vCPUs | 内存 | 外部数据库(\*) |
| --------- | ------------ | ------------ | ----- | ----- | -------------------------- |
| Small | 150 | 1500 | 4 | 16 GB | 2 vCPUs, 8 GB + 1000 IOPS |
| Medium | 300 | 3000 | 8 | 32 GB | 4 vCPUs, 16 GB + 2000 IOPS |
| Large (†) | 500 | 5000 | 16 | 64 GB | 8 vCPUs, 32 GB + 4000 IOPS |
(\*):外部数据库是指将 K3s 集群数据存储在[专用的外部主机](https://docs.k3s.io/datastore)上。 这是可选的。 具体要求取决于使用的外部数据库。
(†):大规模的部署需要你[遵循最佳实践](../../../reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md)以获得足够的性能。
有关 K3s 一般要求的更多详细信息,请参见 [K3s 文档](https://docs.k3s.io/installation/requirements)。
### 托管 Kubernetes
下面的表格列出了[上游集群](../install-upgrade-on-a-kubernetes-cluster/install-upgrade-on-a-kubernetes-cluster.md)中每个节点最小的 CPU 和内存要求。
请注意,生产环境下的高可用安装最少需要 3 个节点。
这些要求适用于托管 Kubernetes 集群,例如 Amazon Elastic Kubernetes Service (EKS)、Azure Kubernetes Service (AKS) 或 Google Kubernetes Engine (GKE)。 它们不适用于 Rancher SaaS 解决方案,例如 [Rancher Prime Hosted](https://www.rancher.com/products/rancher)。
| 部署规模 | 最大集群数量 | 最大节点数量 | vCPUs | 内存 |
| -------- | ------------ | ------------ | ----- | ----- |
| 小 | 150 | 1500 | 4 | 16 GB |
| 中 | 300 | 3000 | 8 | 32 GB |
| 大 (\*) | 500 | 5000 | 16 | 64 GB |
(\*):大规模的部署需要你[遵循最佳实践](../../../reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md)以获得足够的性能。
### RKE
下面的表格列出了[上游集群](../install-upgrade-on-a-kubernetes-cluster/install-upgrade-on-a-kubernetes-cluster.md)中每个节点最小的 CPU 和内存要求。
请注意,生产环境下的高可用安装最少需要 3 个节点。
| 部署规模 | 最大集群数量 | 最大节点数量 | vCPUs | 内存 |
| -------- | ------------ | ------------ | ----- | ----- |
| 小 | 150 | 1500 | 4 | 16 GB |
| 中 | 300 | 3000 | 8 | 32 GB |
| 大 (\*) | 500 | 5000 | 16 | 64 GB |
(\*) 大规模的部署需要你[遵循最佳实践](../../../reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md)以获得足够的性能。
有关 RKE 一般要求的更多详细信息,请参见 [RKE 文档](https://rke.docs.rancher.com/os)。
### Docker
下面的表格列出了[上游集群](../install-upgrade-on-a-kubernetes-cluster/install-upgrade-on-a-kubernetes-cluster.md)中每个节点最小的 CPU 和内存要求。
请注意,在 Docker 中安装 Rancher 仅适用于开发或测试目的。不建议在生产环境中使用。
| 部署规模 | 最大集群数量 | 最大节点数量 | vCPUs | 内存 |
| -------- | ------------ | ------------ | ----- | ---- |
| 小 | 5 | 50 | 1 | 4 GB |
| 中 | 15 | 200 | 2 | 8 GB |
## Ingress
安装 Rancher 的 Kubernetes 集群中的每个节点都应该运行一个 Ingress。
Ingress 需要部署为 DaemonSet 以确保负载均衡器能成功把流量转发到各个节点。
如果是 RKE,RKE2 和 K3s 安装,你不需要手动安装 Ingress,因为它是默认安装的。
对于托管的 Kubernetes 集群(EKS、GKE、AKS),你需要设置 Ingress。
- **Amazon EKS**[在 Amazon EKS 上安装 Rancher 以及如何安装 Ingress 以访问 Rancher Server](../install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md)。
- **AKS**[使用 Azure Kubernetes 服务安装 Rancher 以及如何安装 Ingress 以访问 Rancher Server](../install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md)。
- **GKE**[使用 GKE 安装 Rancher 以及如何安装 Ingress 以访问 Rancher Server](../install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md)。
## 磁盘
etcd 在集群中的性能决定了 Rancher 的性能。因此,为了获得最佳速度,我们建议使用 SSD 磁盘来支持 Rancher 管理的 Kubernetes 集群。在云提供商上,你还需使用能获得最大 IOPS 的最小大小。在较大的集群中,请考虑使用专用存储设备存储 etcd 数据和 wal 目录。
## 网络要求
本节描述了安装 Rancher Server 的节点的网络要求。
:::caution
如果包含 Rancher 的服务器带有 `X-Frame-Options=DENY` 标头,在升级旧版 UI 之后,Rancher UI 中的某些页面可能无法渲染。这是因为某些旧版页面在新 UI 中是以 iFrames 模式嵌入的。
:::
### 节点 IP 地址
无论你是在单个节点还是高可用集群上安装 Rancher,每个节点都应配置一个静态 IP。如果使用 DHCP,则每个节点都应该有一个 DHCP 预留,以确保节点分配到相同的 IP 地址。
### 端口要求
为了确保能正常运行,Rancher 需要在 Rancher 节点和下游 Kubernetes 集群节点上开放一些端口。不同集群类型的 Rancher 和下游集群的所有必要端口,请参见[端口要求](port-requirements.md)。
## Dockershim 支持
有关 Dockershim 支持的详情,请参见[此页面](dockershim.md)。
@@ -3,6 +3,10 @@ title: 端口要求
description: 了解 Rancher 正常运行所需的端口要求,包括 Rancher 节点和下游 Kubernetes 集群节点
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/installation-requirements/port-requirements"/>
</head>
import PortsIaasNodes from '@site/src/components/PortsIaasNodes'
import PortsCustomNodes from '@site/src/components/PortsCustomNodes'
import PortsImportedHosted from '@site/src/components/PortsImportedHosted'
@@ -47,22 +51,22 @@ K3s server 需要开放端口 6443 才能供节点访问。
<figcaption>Rancher Server 节点的入站规则</figcaption>
| 协议 | 端口 | 源 | 描述 |
|-----|-----|----------------|---|
| TCP | 80 | 执行外部 SSL 终止的负载均衡器/代理 | 使用外部 SSL 终止时的 Rancher UI/API |
| TCP | 443 | <ul><li>Server 节点</li><li>Agent 节点</li><li>托管/注册的 Kubernetes</li><li>任何需要使用 Rancher UI 或 API 的源</li></ul> | Rancher AgentRancher UI/APIkubectl |
| TCP | 6443 | K3s Server 节点 | Kubernetes API |
| UDP | 8472 | K3s Server 和 Agent 节点 | 仅 Flannel VXLAN 需要 |
| TCP | 10250 | K3s Server 和 Agent 节点 | kubelet |
| 协议 | 端口 | 源 | 描述 |
| ---- | ----- | --------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |
| TCP | 80 | 执行外部 SSL 终止的负载均衡器/代理 | 使用外部 SSL 终止时的 Rancher UI/API |
| TCP | 443 | <ul><li>Server 节点</li><li>Agent 节点</li><li>托管/注册的 Kubernetes</li><li>任何需要使用 Rancher UI 或 API 的源</li></ul> | Rancher AgentRancher UI/APIkubectl |
| TCP | 6443 | K3s Server 节点 | Kubernetes API |
| UDP | 8472 | K3s Server 和 Agent 节点 | 仅 Flannel VXLAN 需要 |
| TCP | 10250 | K3s Server 和 Agent 节点 | kubelet |
<figcaption>Rancher 节点的出站规则</figcaption>
| 协议 | 端口 | 目标 | 描述 |
| -------- | ---- | -------------------------------------------------------- | --------------------------------------------- |
| TCP | 22 | 使用 Node Driver 创建的节点的任何节点 IP | 使用 Node Driver SSH 配置节点 |
| TCP | 443 | git.rancher.io | Rancher catalog |
| TCP | 2376 | 使用 Node Driver 创建的节点的任何节点 IP | Docker Machine 使用的 Docker daemon TLS 端口 |
| TCP | 6443 | 托管/导入的 Kubernetes API | Kubernetes API Server |
| 协议 | 端口 | 目标 | 描述 |
| ---- | ---- | ---------------------------------------- | -------------------------------------------- |
| TCP | 22 | 使用 Node Driver 创建的节点的任何节点 IP | 使用 Node Driver SSH 配置节点 |
| TCP | 443 | git.rancher.io | Rancher catalog |
| TCP | 2376 | 使用 Node Driver 创建的节点的任何节点 IP | Docker Machine 使用的 Docker daemon TLS 端口 |
| TCP | 6443 | 托管/导入的 Kubernetes API | Kubernetes API Server |
</details>
@@ -73,44 +77,42 @@ K3s server 需要开放端口 6443 才能供节点访问。
通常情况下,Rancher 安装在三个 RKE 节点上,这些节点都有 etcd、controlplane 和 worker 角色。
下表描述了 Rancher 节点之间流量的端口要求:
<figcaption>Rancher 节点的流量规则</figcaption>
| 协议 | 端口 | 描述 |
|-----|-----|----------------|
| TCP | 443 | Rancher Agents |
| TCP | 2379 | etcd 客户端请求 |
| TCP | 2380 | etcd 对等通信 |
| TCP | 6443 | Kubernetes apiserver |
| TCP | 8443 | NGINX Ingress 的验证 Webhook |
| UDP | 8472 | Canal/Flannel VXLAN 覆盖网络 |
| TCP | 9099 | Canal/Flannel livenessProbe/readinessProbe |
| TCP | 10250 | Metrics Server 与所有节点的通信 |
| TCP | 10254 | Ingress controller livenessProbe/readinessProbe |
| 协议 | 端口 | 描述 |
| ---- | ----- | ----------------------------------------------- |
| TCP | 443 | Rancher Agents |
| TCP | 2379 | etcd 客户端请求 |
| TCP | 2380 | etcd 对等通信 |
| TCP | 6443 | Kubernetes apiserver |
| TCP | 8443 | NGINX Ingress 的验证 Webhook |
| UDP | 8472 | Canal/Flannel VXLAN 覆盖网络 |
| TCP | 9099 | Canal/Flannel livenessProbe/readinessProbe |
| TCP | 10250 | Metrics Server 与所有节点的通信 |
| TCP | 10254 | Ingress controller livenessProbe/readinessProbe |
下表描述了入站和出站流量的端口要求:
<figcaption>Rancher 节点的入站规则</figcaption>
| 协议 | 端口 | 源 | 描述 |
|-----|-----|----------------|---|
| TCP | 22 | RKE CLI | RKE 通过 SSH 配置节点 |
| TCP | 80 | 负载均衡器/反向代理 | 到 Rancher UI/API 的 HTTP 流量 |
| TCP | 443 | <ul><li>负载均衡器/反向代理</li><li>所有集群节点和其他 API/UI 客户端的 IP</li></ul> | 到 Rancher UI/API 的 HTTPS 流量 |
| TCP | 6443 | Kubernetes API 客户端 | 到 Kubernetes API 的 HTTPS 流量 |
| 协议 | 端口 | 源 | 描述 |
| ---- | ---- | ----------------------------------------------------------------------------------- | ------------------------------- |
| TCP | 22 | RKE CLI | RKE 通过 SSH 配置节点 |
| TCP | 80 | 负载均衡器/反向代理 | 到 Rancher UI/API 的 HTTP 流量 |
| TCP | 443 | <ul><li>负载均衡器/反向代理</li><li>所有集群节点和其他 API/UI 客户端的 IP</li></ul> | 到 Rancher UI/API 的 HTTPS 流量 |
| TCP | 6443 | Kubernetes API 客户端 | 到 Kubernetes API 的 HTTPS 流量 |
<figcaption>Rancher 节点的出站规则</figcaption>
| 协议 | 端口 | 目标 | 描述 |
|-----|-----|----------------|---|
| TCP | 443 | git.rancher.io | Rancher catalog |
| TCP | 22 | 使用 Node Driver 创建的任何节点 | Node Driver 通过 SSH 配置节点 |
| TCP | 2376 | 使用 Node Driver 创建的任何节点 | Node Driver 使用的 Docker daemon TLS 端口 |
| TCP | 6443 | 托管/导入的 Kubernetes API | Kubernetes API Server |
| TCP | 提供商依赖 | 托管集群中 Kubernetes API 端点的端口 | Kubernetes API |
| 协议 | 端口 | 目标 | 描述 |
| ---- | ---------- | ------------------------------------ | ----------------------------------------- |
| TCP | 443 | git.rancher.io | Rancher catalog |
| TCP | 22 | 使用 Node Driver 创建的任何节点 | Node Driver 通过 SSH 配置节点 |
| TCP | 2376 | 使用 Node Driver 创建的任何节点 | Node Driver 使用的 Docker daemon TLS 端口 |
| TCP | 6443 | 托管/导入的 Kubernetes API | Kubernetes API Server |
| TCP | 提供商依赖 | 托管集群中 Kubernetes API 端点的端口 | Kubernetes API |
</details>
@@ -133,20 +135,21 @@ RKE2 server 需要开放端口 6443 和 9345 才能供集群中的其他节点
<figcaption>RKE2 Server 节点的入站规则</figcaption>
| 协议 | 端口 | 源 | 描述 |
|-----|-----|----------------|---|
| TCP | 9345 | RKE2 Server 和 Agent 节点 | 节点注册。需要在所有 Server 节点上将端口开放给集群中的所有其他节点。 |
| TCP | 6443 | RKE2 Agent 节点 | Kubernetes API |
| UDP | 8472 | RKE2 Server 和 Agent 节点 | 仅 Flannel VXLAN 需要 |
| TCP | 10250 | RKE2 Server 和 Agent 节点 | kubelet |
| TCP | 2379 | RKE2 Server 节点 | etcd 客户端端口 |
| TCP | 2380 | RKE2 Server 节点 | etcd 对等端口 |
| TCP | 30000-32767 | RKE2 Server 和 Agent 节点 | NodePort 端口范围。可以使用 TCP 或 UDP。 |
| TCP | 5473 | Calico-node pod 连接到 typha pod | 使用 Calico 部署时需要 |
| HTTP | 80 | 执行外部 SSL 终止的负载均衡器/代理 | 使用外部 SSL 终止时的 Rancher UI/API |
| HTTPS | 443 | <ul><li>托管/注册的 Kubernetes</li><li>任何需要使用 Rancher UI 或 API 的源</li></ul> | Rancher AgentRancher UI/APIkubectl。如果负载均衡器执行 TLS 终止,则不需要。 |
| 协议 | 端口 | 源 | 描述 |
| ----- | ----------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- |
| TCP | 9345 | RKE2 Server 和 Agent 节点 | 节点注册。需要在所有 Server 节点上将端口开放给集群中的所有其他节点。 |
| TCP | 6443 | RKE2 Agent 节点 | Kubernetes API |
| UDP | 8472 | RKE2 Server 和 Agent 节点 | 仅 Flannel VXLAN 需要 |
| TCP | 10250 | RKE2 Server 和 Agent 节点 | kubelet |
| TCP | 2379 | RKE2 Server 节点 | etcd 客户端端口 |
| TCP | 2380 | RKE2 Server 节点 | etcd 对等端口 |
| TCP | 30000-32767 | RKE2 Server 和 Agent 节点 | NodePort 端口范围。可以使用 TCP 或 UDP。 |
| TCP | 5473 | Calico-node pod 连接到 typha pod | 使用 Calico 部署时需要 |
| HTTP | 80 | 执行外部 SSL 终止的负载均衡器/代理 | 使用外部 SSL 终止时的 Rancher UI/API |
| HTTPS | 443 | <ul><li>托管/注册的 Kubernetes</li><li>任何需要使用 Rancher UI 或 API 的源</li></ul> | Rancher AgentRancher UI/APIkubectl。如果负载均衡器执行 TLS 终止,则不需要。 |
所有出站流量通常都是允许的。
</details>
### Docker 安装的 Rancher Server 的端口
@@ -158,19 +161,19 @@ RKE2 server 需要开放端口 6443 和 9345 才能供集群中的其他节点
<figcaption>Rancher 节点的入站规则</figcaption>
| 协议 | 端口 | 源 | 描述 |
|-----|-----|----------------|---|
| TCP | 80 | 执行外部 SSL 终止的负载均衡器/代理 | 使用外部 SSL 终止时的 Rancher UI/API |
| TCP | 443 | <ul><li>托管/注册的 Kubernetes</li><li>任何需要使用 Rancher UI 或 API 的源</li></ul> | Rancher AgentRancher UI/APIkubectl |
| 协议 | 端口 | 源 | 描述 |
| ---- | ---- | ------------------------------------------------------------------------------------ | -------------------------------------- |
| TCP | 80 | 执行外部 SSL 终止的负载均衡器/代理 | 使用外部 SSL 终止时的 Rancher UI/API |
| TCP | 443 | <ul><li>托管/注册的 Kubernetes</li><li>任何需要使用 Rancher UI 或 API 的源</li></ul> | Rancher AgentRancher UI/APIkubectl |
<figcaption>Rancher 节点的出站规则</figcaption>
| 协议 | 端口 | 源 | 描述 |
|-----|-----|----------------|---|
| TCP | 22 | 使用 Node Driver 创建的节点的任何节点 IP | 使用 Node Driver SSH 配置节点 |
| TCP | 443 | git.rancher.io | Rancher catalog |
| TCP | 2376 | 使用 Node Driver 创建的节点的任何节点 IP | Docker Machine 使用的 Docker daemon TLS 端口 |
| TCP | 6443 | 托管/导入的 Kubernetes API | Kubernetes API Server |
| 协议 | 端口 | 源 | 描述 |
| ---- | ---- | ---------------------------------------- | -------------------------------------------- |
| TCP | 22 | 使用 Node Driver 创建的节点的任何节点 IP | 使用 Node Driver SSH 配置节点 |
| TCP | 443 | git.rancher.io | Rancher catalog |
| TCP | 2376 | 使用 Node Driver 创建的节点的任何节点 IP | Docker Machine 使用的 Docker daemon TLS 端口 |
| TCP | 6443 | 托管/导入的 Kubernetes API | Kubernetes API Server |
</details>
@@ -178,9 +181,9 @@ RKE2 server 需要开放端口 6443 和 9345 才能供集群中的其他节点
下游 Kubernetes 集群用于运行你的应用和服务。本节介绍了哪些端口需要在下游集群的节点上打开,以便 Rancher 能够与它们进行通信。
不同的下游集群的启动方式有不同的端口要求。下面的每个标签都列出了不同[集群类型](../../../pages-for-subheaders/kubernetes-clusters-in-rancher-setup.md)所需打开的端口。
不同的下游集群的启动方式有不同的端口要求。下面的每个标签都列出了不同[集群类型](../../../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/kubernetes-clusters-in-rancher-setup.md)所需打开的端口。
下图描述了为每个[集群类型](../../../pages-for-subheaders/kubernetes-clusters-in-rancher-setup.md)打开的端口。
下图描述了为每个[集群类型](../../../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/kubernetes-clusters-in-rancher-setup.md)打开的端口。
<figcaption>Rancher 管理面板的端口要求</figcaption>
@@ -196,13 +199,12 @@ RKE2 server 需要开放端口 6443 和 9345 才能供集群中的其他节点
有关 Harvester 端口要求的更多信息,请参阅[此处](../../../integrations-in-rancher/harvester.md#端口要求)。
### Rancher 使用节点池启动 Kubernetes 集群的端口
<details>
<summary>单击展开</summary>
下表描述了节点在[云提供商](../../../pages-for-subheaders/use-new-nodes-in-an-infra-provider.md)中创建的情况下,[Rancher 启动 Kubernetes](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md) 的端口要求。
下表描述了节点在[云提供商](../../../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/use-new-nodes-in-an-infra-provider.md)中创建的情况下,[Rancher 启动 Kubernetes](../../../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/launch-kubernetes-with-rancher.md) 的端口要求。
:::note
@@ -219,7 +221,7 @@ RKE2 server 需要开放端口 6443 和 9345 才能供集群中的其他节点
<details>
<summary>单击展开</summary>
下表描述了使用[自定义节点](../../../pages-for-subheaders/use-existing-nodes.md)的情况下,[Rancher 启动 Kubernetes](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md) 的端口要求。
下表描述了使用[自定义节点](../../../reference-guides/cluster-configuration/rancher-server-configuration/use-existing-nodes/use-existing-nodes.md)的情况下,[Rancher 启动 Kubernetes](../../../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/launch-kubernetes-with-rancher.md) 的端口要求。
<PortsCustomNodes/>
@@ -230,7 +232,7 @@ RKE2 server 需要开放端口 6443 和 9345 才能供集群中的其他节点
<details>
<summary>单击展开</summary>
下表描述了[托管集群](../../../pages-for-subheaders/set-up-clusters-from-hosted-kubernetes-providers.md)的端口要求。
下表描述了[托管集群](../../../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-clusters-from-hosted-kubernetes-providers/set-up-clusters-from-hosted-kubernetes-providers.md)的端口要求。
<PortsImportedHosted/>
@@ -253,18 +255,17 @@ RKE2 server 需要开放端口 6443 和 9345 才能供集群中的其他节点
</details>
## 其他端口注意事项
### 常用端口
无论集群是什么类型,常用端口通常在你的 Kubernetes 节点上打开。
import CommonPortsTable from '../../../shared-files/_common-ports-table.md';
import CommonPortsTable from '../../../shared-files/\_common-ports-table.md';
<CommonPortsTable />
----
---
### 本地节点流量
@@ -282,21 +283,21 @@ import CommonPortsTable from '../../../shared-files/_common-ports-table.md';
当你使用 [AWS EC2 Node Driver](../../../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/create-an-amazon-ec2-cluster.md) 在 Rancher 中配置集群节点时,你可以让 Rancher 创建一个名为 `rancher-nodes` 的安全组。以下规则会自动添加到该安全组中。
| 类型 | 协议 | 端口范围 | 源/目标 | 规则类型 |
|-----------------|:--------:|:-----------:|------------------------|:---------:|
| SSH | TCP | 22 | 0.0.0.0/0 | 入站 |
| HTTP | TCP | 80 | 0.0.0.0/0 | 入站 |
| 自定义 TCP 规则 | TCP | 443 | 0.0.0.0/0 | 入站 |
| 自定义 TCP 规则 | TCP | 2376 | 0.0.0.0/0 | 入站 |
| 自定义 TCP 规则 | TCP | 2379-2380 | sg-xxx (rancher-nodes) | 入站 |
| 自定义 UDP 规则 | UDP | 4789 | sg-xxx (rancher-nodes) | 入站 |
| 自定义 TCP 规则 | TCP | 6443 | 0.0.0.0/0 | 入站 |
| 自定义 UDP 规则 | UDP | 8472 | sg-xxx (rancher-nodes) | 入站 |
| 自定义 TCP 规则 | TCP | 10250-10252 | sg-xxx (rancher-nodes) | 入站 |
| 自定义 TCP 规则 | TCP | 10256 | sg-xxx (rancher-nodes) | 入站 |
| 自定义 TCP 规则 | TCP | 30000-32767 | 0.0.0.0/0 | 入站 |
| 自定义 UDP 规则 | UDP | 30000-32767 | 0.0.0.0/0 | 入站 |
| 所有流量 | 全部 | 全部 | 0.0.0.0/0 | 出站 |
| 类型 | 协议 | 端口范围 | 源/目标 | 规则类型 |
| --------------- | :--: | :---------: | ---------------------- | :------: |
| SSH | TCP | 22 | 0.0.0.0/0 | 入站 |
| HTTP | TCP | 80 | 0.0.0.0/0 | 入站 |
| 自定义 TCP 规则 | TCP | 443 | 0.0.0.0/0 | 入站 |
| 自定义 TCP 规则 | TCP | 2376 | 0.0.0.0/0 | 入站 |
| 自定义 TCP 规则 | TCP | 2379-2380 | sg-xxx (rancher-nodes) | 入站 |
| 自定义 UDP 规则 | UDP | 4789 | sg-xxx (rancher-nodes) | 入站 |
| 自定义 TCP 规则 | TCP | 6443 | 0.0.0.0/0 | 入站 |
| 自定义 UDP 规则 | UDP | 8472 | sg-xxx (rancher-nodes) | 入站 |
| 自定义 TCP 规则 | TCP | 10250-10252 | sg-xxx (rancher-nodes) | 入站 |
| 自定义 TCP 规则 | TCP | 10256 | sg-xxx (rancher-nodes) | 入站 |
| 自定义 TCP 规则 | TCP | 30000-32767 | 0.0.0.0/0 | 入站 |
| 自定义 UDP 规则 | UDP | 30000-32767 | 0.0.0.0/0 | 入站 |
| 所有流量 | 全部 | 全部 | 0.0.0.0/0 | 出站 |
### 打开 SUSE Linux 端口
@@ -307,12 +308,14 @@ SUSE Linux 可能有一个防火墙,默认情况下会阻止所有端口。要
1. SSH 进入实例。
1. 以文本模式启动 YaST
```
sudo yast2
```
1. 导航到**安全和用户** > **防火墙** > **区域:公共** > **端口**。要在界面内导航,请参照[说明](https://doc.opensuse.org/documentation/leap/reference/html/book-reference/cha-yast-text.html#sec-yast-cli-navigate)。
1. 要打开所需的端口,把它们输入到 **TCP 端口** 和 **UDP 端口** 字段。在这个例子中,端口 9796 和 10250 也被打开,用于监控。由此产生的字段应类似于以下内容:
```yaml
TCP Ports
22, 80, 443, 2376, 2379, 2380, 6443, 9099, 9796, 10250, 10254, 30000-32767
@@ -0,0 +1,36 @@
---
title: 离线 Helm CLI 安装
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/other-installation-methods/air-gapped-helm-cli-install"/>
</head>
本文介绍如何使用 Helm CLI 在离线环境中安装 Rancher Server。离线环境可以是 Rancher Server 离线安装、防火墙后面或代理后面。
Rancher 安装在 RKE Kubernetes 集群、K3s Kubernetes 集群,或单个 Docker 容器上对应的安装步骤会有所不同。
如需了解各个安装方式的更多信息,请参见[本页](../../installation-and-upgrade.md)。
在安装指导中,我们为不同的安装选项提供对应的 _选项卡_
:::note 重要提示:
如果你按照 Docker 安装指南安装 Rancher,你将没有把 Docker 安装转换为 Kubernetes 安装的升级途径。
:::
## 安装概要
1. [设置基础设施和私有镜像仓库](infrastructure-private-registry.md)
2. [收集镜像到私有镜像仓库](publish-images.md)
3. [设置 Kubernetes 集群(如果你使用 Docker 安装,请跳过此步骤)](install-kubernetes.md)
4. [安装 Rancher](install-rancher-ha.md)
## 升级
如需在离线环境中使用 Helm CLI 升级 Rancher,请按照[升级步骤](../../install-upgrade-on-a-kubernetes-cluster/upgrades.md)进行操作。
### 后续操作
[准备节点](infrastructure-private-registry.md)
@@ -1,12 +1,16 @@
---
title: '1. 设置基础设施和私有镜像仓库'
title: "1. 设置基础设施和私有镜像仓库"
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/other-installation-methods/air-gapped-helm-cli-install/infrastructure-private-registry"/>
</head>
本文介绍如何在离线环境中,为 Rancher Management server 配置底层基础设施。你还将设置 Rancher 节点中必须可用的私有容器镜像仓库。
离线环境是 Rancher Server 离线安装或安装在防火墙后面的环境。
Rancher 安装在 K3s Kubernetes 集群、RKE Kubernetes 集群还是单个 Docker 容器上对应的基础设施设置会有所不同。如需了解各个安装方式的更多信息,请参见[本页](../../../../pages-for-subheaders/installation-and-upgrade.md)。
Rancher 安装在 K3s Kubernetes 集群、RKE Kubernetes 集群还是单个 Docker 容器上对应的基础设施设置会有所不同。如需了解各个安装方式的更多信息,请参见[本页](../../installation-and-upgrade.md)。
Rancher 可以安装在任何 Kubernetes 集群上。为了阅读方便,我们在下文中仍提供了 RKE 和 K3s Kubernetes 基础设施教程。
@@ -25,7 +29,7 @@ Rancher 可以安装在任何 Kubernetes 集群上。为了阅读方便,我们
这些主机会断开互联网链接,但需要能与你的私有镜像仓库连接。
请确保你的节点满足[操作系统,容器运行时,硬件和网络](../../../../pages-for-subheaders/installation-requirements.md)的常规要求。
请确保你的节点满足[操作系统,容器运行时,硬件和网络](../../installation-requirements/installation-requirements.md)的常规要求。
如需获取配置 Linux 节点的示例,请参见[在 Amazon EC2 中配置节点](../../../../how-to-guides/new-user-guides/infrastructure-setup/nodes-in-amazon-ec2.md)的教程。
@@ -35,9 +39,9 @@ K3s 与其他 Kubernetes 发行版不同,在于其支持使用 etcd 以外的
对于 K3s 高可用安装,你需要配置以下的其中一个数据库:
* [PostgreSQL](https://www.postgresql.org/)10.7 和 11.5 已验证)
* [MySQL](https://www.mysql.com/)5.7 已验证)
* [etcd](https://etcd.io/)3.3.15 已验证)
- [PostgreSQL](https://www.postgresql.org/)10.7 和 11.5 已验证)
- [MySQL](https://www.mysql.com/)5.7 已验证)
- [etcd](https://etcd.io/)3.3.15 已验证)
在安装 Kubernetes 时,你需要传入 K3s 连接数据库的详细信息。
@@ -86,9 +90,9 @@ Rancher 支持使用私有镜像仓库进行离线安装。你必须有自己的
如果你需要创建私有镜像仓库,请参阅相应运行时的文档:
* [Containerd](https://github.com/containerd/containerd/blob/main/docs/cri/config.md#registry-configuration).
* [Nerdctl 命令和镜像仓库托管服务](https://github.com/containerd/nerdctl/blob/main/docs/registry.md)
* [Docker](https://docs.docker.com/registry/deploying/).
- [Containerd](https://github.com/containerd/containerd/blob/main/docs/cri/config.md#registry-configuration).
- [Nerdctl 命令和镜像仓库托管服务](https://github.com/containerd/nerdctl/blob/main/docs/registry.md)
- [Docker](https://docs.docker.com/registry/deploying/).
</TabItem>
<TabItem value="RKE">
@@ -157,9 +161,9 @@ Rancher 支持使用安全的私有镜像仓库进行离线安装。你必须有
如果你需要创建私有镜像仓库,请参阅相应运行时的文档:
* [Containerd](https://github.com/containerd/containerd/blob/main/docs/cri/config.md#registry-configuration).
* [Nerdctl 命令和镜像仓库托管服务](https://github.com/containerd/nerdctl/blob/main/docs/registry.md)
* [Docker](https://docs.docker.com/registry/deploying/).
- [Containerd](https://github.com/containerd/containerd/blob/main/docs/cri/config.md#registry-configuration).
- [Nerdctl 命令和镜像仓库托管服务](https://github.com/containerd/nerdctl/blob/main/docs/registry.md)
- [Docker](https://docs.docker.com/registry/deploying/).
</TabItem>
<TabItem value="Docker">
@@ -190,4 +194,5 @@ Rancher 支持使用私有镜像仓库在堡垒服务器中进行离线安装。
</Tabs>
### 后续操作
[收集镜像并发布到你的私有镜像仓库](publish-images.md)
@@ -2,6 +2,10 @@
title: 4. 安装 Rancher
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/other-installation-methods/air-gapped-helm-cli-install/install-rancher-ha"/>
</head>
本文介绍如何在高可用 Kubernetes 安装的离线环境部署 Rancher。离线环境可以是 Rancher Server 离线安装、防火墙后面或代理后面。
### Rancher 特权访问
@@ -23,26 +27,29 @@ title: 4. 安装 Rancher
1. 如果你还没有安装 `helm`,请在可访问互联网的工作站上进行本地安装。注意:参考 [Helm 版本要求](../../resources/helm-version-requirements.md)选择 Helm 版本来安装 Rancher。
2. 执行 `helm repo add` 命令,以添加包含安装 Rancher 的 Chart 的 Helm Chart 仓库。有关如何选择仓库,以及哪个仓库最适合你的用例,请参见[选择 Rancher 版本](../../resources/choose-a-rancher-version.md)。
- Latest:建议用于试用最新功能
```
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
```
```
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
```
- Stable:建议用于生产环境
```
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
```
```
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
```
- Alpha:即将发布的实验性预览。
```
helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha
```
注意:不支持升级到 Alpha 版、从 Alpha 版升级或在 Alpha 版之间升级。
```
helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha
```
注意:不支持升级到 Alpha 版、从 Alpha 版升级或在 Alpha 版之间升级。
3. 获取最新的 Rancher Chart。此操作将获取 Chart 并将其作为 `.tgz` 文件保存在当前目录中。
```plain
helm fetch rancher-<CHART_REPO>/rancher
```
如需下载特定的 Rancher 版本,你可以用 Helm `--version` 参数指定版本,如下:
```plain
helm fetch rancher-stable/rancher --version=v2.4.8
```
@@ -59,20 +66,20 @@ Rancher Server 默认设计为安全的,并且需要 SSL/TLS 配置。
:::
| 配置 | Chart 选项 | 描述 | 是否需要 cert-manager |
| ------------------------------------------ | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
| Rancher 生成的自签名证书 | `ingress.tls.source=rancher` | 使用 Rancher 生成的 CA 签发的自签名证书。此项是**默认选项**。在渲染 Helm 模板的时候不需要传递此项。 | 是 |
| 你已有的证书 | `ingress.tls.source=secret` | 通过创建 Kubernetes 密文使用你自己的证书文件。<br />在渲染 Rancher Helm 模板时必须传递此选项。 | 否 |
| 配置 | Chart 选项 | 描述 | 是否需要 cert-manager |
| ------------------------ | ---------------------------- | --------------------------------------------------------------------------------------------------- | --------------------- |
| Rancher 生成的自签名证书 | `ingress.tls.source=rancher` | 使用 Rancher 生成的 CA 签发的自签名证书。此项是**默认选项**。在渲染 Helm 模板的时候不需要传递此项。 | 是 |
| 你已有的证书 | `ingress.tls.source=secret` | 通过创建 Kubernetes 密文使用你自己的证书文件。<br />在渲染 Rancher Helm 模板时必须传递此选项。 | 否 |
### 离线安装的 Helm Chart 选项
在配置 Rancher Helm 模板时,Helm Chart 中有几个专为离线安装设计的选项,如下表:
| Chart 选项 | Chart 值 | 描述 |
| ----------------------- | -------------------------------- | ---- |
| `certmanager.version` | `<version>` | 根据运行的 cert-manager 版本配置适当的 Rancher TLS 颁发者。 |
| `systemDefaultRegistry` | `<REGISTRY.YOURDOMAIN.COM:PORT>` | 将 Rancher Server 配置成在配置集群时,始终从私有镜像仓库中拉取镜像。 |
| `useBundledSystemChart` | `true` | 配置 Rancher Server 使用打包的 Helm System Chart 副本。[system charts](https://github.com/rancher/system-charts) 仓库包含所有 MonitoringLogging,告警和全局 DNS 等功能所需的应用商店项目。这些 [Helm Chart](https://github.com/rancher/system-charts) 位于 GitHub 中。但是由于你处在离线环境,因此使用 Rancher 内置的 Chart 会比设置 Git mirror 容易得多。 |
| Chart 选项 | Chart 值 | 描述 |
| ----------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `certmanager.version` | `<version>` | 根据运行的 cert-manager 版本配置适当的 Rancher TLS 颁发者。 |
| `systemDefaultRegistry` | `<REGISTRY.YOURDOMAIN.COM:PORT>` | 将 Rancher Server 配置成在配置集群时,始终从私有镜像仓库中拉取镜像。 |
| `useBundledSystemChart` | `true` | 配置 Rancher Server 使用打包的 Helm System Chart 副本。[system charts](https://github.com/rancher/system-charts) 仓库包含所有 MonitoringLogging,告警和全局 DNS 等功能所需的应用商店项目。这些 [Helm Chart](https://github.com/rancher/system-charts) 位于 GitHub 中。但是由于你处在离线环境,因此使用 Rancher 内置的 Chart 会比设置 Git mirror 容易得多。 |
### 3. 获取 Cert-Manager Chart
@@ -102,14 +109,15 @@ helm repo update
从 [Helm Chart 仓库](https://artifacthub.io/packages/helm/cert-manager/cert-manager)中获取最新可用的 cert-manager Chart
```plain
helm fetch jetstack/cert-manager --version v1.11.0
helm fetch jetstack/cert-manager
```
##### 3. 检索 Cert-Manager CRD
为 cert-manager 下载所需的 CRD 文件:
```plain
curl -L -o cert-manager-crd.yaml https://github.com/cert-manager/cert-manager/releases/download/v1.11.0/cert-manager.crds.yaml
curl -L -o cert-manager-crd.yaml https://github.com/cert-manager/cert-manager/releases/download/<VERSION>/cert-manager.crds.yaml
```
### 4. 安装 Rancher
@@ -146,7 +154,7 @@ curl -L -o cert-manager-crd.yaml https://github.com/cert-manager/cert-manager/re
3. 安装 cert-manager。
```plain
helm install cert-manager ./cert-manager-v1.11.0.tgz \
helm install cert-manager ./cert-manager-<VERSION>.tgz \
--namespace cert-manager \
--set image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-controller \
--set webhook.image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-webhook \
@@ -157,6 +165,7 @@ curl -L -o cert-manager-crd.yaml https://github.com/cert-manager/cert-manager/re
</details>
##### 2. 安装 Rancher
首先,参见[添加 TLS 密文](../../resources/add-tls-secrets.md)发布证书文件,以便 Rancher 和 Ingress Controller 可以使用它们。
然后,使用 kubectl 为 Rancher 创建命名空间:
@@ -169,12 +178,12 @@ kubectl create namespace cattle-system
对于 Kubernetes v1.25 或更高版本,使用 Rancher v2.7.2-v2.7.4 时,将 `global.cattle.psp.enabled` 设置为 `false`。对于 Rancher v2.7.5 及更高版本来说,这不是必需的,但你仍然可以手动设置该选项。
| 占位符 | 描述 |
------------|-------------
| `<VERSION>` | 输出压缩包的版本号。 |
| `<RANCHER.YOURDOMAIN.COM>` | 指向负载均衡器的 DNS 名称。 |
| `<REGISTRY.YOURDOMAIN.COM:PORT>` | 你的私有镜像仓库的 DNS 名称。 |
| `<CERTMANAGER_VERSION>` | 在 K8s 集群上运行的 cert-manager 版本。 |
| 占位符 | 描述 |
| -------------------------------- | --------------------------------------- |
| `<VERSION>` | 输出压缩包的版本号。 |
| `<RANCHER.YOURDOMAIN.COM>` | 指向负载均衡器的 DNS 名称。 |
| `<REGISTRY.YOURDOMAIN.COM:PORT>` | 你的私有镜像仓库的 DNS 名称。 |
| `<CERTMANAGER_VERSION>` | 在 K8s 集群上运行的 cert-manager 版本。 |
```plain
helm install rancher ./rancher-<VERSION>.tgz \
@@ -200,10 +209,10 @@ kubectl create namespace cattle-system
对于 Kubernetes v1.25 或更高版本,使用 Rancher v2.7.2-v2.7.4 时,将 `global.cattle.psp.enabled` 设置为 `false`。对于 Rancher v2.7.5 及更高版本来说,这不是必需的,但你仍然可以手动设置该选项。
| 占位符 | 描述 |
| -------------------------------- | ----------------------------------------------- |
| `<VERSION>` | 输出压缩包的版本号。 |
| `<RANCHER.YOURDOMAIN.COM>` | 指向负载均衡器的 DNS 名称。 |
| 占位符 | 描述 |
| -------------------------------- | ----------------------------- |
| `<VERSION>` | 输出压缩包的版本号。 |
| `<RANCHER.YOURDOMAIN.COM>` | 指向负载均衡器的 DNS 名称。 |
| `<REGISTRY.YOURDOMAIN.COM:PORT>` | 你的私有镜像仓库的 DNS 名称。 |
```plain
@@ -229,7 +238,6 @@ kubectl create namespace cattle-system
--set useBundledSystemChart=true # 使用打包的 Rancher System Chart
```
安装已完成。
:::caution
@@ -1,14 +1,18 @@
---
title: '2. 收集镜像并发布到私有仓库'
title: "2. 收集镜像并发布到私有仓库"
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/other-installation-methods/air-gapped-helm-cli-install/publish-images"/>
</head>
本文介绍如何配置私有镜像仓库,以便在安装 Rancher 时,Rancher 可以从此私有镜像仓库中拉取所需的镜像。
默认情况下,所有用于[配置 Kubernetes 集群](../../../../pages-for-subheaders/kubernetes-clusters-in-rancher-setup.md)或启动 Rancher 中的工具(如监控,流水线,告警等)的镜像都是从 Docker Hub 中拉取的。在 Rancher 的离线安装中,你需要一个私有仓库,该仓库位于你的 Rancher Server 中某个可访问的位置。然后,你可加载该存有所有镜像的镜像仓库。
默认情况下,所有用于[配置 Kubernetes 集群](../../../../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/kubernetes-clusters-in-rancher-setup.md)或启动 Rancher 中的工具(如监控,流水线,告警等)的镜像都是从 Docker Hub 中拉取的。在 Rancher 的离线安装中,你需要一个私有仓库,该仓库位于你的 Rancher Server 中某个可访问的位置。然后,你可加载该存有所有镜像的镜像仓库。
使用 Docker 安装 Rancher,和把 Rancher 安装到 Kubernetes 集群,其对应的推送镜像到私有镜像仓库步骤是一样的。
你使用 Rancher 配置的下游集群是否有运行 Windows 的节点,决定了本文涉及的步骤。我们提供的推送镜像到私有镜像仓库步骤,是基于假设 Rancher 仅配置运行 Linux 节点的下游 Kubernetes 集群的。但是,如果你计划[在下游 Kubernetes 集群中使用 Windows 节点](../../../../pages-for-subheaders/use-windows-clusters.md),我们有单独的文档来介绍如何为需要的镜像提供支持。
你使用 Rancher 配置的下游集群是否有运行 Windows 的节点,决定了本文涉及的步骤。我们提供的推送镜像到私有镜像仓库步骤,是基于假设 Rancher 仅配置运行 Linux 节点的下游 Kubernetes 集群的。但是,如果你计划[在下游 Kubernetes 集群中使用 Windows 节点](../../../../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/use-windows-clusters/use-windows-clusters.md),我们有单独的文档来介绍如何为需要的镜像提供支持。
:::note 先决条件:
@@ -40,11 +44,11 @@ title: '2. 收集镜像并发布到私有仓库'
2. 从你所需版本的 **Assets** 处下载以下文件,这些文件是在离线环境中安装 Rancher 所必须的:
| Release 文件 | 描述 |
| ---------------- | -------------- |
| `rancher-images.txt` | 此文件包含安装 Rancher、配置集群和用户 Rancher 工具所需的镜像。 |
| Release 文件 | 描述 |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------- |
| `rancher-images.txt` | 此文件包含安装 Rancher、配置集群和用户 Rancher 工具所需的镜像。 |
| `rancher-save-images.sh` | 该脚本从 Docker Hub 中拉取在文件 `rancher-images.txt` 中记录的所有镜像,并把这些镜像保存为 `rancher-images.tar.gz`。 |
| `rancher-load-images.sh` | 该脚本从 `rancher-images.tar.gz` 文件中加载镜像,并把镜像推送到你的私有镜像仓库。 |
| `rancher-load-images.sh` | 该脚本从 `rancher-images.tar.gz` 文件中加载镜像,并把镜像推送到你的私有镜像仓库。 |
### 2. 收集 cert-manager 镜像
@@ -67,7 +71,7 @@ title: '2. 收集镜像并发布到私有仓库'
```plain
helm repo add jetstack https://charts.jetstack.io
helm repo update
helm fetch jetstack/cert-manager --version v1.11.0
helm fetch jetstack/cert-manager
helm template ./cert-manager-<version>.tgz | awk '$1 ~ /image:/ {print $2}' | sed s/\"//g >> ./rancher-images.txt
```
@@ -80,6 +84,7 @@ title: '2. 收集镜像并发布到私有仓库'
### 3. 将镜像保存到你的工作站中
1. 为 `rancher-save-images.sh` 文件添加可执行权限:
```
chmod +x rancher-save-images.sh
```
@@ -99,15 +104,19 @@ title: '2. 收集镜像并发布到私有仓库'
`rancher-images.txt` 需要位于工作站中运行 `rancher-load-images.sh` 脚本的同一目录中。`rancher-images.tar.gz` 也需要位于同一目录中。
1. 登录到你的私有镜像仓库:
```plain
docker login <REGISTRY.YOURDOMAIN.COM:PORT>
```
1. 为 `rancher-load-images.sh` 添加可执行权限:
```
chmod +x rancher-load-images.sh
```
1. 使用 `rancher-load-images.sh` 脚本来提取,标记和推送 `rancher-images.txt` 及 `rancher-images.tar.gz` 到你的私有镜像仓库:
```plain
./rancher-load-images.sh --image-list ./rancher-images.txt --registry <REGISTRY.YOURDOMAIN.COM:PORT>
```
@@ -142,11 +151,11 @@ chmod +x rancher-load-images.sh
2. 从你所需版本的 **Assets** 处下载以下文件:
| Release 文件 | 描述 |
|----------------------------|------------------|
| `rancher-windows-images.txt` | 此文件包含配置 Windows 集群所需的 Windows 镜像。 |
| `rancher-save-images.ps1` | 该脚本从 Docker Hub 中拉取在文件 `rancher-windows-images.txt` 中记录的所有镜像,并把这些镜像保存为 `rancher-windows-images.tar.gz`。 |
| `rancher-load-images.ps1` | 该脚本从 `rancher-windows-images.tar.gz` 文件中加载镜像,并把镜像推送到你的私有镜像仓库。 |
| Release 文件 | 描述 |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `rancher-windows-images.txt` | 此文件包含配置 Windows 集群所需的 Windows 镜像。 |
| `rancher-save-images.ps1` | 该脚本从 Docker Hub 中拉取在文件 `rancher-windows-images.txt` 中记录的所有镜像,并把这些镜像保存为 `rancher-windows-images.tar.gz`。 |
| `rancher-load-images.ps1` | 该脚本从 `rancher-windows-images.tar.gz` 文件中加载镜像,并把镜像推送到你的私有镜像仓库。 |
<a name="windows-2"></a>
@@ -155,6 +164,7 @@ chmod +x rancher-load-images.sh
1. 在 `powershell` 中,进入上一步下载的文件所在的目录。
1. 运行 `rancher-save-images.ps1` 以创建包含所有所需镜像的压缩包:
```plain
./rancher-save-images.ps1
```
@@ -187,6 +197,7 @@ chmod +x rancher-load-images.sh
`rancher-windows-images.txt` 需要位于工作站中运行 `rancher-load-images.ps1` 脚本的同一目录中。`rancher-windows-images.tar.gz` 也需要位于同一目录中。
1. 使用 `powershell` 登录到你的私有镜像仓库:
```plain
docker login <REGISTRY.YOURDOMAIN.COM:PORT>
```
@@ -221,12 +232,12 @@ Linux 镜像需要在 Linux 主机上收集和推送,但是你必须先将 Win
2. 从你所需版本的 **Assets** 处下载以下文件:
| Release 文件 | 描述 |
|----------------------------| -------------------------- |
| `rancher-images.txt` | 此文件包含安装 Rancher、配置集群和用户 Rancher 工具所需的镜像。 |
| `rancher-windows-images.txt` | 此文件包含配置 Windows 集群所需的镜像。 |
| `rancher-save-images.sh` | 该脚本从 Docker Hub 中拉取在文件 `rancher-images.txt` 中记录的所有镜像,并把这些镜像保存为 `rancher-images.tar.gz`。 |
| `rancher-load-images.sh` | 该脚本从 `rancher-images.tar.gz` 文件中加载镜像,并把镜像推送到你的私有镜像仓库。 |
| Release 文件 | 描述 |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `rancher-images.txt` | 此文件包含安装 Rancher、配置集群和用户 Rancher 工具所需的镜像。 |
| `rancher-windows-images.txt` | 此文件包含配置 Windows 集群所需的镜像。 |
| `rancher-save-images.sh` | 该脚本从 Docker Hub 中拉取在文件 `rancher-images.txt` 中记录的所有镜像,并把这些镜像保存为 `rancher-images.tar.gz`。 |
| `rancher-load-images.sh` | 该脚本从 `rancher-images.tar.gz` 文件中加载镜像,并把镜像推送到你的私有镜像仓库。 |
<a name="linux-2"></a>
@@ -234,7 +245,6 @@ Linux 镜像需要在 Linux 主机上收集和推送,但是你必须先将 Win
**在 Kubernetes 安装中,如果你使用的是 Rancher 默认的自签名 TLS 证书**,则必须将 [`cert-manager`](https://artifacthub.io/packages/helm/cert-manager/cert-manager) 镜像添加到 `rancher-images.txt` 文件中。如果你使用自己的证书,则可跳过此步骤。
1. 获取最新的 `cert-manager` Helm Chart,并解析模板以获取镜像的详情信息:
:::note
@@ -246,7 +256,7 @@ Linux 镜像需要在 Linux 主机上收集和推送,但是你必须先将 Win
```plain
helm repo add jetstack https://charts.jetstack.io
helm repo update
helm fetch jetstack/cert-manager --version v1.11.0
helm fetch jetstack/cert-manager
helm template ./cert-manager-<version>.tgz | awk '$1 ~ /image:/ {print $2}' | sed s/\"//g >> ./rancher-images.txt
```
@@ -260,6 +270,7 @@ Linux 镜像需要在 Linux 主机上收集和推送,但是你必须先将 Win
### 3. 将镜像保存到你的工作站中
1. 为 `rancher-save-images.sh` 文件添加可执行权限:
```
chmod +x rancher-save-images.sh
```
@@ -280,11 +291,13 @@ Linux 镜像需要在 Linux 主机上收集和推送,但是你必须先将 Win
镜像列表,即 `rancher-images.txt` 或 `rancher-windows-images.txt` 需要位于工作站中运行 `rancher-load-images.sh` 脚本的同一目录中。`rancher-images.tar.gz` 也需要位于同一目录中。
1. 登录到你的私有镜像仓库:
```plain
docker login <REGISTRY.YOURDOMAIN.COM:PORT>
```
1. 为 `rancher-load-images.sh` 添加可执行权限:
```
chmod +x rancher-load-images.sh
```
@@ -0,0 +1,23 @@
---
title: 其他安装方式
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/other-installation-methods"/>
</head>
### 离线安装
按照[以下步骤](air-gapped-helm-cli-install/air-gapped-helm-cli-install.md)在离线环境中安装 Rancher Server。
离线环境可以是 Rancher Server 离线安装、防火墙后面或代理后面。
### Docker 安装
[单节点 Docker 安装](rancher-on-a-single-node-with-docker/rancher-on-a-single-node-with-docker.md)适用于想要测试 Rancher 的用户。你无需使用 Helm 在 Kubernetes 集群上运行 Rancher,你可以使用 `docker run` 命令,把 Rancher Server 组件安装到单个节点上。
Docker 安装仅用于开发和测试环境。
由于只有一个节点和一个 Docker 容器,因此,如果该节点发生故障,由于其他节点上没有可用的 etcd 数据副本,你将丢失 Rancher Server 的所有数据。
Rancher backup operator 可将 Rancher 从单个 Docker 容器迁移到高可用 Kubernetes 集群上。详情请参见[把 Rancher 迁移到新集群](../../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/migrate-rancher-to-new-cluster.md)。
@@ -2,10 +2,16 @@
title: 3. 安装 Rancher
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-rancher"/>
</head>
在前文的操作后,你已经有了一个运行的 RKE 集群,现在可以在其中安装 Rancher 了。出于安全考虑,所有到 Rancher 的流量都必须使用 TLS 加密。在本教程中,你将使用 [cert-manager](https://cert-manager.io/)自动颁发自签名证书。在实际使用情况下,你可使用 Let's Encrypt 或自己的证书。
### 安装 Helm CLI
<DeprecationHelm2 />
在具有 kubeconfig 的主机上安装 [Helm](https://helm.sh/docs/intro/install/) CLI 以访问 Kubernetes 集群:
```
@@ -31,7 +37,7 @@ kubectl create namespace cert-manager
安装 cert-manager 的 CustomResourceDefinitions
```
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.0/cert-manager.crds.yaml
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/<VERSION>/cert-manager.crds.yaml
```
使用 Helm 安装 cert-manager。请注意,cert-manager 还需要你配置代理,以防它需要与 Let's Encrypt 或其他外部证书颁发商进行通信:
@@ -44,7 +50,7 @@ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/
```
helm upgrade --install cert-manager jetstack/cert-manager \
--namespace cert-manager --version v1.11.0 \
--namespace cert-manager \
--set http_proxy=http://${proxy_host} \
--set https_proxy=http://${proxy_host} \
--set no_proxy=127.0.0.0/8\\,10.0.0.0/8\\,cattle-system.svc\\,172.16.0.0/12\\,192.168.0.0/16\\,.svc\\,.cluster.local
@@ -0,0 +1,17 @@
---
title: 使用 HTTP 代理安装 Rancher
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy"/>
</head>
很多企业本地运行的服务器或虚拟机不能直接访问互联网,但是出于安全考虑,他们必须通过 HTTP(S) 代理连接到外部服务。本教程将分步介绍如何在这样的环境中进行高可用的 Rancher 安装。
另外,用户也可以在没有任何互联网访问的情况下离线设置 Rancher。详情请参见 [Rancher 官方文档](../air-gapped-helm-cli-install/air-gapped-helm-cli-install.md)。
## 安装概要
1. [配置基础设施](set-up-infrastructure.md)
2. [配置 Kubernetes 集群](install-kubernetes.md)
3. [安装 Rancher](install-rancher.md)
@@ -1,7 +1,11 @@
---
title: '1. 配置基础设施'
title: "1. 配置基础设施"
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/set-up-infrastructure"/>
</head>
在本节中,你将为 Rancher Management Server 配置底层基础设施,并使其通过 HTTP 代理访问互联网。
如需在高可用 RKE 集群中安装 Rancher Management Server,我们建议配置以下基础设施:
@@ -22,7 +26,7 @@ title: '1. 配置基础设施'
这些主机将通过 HTTP 代理连接到互联网。
请确保你的节点满足[操作系统,容器运行时,硬件和网络](../../../../pages-for-subheaders/installation-requirements.md)的常规要求。
请确保你的节点满足[操作系统,容器运行时,硬件和网络](../../installation-requirements/installation-requirements.md)的常规要求。
如需获取配置 Linux 节点的示例,请参见[在 Amazon EC2 中配置节点](../../../../how-to-guides/new-user-guides/infrastructure-setup/nodes-in-amazon-ec2.md)的教程。
@@ -59,6 +63,6 @@ title: '1. 配置基础设施'
有关设置 DNS 记录以将域流量转发到 Amazon ELB 负载均衡器的指南,请参见 [AWS 官方文档](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-elb-load-balancer)。
### 后续操作
[配置 Kubernetes 集群](install-kubernetes.md)
@@ -2,19 +2,25 @@
title: 证书故障排除
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/other-installation-methods/rancher-on-a-single-node-with-docker/certificate-troubleshooting"/>
</head>
<DockerSupportWarning />
### 如何确定我的证书格式是否为 PEM?
你可以通过以下特征识别 PEM 格式:
- 文件开始的标头:
```
-----BEGIN CERTIFICATE-----
```
```
-----BEGIN CERTIFICATE-----
```
- 表头后跟一长串字符。
- 文件结束的页脚:
```
-----END CERTIFICATE-----
```
```
-----END CERTIFICATE-----
```
PEM 证书示例:
@@ -0,0 +1,214 @@
---
title: 使用 Docker 将 Rancher 安装到单个节点中
description: 在开发和测试环境中,你可以使用 Docker 安装。在单个 Linux 主机上安装 Docker,然后使用一个 Docker 容器部署 Rancher。
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/other-installation-methods/rancher-on-a-single-node-with-docker"/>
</head>
<DockerSupportWarning />
Rancher 可以通过运行单个 Docker 容器进行安装。
在这种安装方案中,你需要将 Docker 安装到单个 Linux 主机,然后使用单个 Docker 容器将 Rancher 部署到主机中。
:::note 想要使用外部负载均衡器?
请参阅[使用外部负载均衡器的 Docker 安装](../../../../how-to-guides/advanced-user-guides/configure-layer-7-nginx-load-balancer.md)。
:::
Rancher 的 Docker 安装仅推荐用于开发和测试环境中。Rancher 版本决定了能否将 Rancher 迁移到高可用集群。
Rancher backup operator 可将 Rancher 从单个 Docker 容器迁移到高可用 Kubernetes 集群上。详情请参见[把 Rancher 迁移到新集群](../../../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/migrate-rancher-to-new-cluster.md)。
## Rancher 特权访问
当 Rancher Server 部署在 Docker 容器中时,容器内会安装一个本地 Kubernetes 集群供 Rancher 使用。为 Rancher 的很多功能都是以 deployment 的方式运行的,而在容器内运行容器是需要特权模式的,因此你需要在安装 Rancher 时添加 `--privileged` 选项。
## 操作系统,Docker,硬件和网络要求
请确保你的节点满足常规的[安装要求](../../installation-requirements/installation-requirements.md)。
## 1. 配置 Linux 主机
按照[要求](../../installation-requirements/installation-requirements.md)配置一个 Linux 主机,用于运行 Rancher Server。
## 2. 选择一个 SSL 选项并安装 Rancher
出于安全考虑,使用 Rancher 时请使用 SSLSecure Sockets Layer)。SSL 保护所有 Rancher 网络通信(如登录和与集群交互)的安全。
:::tip 你是否需要:
- 使用代理。参见 [HTTP 代理配置](../../../../reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md)。
- 配置自定义 CA 根证书以访问服务。参见[自定义 CA 根证书](../../../../reference-guides/single-node-rancher-in-docker/advanced-options.md#自定义-ca-证书)。
- 完成离线安装。参见 [离线:Docker 安装](../air-gapped-helm-cli-install/air-gapped-helm-cli-install.md)。
- 记录所有 Rancher API 的事务。参加 [API 审计](../../../../reference-guides/single-node-rancher-in-docker/advanced-options.md#api-审计日志)。
:::
选择以下的选项之一:
- [选项 A:使用 Rancher 生成的默认自签名证书](#选项-a使用-rancher-生成的默认自签名证书)
- [选项 B:使用你自己的证书 - 自签名](#选项-b使用你自己的证书---自签名)
- [选项 C:使用你自己的证书 - 可信 CA 签名的证书](#选项-c使用你自己的证书---可信-ca-签名的证书)
- [选项 DLet's Encrypt 证书](#选项-dlets-encrypt-证书)
- [选项 E:Localhost 隧道,不使用证书](#选项-elocalhost-隧道不使用证书)
### 选项 A:使用 Rancher 生成的默认自签名证书
如果你在不考虑身份验证的开发或测试环境中安装 Rancher,可以使用 Rancher 生成的自签名证书安装 Rancher。这种安装方式避免了自己生成证书的麻烦。
登录到你的主机,然后运行以下命令:
```
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
--privileged \
rancher/rancher:latest
```
### 选项 B:使用你自己的证书 - 自签名
在你团队访问 Rancher Server 的开发或测试环境中,创建一个用于你的安装的自签名证书,以便团队验证他们对实例的连接。
:::note 先决条件:
使用 [OpenSSL](https://www.openssl.org/) 或其他方法创建自签名证书。
- 证书文件的格式必须是 PEM。
- 在你的证书文件中,包括链中的所有中间证书。你需要对你的证书进行排序,把你的证书放在最前面,后面跟着中间证书。如需查看示例,请参见[证书故障排除](../getting-started/installation-and-upgrade/other-installation-methods/rancher-on-a-single-node-with-docker/certificate-troubleshooting.md)。
:::
创建证书后,运行以下 Docker 命令以安装 Rancher。使用 `-v` 标志并提供证书的路径,以将证书挂载到容器中。
| 占位符 | 描述 |
| ------------------- | -------------------------- |
| `<CERT_DIRECTORY>` | 包含证书文件的目录的路径。 |
| `<FULL_CHAIN.pem>` | 完整证书链的路径。 |
| `<PRIVATE_KEY.pem>` | 证书私钥的路径。 |
| `<CA_CERTS.pem>` | CA 证书的路径。 |
登录到你的主机,然后运行以下命令:
```
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v /<CERT_DIRECTORY>/<FULL_CHAIN.pem>:/etc/rancher/ssl/cert.pem \
-v /<CERT_DIRECTORY>/<PRIVATE_KEY.pem>:/etc/rancher/ssl/key.pem \
-v /<CERT_DIRECTORY>/<CA_CERTS.pem>:/etc/rancher/ssl/cacerts.pem \
--privileged \
rancher/rancher:latest
```
### 选项 C:使用你自己的证书 - 可信 CA 签名的证书
在公开暴露应用的生产环境中,请使用由可信 CA 签名的证书,以避免用户收到证书安全警告。
不建议将 Docker 安装用于生产环境。这些说明仅适用于测试和开发。
:::note 先决条件:
- 证书文件的格式必须是 PEM。
- 在你的证书文件中,包括可信 CA 提供的所有中间证书。你需要对你的证书进行排序,把你的证书放在最前面,后面跟着中间证书。如需查看示例,请参见[证书故障排除](../getting-started/installation-and-upgrade/other-installation-methods/rancher-on-a-single-node-with-docker/certificate-troubleshooting.md)。
:::
获取证书后,运行以下 Docker 命令。
- 使用 `-v` 标志并提供证书的路径,以将证书挂载到容器中。因为你的证书是由可信的 CA 签名的,因此你不需要安装额外的 CA 证书文件。
- 使用 `--no-cacerts` 作为容器的参数,以禁用 Rancher 生成的默认 CA 证书。
| 占位符 | 描述 |
| ------------------- | -------------------------- |
| `<CERT_DIRECTORY>` | 包含证书文件的目录的路径。 |
| `<FULL_CHAIN.pem>` | 完整证书链的路径。 |
| `<PRIVATE_KEY.pem>` | 证书私钥的路径。 |
登录到你的主机,然后运行以下命令:
```
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v /<CERT_DIRECTORY>/<FULL_CHAIN.pem>:/etc/rancher/ssl/cert.pem \
-v /<CERT_DIRECTORY>/<PRIVATE_KEY.pem>:/etc/rancher/ssl/key.pem \
--privileged \
rancher/rancher:latest \
--no-cacerts
```
### 选项 DLet's Encrypt 证书
:::caution
Let's Encrypt 对新证书请求有频率限制。因此,请限制创建或销毁容器的频率。详情请参见 [Let's Encrypt 官方文档 - 频率限制](https://letsencrypt.org/docs/rate-limits/)。
:::
你也可以在生产环境中使用 [Let's Encrypt](https://letsencrypt.org/) 证书。Let's Encrypt 使用 HTTP-01 质询来验证你对域名的控制权。如果要确认你对该域名有控制权,你可将用于访问 Rancher 的主机名(例如 `rancher.mydomain.com`)指向运行的主机的 IP。你可通过在 DNS 中创建 A 记录,以将主机名绑定到 IP 地址。
不建议将 Docker 安装用于生产环境。这些说明仅适用于测试和开发。
:::note 先决条件:
- Let's Encrypt 是联网服务。因此,在内网和离线环境中不能使用。
- 在 DNS 中创建一条记录,将 Linux 主机 IP 地址绑定到要用于访问 Rancher 的主机名(例如,`rancher.mydomain.com`)。
- 在 Linux 主机上打开 `TCP/80` 端口。Let's Encrypt 的 HTTP-01 质询可以来自任何源 IP 地址,因此端口 `TCP/80` 必须开放开所有 IP 地址。
:::
满足先决条件后,你可以运行以下命令使用 Let's Encrypt 证书安装 Rancher。
| 占位符 | 描述 |
| ----------------- | ------------ |
| `<YOUR.DNS.NAME>` | 你的域名地址 |
登录到你的主机,然后运行以下命令:
```
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
--privileged \
rancher/rancher:latest \
--acme-domain <YOUR.DNS.NAME>
```
### 选项 ELocalhost 隧道,不使用证书
如果你在开发或测试环境中安装 Rancher,且环境中有运行的 localhost 隧道解决方案(如 [ngrok](https://ngrok.com/)),不要生成证书。此安装选项不需要证书。
- 使用 `--no-cacerts` 作为参数,以禁用 Rancher 生成的默认 CA 证书。
登录到你的主机,然后运行以下命令:
```
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
--privileged \
rancher/rancher:latest \
--no-cacerts
```
## 高级选项
使用 Docker 将 Rancher 安装到单个节点时,有如下几个可开启的高级选项:
- 自定义 CA 证书
- API 审计日志
- TLS 设置
- 离线环境
- 持久化数据
- 在同一个节点中运行 `rancher/rancher``rancher/rancher-agent`
详情请参见[本页](../../../../reference-guides/single-node-rancher-in-docker/advanced-options.md)。
## 故障排除
如需了解常见问题及故障排除提示,请参见[本页](certificate-troubleshooting.md)。
## 后续操作
- **推荐**:检查单节点[备份](../../../../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 集群](../../../../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/kubernetes-clusters-in-rancher-setup.md)。
@@ -2,6 +2,12 @@
title: 回滚 Docker 安装的 Rancher
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/other-installation-methods/rancher-on-a-single-node-with-docker/roll-back-docker-installed-rancher"/>
</head>
<DockerSupportWarning />
如果 Rancher 升级没有成功完成,你需要回滚到你在 [Docker 升级](upgrade-docker-installed-rancher.md)之前使用的 Rancher 设置。回滚可以恢复:
- 先前版本的 Rancher。
@@ -21,12 +27,13 @@ docker pull rancher/rancher:<PRIOR_RANCHER_VERSION>
<sup>终端 <code>docker ps</code> 命令,显示如何找到 <code>&lt;PRIOR_RANCHER_VERSION&gt;</code> 和 <code>&lt;RANCHER_CONTAINER_NAME&gt;</code></sup>![占位符参考](/img/placeholder-ref-2.png)
| 占位符 | 示例 | 描述 |
| -------------------------- | -------------------------- | ------------------------------------------------------- |
| `<PRIOR_RANCHER_VERSION>` | `v2.0.5` | 升级前使用的 rancher/rancher 镜像。 |
| `<RANCHER_CONTAINER_NAME>` | `festive_mestorf` | 你的 Rancher 容器的名称。 |
| `<RANCHER_VERSION>` | `v2.0.5` | 备份对应的 Rancher 版本。 |
| `<DATE>` | `9-27-18` | 数据容器或备份的创建日期。 |
| 占位符 | 示例 | 描述 |
| -------------------------- | ----------------- | ----------------------------------- |
| `<PRIOR_RANCHER_VERSION>` | `v2.0.5` | 升级前使用的 rancher/rancher 镜像。 |
| `<RANCHER_CONTAINER_NAME>` | `festive_mestorf` | 你的 Rancher 容器的名称。 |
| `<RANCHER_VERSION>` | `v2.0.5` | 备份对应的 Rancher 版本。 |
| `<DATE>` | `9-27-18` | 数据容器或备份的创建日期。 |
<br/>
可以通过远程连接登录到 Rancher Server 所在的主机并输入命令 `docker ps` 以查看正在运行的容器,从而获得 `<PRIOR_RANCHER_VERSION>``<RANCHER_CONTAINER_NAME>` 。你还可以运行 `docker ps -a` 命令查看停止了的容器。在创建备份期间,你随时可以运行这些命令来获得帮助。
@@ -56,6 +63,7 @@ docker pull rancher/rancher:<PRIOR_RANCHER_VERSION>
```
docker stop <RANCHER_CONTAINER_NAME>
```
你可输入 `docker ps`获取 Rancher 容器的名称。
1. 将你在 [Docker 升级](upgrade-docker-installed-rancher.md)时创建的备份压缩包移动到 Rancher Server。切换到你将其移动到的目录。输入 `dir` 以确认它在该位置。
@@ -71,6 +79,7 @@ docker pull rancher/rancher:<PRIOR_RANCHER_VERSION>
```
1. 将 `<PRIOR_RANCHER_VERSION>` 占位符指向数据容器,启动一个新的 Rancher Server 容器。
```
docker run -d --volumes-from rancher-data \
--restart=unless-stopped \
@@ -78,7 +87,8 @@ docker pull rancher/rancher:<PRIOR_RANCHER_VERSION>
--privileged \
rancher/rancher:<PRIOR_RANCHER_VERSION>
```
特权访问是[必须](../../../../pages-for-subheaders/rancher-on-a-single-node-with-docker.md#rancher-特权访问)的。
特权访问是[必须](rancher-on-a-single-node-with-docker.md#rancher-特权访问)的。
:::danger
@@ -2,6 +2,10 @@
title: 升级 Docker 安装的 Rancher
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/other-installation-methods/rancher-on-a-single-node-with-docker/upgrade-docker-installed-rancher"/>
</head>
本文介绍如何升级通过 Docker 安装的 Rancher Server。
:::caution
@@ -13,7 +17,7 @@ title: 升级 Docker 安装的 Rancher
## 先决条件
- 在 Rancher 文档中**检查[已知升级问题](../../install-upgrade-on-a-kubernetes-cluster/upgrades.md#已知升级问题)**,了解升级 Rancher 时最需要注意的问题。你可以在 [GitHub](https://github.com/rancher/rancher/releases) 发布说明以及 [Rancher 论坛](https://forums.rancher.com/c/announcements/12)中找到每个 Rancher 版本的已知问题。不支持升级或升级到 [rancher-alpha 仓库](../../resources/choose-a-rancher-version.md#helm-chart-仓库)中的任何 Chart。
- **[仅适用于离线安装](../../../../pages-for-subheaders/air-gapped-helm-cli-install.md):为新的 Rancher Server 版本收集和推送镜像**。按照指南为你想要升级的目标 Rancher 版本[推送镜像到私有镜像仓库](../air-gapped-helm-cli-install/publish-images.md)。
- **[仅适用于离线安装](../air-gapped-helm-cli-install/air-gapped-helm-cli-install.md):为新的 Rancher Server 版本收集和推送镜像**。按照指南为你想要升级的目标 Rancher 版本[推送镜像到私有镜像仓库](../air-gapped-helm-cli-install/publish-images.md)。
## 占位符
@@ -41,12 +45,13 @@ docker ps
![占位符参考](/img/placeholder-ref.png)
| 占位符 | 示例 | 描述 |
| -------------------------- | -------------------------- | --------------------------------------------------------- |
| `<RANCHER_CONTAINER_TAG>` | `v2.1.3` | 首次安装拉取的 rancher/rancher 镜像。 |
| `<RANCHER_CONTAINER_NAME>` | `festive_mestorf` | 你的 Rancher 容器的名称。 |
| `<RANCHER_VERSION>` | `v2.1.3` | 你为其创建备份的 Rancher 版本。 |
| `<DATE>` | `2018-12-19` | 数据容器或备份的创建日期。 |
| 占位符 | 示例 | 描述 |
| -------------------------- | ----------------- | ------------------------------------- |
| `<RANCHER_CONTAINER_TAG>` | `v2.1.3` | 首次安装拉取的 rancher/rancher 镜像。 |
| `<RANCHER_CONTAINER_NAME>` | `festive_mestorf` | 你的 Rancher 容器的名称。 |
| `<RANCHER_VERSION>` | `v2.1.3` | 你为其创建备份的 Rancher 版本。 |
| `<DATE>` | `2018-12-19` | 数据容器或备份的创建日期。 |
<br/>
可以通过远程连接登录到 Rancher Server 所在的主机并输入命令 `docker ps` 以查看正在运行的容器,从而获得 `<RANCHER_CONTAINER_TAG>``<RANCHER_CONTAINER_NAME>`。你还可以运行 `docker ps -a` 命令查看停止了的容器。在创建备份期间,你随时可以运行这些命令来获得帮助。
@@ -54,6 +59,7 @@ docker ps
## 升级
在升级期间,你可以为当前 Rancher 容器创建数据的副本及备份,以确保可以在升级出现问题时可以进行回滚。然后,你可使用现有数据将新版本的 Rancher 部署到新容器中。
### 1. 创建 Rancher Server 容器的数据副本
1. 使用远程终端连接,登录到运行 Rancher Server 的节点。
@@ -75,6 +81,7 @@ docker ps
1. <a id="tarball"></a>从你刚刚创建的数据容器(<code>rancher-data</code>)中,创建一个备份 tar 包(<code>rancher-data-backup-&lt;RANCHER_VERSION&gt;-&lt;DATE&gt;.tar.gz</code>)。
如果升级期间出现问题,此压缩包可以用作回滚点。替换占位符来运行以下命令。
```
docker run --volumes-from rancher-data -v "$PWD:/backup" --rm busybox tar zcvf /backup/rancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz /var/lib/rancher
```
@@ -94,8 +101,8 @@ docker ps
拉取你需要升级到的 Rancher 版本镜像。
| 占位符 | 描述 |
------------|-------------
| 占位符 | 描述 |
| ----------------------- | ---------------------------------------------------------------------------------------------- |
| `<RANCHER_VERSION_TAG>` | 你想要升级到的 [Rancher 版本](../../installation-references/helm-chart-options.md)的版本标签。 |
```
@@ -135,8 +142,8 @@ docker pull rancher/rancher:<RANCHER_VERSION_TAG>
如果你使用 Rancher 生成的自签名证书,则将 `--volumes-from rancher-data` 添加到你启动原始 Rancher Server 容器的命令中。
| 占位符 | 描述 |
------------|-------------
| 占位符 | 描述 |
| ----------------------- | ---------------------------------------------------------------------------------------------- |
| `<RANCHER_VERSION_TAG>` | 你想要升级到的 [Rancher 版本](../../installation-references/helm-chart-options.md)的版本标签。 |
```
@@ -164,12 +171,12 @@ docker run -d --volumes-from rancher-data \
:::
| 占位符 | 描述 |
------------|-------------
| `<CERT_DIRECTORY>` | 包含证书文件的目录的路径。 |
| `<FULL_CHAIN.pem>` | 完整证书链的路径。 |
| `<PRIVATE_KEY.pem>` | 证书私钥的路径。 |
| `<CA_CERTS.pem>` | CA 证书的路径。 |
| 占位符 | 描述 |
| ----------------------- | ---------------------------------------------------------------------------------------------- |
| `<CERT_DIRECTORY>` | 包含证书文件的目录的路径。 |
| `<FULL_CHAIN.pem>` | 完整证书链的路径。 |
| `<PRIVATE_KEY.pem>` | 证书私钥的路径。 |
| `<CA_CERTS.pem>` | CA 证书的路径。 |
| `<RANCHER_VERSION_TAG>` | 你想要升级到的 [Rancher 版本](../../installation-references/helm-chart-options.md)的版本标签。 |
```
@@ -200,11 +207,11 @@ docker run -d --volumes-from rancher-data \
:::
| 占位符 | 描述 |
------------|-------------
| `<CERT_DIRECTORY>` | 包含证书文件的目录的路径。 |
| `<FULL_CHAIN.pem>` | 完整证书链的路径。 |
| `<PRIVATE_KEY.pem>` | 证书私钥的路径。 |
| 占位符 | 描述 |
| ----------------------- | ---------------------------------------------------------------------------------------------- |
| `<CERT_DIRECTORY>` | 包含证书文件的目录的路径。 |
| `<FULL_CHAIN.pem>` | 完整证书链的路径。 |
| `<PRIVATE_KEY.pem>` | 证书私钥的路径。 |
| `<RANCHER_VERSION_TAG>` | 你想要升级到的 [Rancher 版本](../../installation-references/helm-chart-options.md)的版本标签。 |
```
@@ -219,6 +226,7 @@ docker run -d --volumes-from rancher-data \
```
特权访问是[必须](../../../../pages-for-subheaders/rancher-on-a-single-node-with-docker.md#rancher-特权访问)的。
</details>
#### 选项 DLet's Encrypt 证书
@@ -241,10 +249,10 @@ Let's Encrypt 对新证书请求有频率限制。因此,请限制创建或销
:::
| 占位符 | 描述 |
------------|-------------
| 占位符 | 描述 |
| ----------------------- | ---------------------------------------------------------------------------------------------- |
| `<RANCHER_VERSION_TAG>` | 你想要升级到的 [Rancher 版本](../../installation-references/helm-chart-options.md)的版本标签。 |
| `<YOUR.DNS.NAME>` | 你最初使用的域名 |
| `<YOUR.DNS.NAME>` | 你最初使用的域名 |
```
docker run -d --volumes-from rancher-data \
@@ -273,10 +281,10 @@ docker run -d --volumes-from rancher-data \
如果你使用 Rancher 生成的自签名证书,则将 `--volumes-from rancher-data` 添加到你启动原始 Rancher Server 容器的命令中。
| 占位符 | 描述 |
------------|-------------
| `<REGISTRY.YOURDOMAIN.COM:PORT>` | 私有镜像仓库的 URL 和端口。 |
| `<RANCHER_VERSION_TAG>` | 你想要升级到的 [Rancher 版本](../../installation-references/helm-chart-options.md)的版本标签。 |
| 占位符 | 描述 |
| -------------------------------- | ---------------------------------------------------------------------------------------------- |
| `<REGISTRY.YOURDOMAIN.COM:PORT>` | 私有镜像仓库的 URL 和端口。 |
| `<RANCHER_VERSION_TAG>` | 你想要升级到的 [Rancher 版本](../../installation-references/helm-chart-options.md)的版本标签。 |
```
docker run -d --volumes-from rancher-data \
@@ -289,6 +297,7 @@ docker run -d --volumes-from rancher-data \
```
特权访问是[必须](../../../../pages-for-subheaders/rancher-on-a-single-node-with-docker.md#rancher-特权访问)的。
</details>
#### 选项 B:使用你自己的证书 - 自签名
@@ -304,14 +313,14 @@ docker run -d --volumes-from rancher-data \
:::
| 占位符 | 描述 |
------------|-------------
| `<CERT_DIRECTORY>` | 包含证书文件的目录的路径。 |
| `<FULL_CHAIN.pem>` | 完整证书链的路径。 |
| `<PRIVATE_KEY.pem>` | 证书私钥的路径。 |
| `<CA_CERTS.pem>` | CA 证书的路径。 |
| `<REGISTRY.YOURDOMAIN.COM:PORT>` | 私有镜像仓库的 URL 和端口。 |
| `<RANCHER_VERSION_TAG>` | 你想要升级到的 [Rancher 版本](../../installation-references/helm-chart-options.md)的版本标签。 |
| 占位符 | 描述 |
| -------------------------------- | ---------------------------------------------------------------------------------------------- |
| `<CERT_DIRECTORY>` | 包含证书文件的目录的路径。 |
| `<FULL_CHAIN.pem>` | 完整证书链的路径。 |
| `<PRIVATE_KEY.pem>` | 证书私钥的路径。 |
| `<CA_CERTS.pem>` | CA 证书的路径。 |
| `<REGISTRY.YOURDOMAIN.COM:PORT>` | 私有镜像仓库的 URL 和端口。 |
| `<RANCHER_VERSION_TAG>` | 你想要升级到的 [Rancher 版本](../../installation-references/helm-chart-options.md)的版本标签。 |
```
docker run -d --restart=unless-stopped \
@@ -324,7 +333,9 @@ docker run -d --restart=unless-stopped \
--privileged \
<REGISTRY.YOURDOMAIN.COM:PORT>/rancher/rancher:<RANCHER_VERSION_TAG>
```
特权访问是[必须](../../../../pages-for-subheaders/rancher-on-a-single-node-with-docker.md#rancher-特权访问)的。
</details>
#### 选项 C:使用你自己的证书 - 可信 CA 签名的证书
@@ -340,13 +351,13 @@ docker run -d --restart=unless-stopped \
:::
| 占位符 | 描述 |
------------|-------------
| `<CERT_DIRECTORY>` | 包含证书文件的目录的路径。 |
| `<FULL_CHAIN.pem>` | 完整证书链的路径。 |
| `<PRIVATE_KEY.pem>` | 证书私钥的路径。 |
| `<REGISTRY.YOURDOMAIN.COM:PORT>` | 私有镜像仓库的 URL 和端口。 |
| `<RANCHER_VERSION_TAG>` | 你想要升级到的 [Rancher 版本](../../installation-references/helm-chart-options.md)的版本标签。 |
| 占位符 | 描述 |
| -------------------------------- | ---------------------------------------------------------------------------------------------- |
| `<CERT_DIRECTORY>` | 包含证书文件的目录的路径。 |
| `<FULL_CHAIN.pem>` | 完整证书链的路径。 |
| `<PRIVATE_KEY.pem>` | 证书私钥的路径。 |
| `<REGISTRY.YOURDOMAIN.COM:PORT>` | 私有镜像仓库的 URL 和端口。 |
| `<RANCHER_VERSION_TAG>` | 你想要升级到的 [Rancher 版本](../../installation-references/helm-chart-options.md)的版本标签。 |
:::note
@@ -366,7 +377,9 @@ docker run -d --volumes-from rancher-data \
--privileged
<REGISTRY.YOURDOMAIN.COM:PORT>/rancher/rancher:<RANCHER_VERSION_TAG>
```
特权访问是[必须](../../../../pages-for-subheaders/rancher-on-a-single-node-with-docker.md#rancher-特权访问)的。
</details>
</TabItem>
@@ -2,6 +2,10 @@
title: 添加 TLS 密文
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/resources/add-tls-secrets"/>
</head>
我们使用证书和密钥将 `cattle-system` 命名空间中的 `tls-rancher-ingress` 密文配置好后,Kubernetes 会为 Rancher 创建对象和服务。
将服务器证书和所需的所有中间证书合并到名为 `tls.crt`的文件中。将证书密钥复制到名为 `tls.key` 的文件中。
@@ -42,4 +46,4 @@ Rancher 启动时会检索配置的 `tls-ca` 密文。如果 Rancher 在运行
## 更新私有 CA 证书
按照[步骤](update-rancher-certificate.md)更新 [Rancher 高可用 Kubernetes 安装](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md)中的 Ingress,或从默认自签名证书切换到自定义证书。
按照[步骤](update-rancher-certificate.md)更新 [Rancher 高可用 Kubernetes 安装](../install-upgrade-on-a-kubernetes-cluster/install-upgrade-on-a-kubernetes-cluster.md)中的 Ingress,或从默认自签名证书切换到自定义证书。
@@ -2,6 +2,10 @@
title: 选择 Rancher 版本
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/resources/choose-a-rancher-version"/>
</head>
本节介绍如何选择 Rancher 版本。
在我们推荐用于生产环境的 Rancher 高可用安装中,Rancher Server 是通过 Kubernetes 集群上的 **Helm Chart** 安装的。请参见 [Helm 版本要求](helm-version-requirements.md)选择 Helm 版本来安装 Rancher。
@@ -11,7 +15,7 @@ title: 选择 Rancher 版本
<Tabs>
<TabItem value="Helm Charts">
如果 Rancher Server 是[安装在 Kubernetes 集群上](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md)的,Rancher Server 的安装,升级和回滚中,都是使用 Kubernetes 集群上的 Helm Chart 来安装 Rancher 的。因此,在准备安装或升级 Rancher 高可用时,必须添加包含用于安装 Rancher 的 Chart 的 Helm Chart 仓库。
如果 Rancher Server 是[安装在 Kubernetes 集群上](../install-upgrade-on-a-kubernetes-cluster/install-upgrade-on-a-kubernetes-cluster.md)的,Rancher Server 的安装,升级和回滚中,都是使用 Kubernetes 集群上的 Helm Chart 来安装 Rancher 的。因此,在准备安装或升级 Rancher 高可用时,必须添加包含用于安装 Rancher 的 Chart 的 Helm Chart 仓库。
请参见 [Helm 版本要求](helm-version-requirements.md)选择 Helm 版本来安装 Rancher。
@@ -19,11 +23,11 @@ title: 选择 Rancher 版本
Rancher 提供几个可选的 Helm Chart 仓库供你选择。最新版或稳定版的 Helm Chart 仓库与用于 Docker 安装中的 Docker 标签对应。因此,`rancher-latest` 仓库包含所有标记为 `rancher/rancher:latest` 的 Rancher 版本 Chart。当 Rancher 版本升级到 `rancher/rancher:stable`,它会被添加到 `rancher-stable` 仓库中。
| 类型 | 添加仓库的命令 | 仓库描述 |
| -------------- | ------------ | ----------------- |
| rancher-latest | `helm repo add rancher-latest https://releases.rancher.com/server-charts/latest` | 添加最新版本的 Rancher 的 Helm Chart 仓库。建议使用此仓库来测试新版本的 Rancher。 |
| rancher-stable | `helm repo add rancher-stable https://releases.rancher.com/server-charts/stable` | 添加较旧的,稳定的版本的 Rancher 的 Helm Chart 仓库。建议在生产环境中使用此仓库。 |
| rancher-alpha | `helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha` | 添加 alpha 版本的 Rancher 的 Helm Chart 仓库,以预览即将发布的版本。不建议在生产环境中使用这些版本。无论是什么仓库,均不支持 _升级__升级到_ rancher-alpha 仓库中的任何 Chart。 |
| 类型 | 添加仓库的命令 | 仓库描述 |
| -------------- | -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| rancher-latest | `helm repo add rancher-latest https://releases.rancher.com/server-charts/latest` | 添加最新版本的 Rancher 的 Helm Chart 仓库。建议使用此仓库来测试新版本的 Rancher。 |
| rancher-stable | `helm repo add rancher-stable https://releases.rancher.com/server-charts/stable` | 添加较旧的,稳定的版本的 Rancher 的 Helm Chart 仓库。建议在生产环境中使用此仓库。 |
| rancher-alpha | `helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha` | 添加 alpha 版本的 Rancher 的 Helm Chart 仓库,以预览即将发布的版本。不建议在生产环境中使用这些版本。无论是什么仓库,均不支持 _升级__升级到_ rancher-alpha 仓库中的任何 Chart。 |
了解何时选择这些仓库,请参见[切换到不同 Helm Chart 仓库](#切换到不同-helm-chart-仓库)。
@@ -55,18 +59,18 @@ Rancher Helm Chart 版本与 Rancher 版本(即 `appVersion`)对应。添加
:::
- Latest:建议用于试用最新功能
```
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
```
```
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
```
- Stable:建议用于生产环境
```
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
```
```
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
```
- Alpha:即将发布的实验性预览。
```
helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha
```
注意:不支持升级到 Alpha 版、从 Alpha 版升级或在 Alpha 版之间升级。
```
helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha
```
注意:不支持升级到 Alpha 版、从 Alpha 版升级或在 Alpha 版之间升级。
1. 列出当前 Helm Chart 仓库。
@@ -101,10 +105,10 @@ Rancher Helm Chart 版本与 Rancher 版本(即 `appVersion`)对应。添加
Rancher Server 以 Docker 镜像的形式分发并附有标签。你可以在输入命令部署 Rancher 时指定标签。请记住,如果你指定了标签,但是没有指定版本(如 `latest` 或 `stable`),你必须显式拉取该镜像标签的新版本。否则,将使用缓存在主机上的镜像。
| 标签 | 描述 |
| -------------------------- | ------ |
| `rancher/rancher:latest` | 最新的开发版本。这些版本通过了我们的 CI 自动化验证。不推荐在生产环境使用这些版本。 |
| `rancher/rancher:stable` | 最新的稳定版本。推荐将此标签用于生产环境。 |
| 标签 | 描述 |
| -------------------------- | -------------------------------------------------------------------------------------- |
| `rancher/rancher:latest` | 最新的开发版本。这些版本通过了我们的 CI 自动化验证。不推荐在生产环境使用这些版本。 |
| `rancher/rancher:stable` | 最新的稳定版本。推荐将此标签用于生产环境。 |
| `rancher/rancher:<v2.X.X>` | 你可以使用以前版本中的标签来指定要安装的 Rancher 版本。访问 DockerHub 查看可用的版本。 |
:::note
@@ -2,9 +2,15 @@
title: Helm 版本要求
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/resources/helm-version-requirements"/>
</head>
本文介绍 Helm 的要求。Helm 是用于把 Rancher 安装在高可用 Kubernetes 集群上的工具。
> 我们已针对 Helm 3 更新了安装指南。如果你使用 Helm 2 进行安装,请参见 [Helm 2 迁移到 Helm 3 文档](https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/)。[本文](/versioned_docs/version-2.0-2.4/pages-for-subheaders/helm2.md)提供了较早的使用 Helm 2 的 Rancher 高可用安装指南的副本。如果你如果无法升级到 Helm 3,可以使用这个说明安装。
> 我们已针对 Helm 3 更新了安装指南。如果你使用 Helm 2 进行安装,请参见 [Helm 2 迁移到 Helm 3 文档](https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/)。[本文](/versioned_docs/version-2.0-2.4/getting-started/installation-and-upgrade/advanced-options/advanced-use-cases/helm2/helm2.md)提供了较早的使用 Helm 2 的 Rancher 高可用安装指南的副本。如果你如果无法升级到 Helm 3,可以使用这个说明安装。
<DeprecationHelm2 />
- 如需安装或升级 Rancher 2.5,请使用 Helm 3.2.x 或更高版本。
- Kubernetes 1.16 要求 Helm 2.16.0 或更高版本。如果使用的是默认 Kubernetes 版本,请参见[发行说明](https://github.com/rancher/rke/releases)获取所使用的 RKE 版本。
@@ -2,6 +2,10 @@
title: 离线安装中设置本地 System Charts
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/resources/local-system-charts"/>
</head>
[Charts](https://github.com/rancher/charts) 仓库包含 Monitoring、Logging、告警和 Istio 等功能所需的所有 Helm 目录项。
在 Rancher 的离线安装中,你需要配置 Rancher 以使用 System Charts 的本地副本。本节介绍如何通过 CLI 标志使用本地 System Charts。
@@ -10,4 +14,4 @@ title: 离线安装中设置本地 System Charts
`system-charts` 的一个本地副本已经打包到 `rancher/rancher` 容器中。为了在离线安装中使用这些功能,你需要使用额外的环境变量 `CATTLE_SYSTEM_CATALOG=bundled` 来运行 Rancher 安装命令,该环境变量告诉 Rancher 使用 Chart 的本地副本,而不是尝试从 GitHub 获取 Chart。
带有 `system-charts` 的 Rancher 安装命令示例包含在 Docker 和 Helm 的[离线安装说明](../../../pages-for-subheaders/air-gapped-helm-cli-install.md)中。
带有 `system-charts` 的 Rancher 安装命令示例包含在 Docker 和 Helm 的[离线安装说明](../other-installation-methods/air-gapped-helm-cli-install/air-gapped-helm-cli-install.md)中。
@@ -0,0 +1,29 @@
---
title: 资源
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/resources"/>
</head>
### Docker 安装
[单节点 Docker 安装](../other-installation-methods/rancher-on-a-single-node-with-docker/rancher-on-a-single-node-with-docker.md)适用于想要测试 Rancher 的用户。你无需使用 Helm 在 Kubernetes 集群上运行 Rancher,你可以使用 `docker run` 命令,把 Rancher Server 组件安装到单个节点上。
由于只有一个节点和一个 Docker 容器,因此,如果该节点发生故障,由于其他节点上没有可用的 etcd 数据副本,你将丢失 Rancher Server 的所有数据。
### 离线安装
按照[以下步骤](../other-installation-methods/air-gapped-helm-cli-install/air-gapped-helm-cli-install.md)在离线环境中安装 Rancher Server。
离线环境可以是 Rancher Server 离线安装、防火墙后面或代理后面。
### 高级选项
安装 Rancher 时,有如下几个可开启的高级选项:每个安装指南中都提供了对应的选项。了解选项详情:
- [自定义 CA 证书](custom-ca-root-certificates.md)
- [API 审计日志](../../../how-to-guides/advanced-user-guides/enable-api-audit-log.md)
- [TLS 设置](../installation-references/tls-settings.md)
- [etcd 配置](../../../how-to-guides/advanced-user-guides/tune-etcd-for-large-installs.md)
- [离线安装 Local System Chart](local-system-charts.md)
@@ -2,9 +2,13 @@
title: 更新 Rancher 证书
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/resources/update-rancher-certificate"/>
</head>
## 更新私有 CA 证书
按照以下步骤轮换[安装在 Kubernetes 集群上](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md)、由 Rancher 使用的 SSL 证书和私有 CA,或转用由私有 CA 签发的 SSL 证书。
按照以下步骤轮换[安装在 Kubernetes 集群上](../install-upgrade-on-a-kubernetes-cluster/install-upgrade-on-a-kubernetes-cluster.md)、由 Rancher 使用的 SSL 证书和私有 CA,或转用由私有 CA 签发的 SSL 证书。
步骤概述:
@@ -69,6 +73,7 @@ kubectl -n cattle-system create secret generic tls-ca \
在这种情况下,由于 `tls-ca` secret 在启动时由 Rancher pod 读取,因此你需要重新部署 Rancher pod。
你可以运行以下命令重新部署 Rancher pod
```bash
kubectl rollout restart deploy/rancher -n cattle-system
```
@@ -82,24 +87,32 @@ kubectl rollout restart deploy/rancher -n cattle-system
以下步骤更新了 Rancher Chart 的 Helm 值,因此 Rancher pod 和 ingress 会使用在步骤 1 和 2 中创建的新私有 CA 证书。
1. 调整初始安装期间使用的值,将当前值存储为:
```bash
helm get values rancher -n cattle-system -o yaml > values.yaml
```
1. 检索当前部署的 Rancher Chart 的版本字符串:
```bash
helm ls -n cattle-system
```
1. 更新 `values.yaml` 文件中的当前 Helm 值以包含下方内容:
```yaml
ingress:
tls:
source: secret
privateCA: true
```
:::note 重要:
由于证书由私有 CA 签发,因此确保在 `values.yaml` 文件中设置了 [`privateCA: true`](../installation-references/helm-chart-options.md#常用选项) 是非常重要的。
:::
1. 使用 `values.yaml` 文件和当前 Chart 版本升级 Helm 应用程序实例。版本必须匹配以防止 Rancher 升级。
```bash
helm upgrade rancher rancher-stable/rancher \
--namespace cattle-system \
@@ -164,6 +177,7 @@ kubectl edit -n cattle-system deployment/cattle-cluster-agent
对每个下游集群重复以下步骤:
1. 检索 agent 注册 kubectl 命令:
1. 找到下游集群的集群 ID (c-xxxxx)。你可以在 Rancher UI 的**集群管理**中查看集群时在浏览器 URL 中找到 ID。
1. 将 Rancher Server URL 和集群 ID 添加到以下 URL:`https://<RANCHER_SERVER_URL>/v3/clusterregistrationtokens?clusterId=<CLUSTER_ID>`
1. 复制 `insecureCommand` 字段中的命令,使用此命令是因为未使用私有 CA。
@@ -230,19 +244,24 @@ kubectl -n cattle-system delete secret tls-ca
以下步骤更新了 Rancher Chart 的 Helm 值,因此 Rancher pod 和 Ingress 会使用在步骤 1 中创建的新证书。
1. 调整初始安装期间使用的值,将当前值存储为:
```bash
helm get values rancher -n cattle-system -o yaml > values.yaml
```
1. 获取当前部署的 Rancher Chart 的版本字符串:
```bash
helm ls -n cattle-system
```
1. 更新 `values.yaml` 文件中的当前 Helm 值:
1. 由于不再使用私有 CA,删除 `privateCA: true` 字段,或将其设置为 `false`
1. 根据需要调整 `ingress.tls.source` 字段。有关更多信息,请参阅 [Chart 选项](../installation-references/helm-chart-options.md#常用选项)。以下是一些示例:
1. 如果使用公共 CA,继续使用 `secret`
1. 如果使用 Let's Encrypt,将值更新为 `letsEncrypt`
1. 使用 `values.yaml` 文件更新 Rancher Chart 的 Helm 值,并使用当前 Chart 版本防止升级:
```bash
helm upgrade rancher rancher-stable/rancher \
--namespace cattle-system \
@@ -2,6 +2,12 @@
title: 升级 Cert-Manager
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/resources/upgrade-cert-manager"/>
</head>
Rancher 适配 API 版本 `cert-manager.io/v1` 并且在 cert-manager v1.13.1 版本上进行了测试。
Rancher 使用 cert-manager 为 Rancher 高可用部署自动生成和续期 TLS 证书。从 2019 秋季开始,cert-manager 发生了以下的三个重要变更。如果你在此时间段前创建了 Rancher 高可用部署,请进行相关操作。
1. [从 2019 年 11 月 1 日开始,Let's Encrypt 已阻止低于 0.8.0 的 cert-manager 实例。](https://community.letsencrypt.org/t/blocking-old-cert-manager-versions/98753)
@@ -92,8 +98,7 @@ Rancher 使用 cert-manager 为 Rancher 高可用部署自动生成和续期 TLS
```plain
helm install \
cert-manager jetstack/cert-manager \
--namespace cert-manager \
--version v1.11.0
--namespace cert-manager
```
1. [恢复备份资源](https://cert-manager.io/docs/tutorials/backup/#restoring-resources)
@@ -125,7 +130,7 @@ Rancher 使用 cert-manager 为 Rancher 高可用部署自动生成和续期 TLS
1. 从 [Helm Chart 仓库](https://artifacthub.io/packages/helm/cert-manager/cert-manager)中获取最新可用的 cert-manager Chart
```plain
helm fetch jetstack/cert-manager --version v1.11.0
helm fetch jetstack/cert-manager
```
1. 使用安装 Chart 的选项来渲染 cert-manager 模板。记住要设置 `image.repository` 选项,以从你的私有镜像仓库拉取镜像。此操作会创建一个包含 Kubernetes manifest 文件的 `cert-manager` 目录。
@@ -140,6 +145,8 @@ Rancher 使用 cert-manager 为 Rancher 高可用部署自动生成和续期 TLS
--set cainjector.image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-cainjector
```
<DeprecationHelm2 />
Helm 2 命令如下:
```plain
@@ -232,11 +239,12 @@ Rancher 使用 cert-manager 为 Rancher 高可用部署自动生成和续期 TLS
```
cmctl upgrade migrate-api-version
```
有关详细信息,请参阅 [API 版本迁移文档](https://cert-manager.io/docs/usage/cmctl/#migrate-api-version)。另请参阅[将 1.5 升级到 1.6](https://cert-manager.io/docs/installation/upgrading/upgrading-1.5-1.6/) 和[将 1.6 升级到到 1.7](https://cert-manager.io/docs/installation/upgrading/upgrading-1.6-1.7/)。
1. 正常使用 `helm upgrade` 将 cert-manager 升级到 1.7.1。如果需要,你可以直接从版本 1.5 转到 1.7。
1. 按照 Helm 教程[更新发布清单的 API 版本](https://helm.sh/docs/topics/kubernetes_apis/#updating-api-versions-of-a-release-manifest)。Chart 发布名称为 `release_name=rancher`,发布命名空​​间为 `release_namespace=cattle-system`。
1. 按照 Helm 教程[更新发布清单的 API 版本](https://helm.sh/docs/topics/kubernetes_apis/#updating-api-versions-of-a-release-manifest)。Chart 发布名称为 `release_name=rancher`,发布命名空 间为 `release_namespace=cattle-system`。
1. 在解码后的文件中,搜索 `cert-manager.io/v1beta1` 并将其**替换**为 `cert-manager.io/v1`。
@@ -278,4 +286,3 @@ v0.11 版本标志着删除先前 Cert-Manager 版本中使用的 v1alpha1 API
如需了解变更细节以及迁移说明,请参见[将 Cert-Manager 从 v0.10 升级到 v0.11](https://cert-manager.io/docs/installation/upgrading/upgrading-0.10-0.11/)。
如需获得更多信息,请参见 [Cert-Manager 升级](https://cert-manager.io/docs/installation/upgrade/)。
@@ -2,11 +2,14 @@
title: 升级和回滚 Kubernetes
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/upgrade-and-roll-back-kubernetes"/>
</head>
升级到最新版本的 Rancher 之后,下游 Kubernetes 集群可以升级为 Rancher 支持的最新的 Kubernetes 版本。
Rancher 使用 RKERancher Kubernetes Engine)来预置和编辑 RKE 集群。有关为 RKE 集群配置升级策略的更多信息,请参阅 [RKE 文档](https://rancher.com/docs/rke/latest/en/)。
## 经过测试的 Kubernetes 版本
Rancher 在发布新版本之前,会对其与 Kubernetes 的最新次要版本进行测试,以确保兼容性。有关各个 Rancher 版本测试了哪些 Kubernetes 版本的详细信息,请参阅[支持维护条款](https://rancher.com/support-maintenance-terms/all-supported-versions/rancher-v2.6.0/)。
@@ -17,7 +20,6 @@ RKE v1.1.0 改变了集群升级的方式。
在 [RKE 文档](https://rancher.com/docs/rke/latest/en/upgrades/how-upgrades-work)中,你将了解编辑或升级 RKE Kubernetes 集群时会发生的情况。
## 升级的最佳实践
在升级集群的 Kubernetes 版本时,我们建议你:
@@ -32,9 +34,9 @@ RKE v1.1.0 改变了集群升级的方式。
:::note 先决条件:
- 以下选项适用于 [Rancher 启动的 Kubernetes 集群](../../pages-for-subheaders/launch-kubernetes-with-rancher.md)和[注册的 K3s Kubernetes 集群](../../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md#已注册-rke2-和-k3s-集群的附加功能)。
- 以下选项适用于 [Rancher 启动的 Kubernetes 集群](../../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/launch-kubernetes-with-rancher.md)和[注册的 K3s Kubernetes 集群](../../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md#已注册-rke2-和-k3s-集群的附加功能)。
- 以下选项也适用于导入且已注册的 RKE2 集群。如果你从外部云平台导入集群但不注册,你将无法在 Rancher 中升级 Kubernetes 版本。
- 在升级 Kubernetes 之前,先[备份你的集群](../../pages-for-subheaders/backup-restore-and-disaster-recovery.md)。
- 在升级 Kubernetes 之前,先[备份你的集群](../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/backup-restore-and-disaster-recovery.md)。
:::
@@ -75,7 +77,7 @@ RKE v1.1.0 改变了集群升级的方式。
### 使用 Rancher UI 在升级期间启用节点清空
默认情况下,RKE 会在升级之前[封锁](https://kubernetes.io/docs/concepts/architecture/nodes/#manual-node-administration)每个节点。默认情况下,[清空](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/)会在升级期间被禁用。如果在集群配置中启用了清空​​,RKE 将在升级之前对节点进行封锁和清空。
默认情况下,RKE 会在升级之前[封锁](https://kubernetes.io/docs/concepts/architecture/nodes/#manual-node-administration)每个节点。默认情况下,[清空](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/)会在升级期间被禁用。如果在集群配置中启用了清空 ​​,RKE 将在升级之前对节点进行封锁和清空。
要在集群升级期间清空每个节点:
@@ -2,6 +2,10 @@
title: 在不升级 Rancher 的情况下升级 Kubernetes
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/upgrade-kubernetes-without-upgrading-rancher"/>
</head>
RKE 元数据功能允许你在新版本 Kubernetes 发布后立即为集群配置新版本,而无需升级 Rancher。此功能对于使用 Kubernetes 的补丁版本非常有用,例如,在原本支持 Kubernetes v1.14.6 的 Rancher Server 版本中,将 Kubernetes 升级到 v1.14.7。
:::note
@@ -10,7 +14,7 @@ Kubernetes API 可以在次要版本之间更改。因此,我们不支持引
:::
Rancher 的 Kubernetes 元数据包含 Rancher 用于配置 [RKE 集群](../../pages-for-subheaders/launch-kubernetes-with-rancher.md)的 Kubernetes 版本信息。Rancher 会定期同步数据并为 **系统镜像**、**服务选项**和**插件模板**创建自定义资源定义 (CRD)。因此,当新的 Kubernetes 版本与 Rancher Server 版本兼容时,Kubernetes 元数据可以使 Rancher 使用新版本来配置集群。元数据概述了 [Rancher Kubernetes Engine](https://rancher.com/docs/rke/latest/en/) (RKE) 用于部署各种 Kubernetes 版本的信息。
Rancher 的 Kubernetes 元数据包含 Rancher 用于配置 [RKE 集群](../../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/launch-kubernetes-with-rancher.md)的 Kubernetes 版本信息。Rancher 会定期同步数据并为 **系统镜像**、**服务选项**和**插件模板**创建自定义资源定义 (CRD)。因此,当新的 Kubernetes 版本与 Rancher Server 版本兼容时,Kubernetes 元数据可以使 Rancher 使用新版本来配置集群。元数据概述了 [Rancher Kubernetes Engine](https://rancher.com/docs/rke/latest/en/) (RKE) 用于部署各种 Kubernetes 版本的信息。
下表描述了受周期性数据同步影响的 CRD。
@@ -20,11 +24,11 @@ Rancher 的 Kubernetes 元数据包含 Rancher 用于配置 [RKE 集群](../../p
:::
| 资源 | 描述 | Rancher API URL |
|----------|-------------|-----------------|
| 系统镜像 | 用于通过 RKE 部署 Kubernetes 集群的系统镜像列表。 | `<RANCHER_SERVER_URL>/v3/rkek8ssystemimages` |
| 服务选项 | 传递给 Kubernetes 组件的默认选项,例如 `kube-api``scheduler``kubelet``kube-proxy``kube-controller-manager` | `<RANCHER_SERVER_URL>/v3/rkek8sserviceoptions` |
| 插件模板 | 用于部署插件组件的 YAML 定义,例如 Canal、Calico、Flannel、Weave、Kube-dns、CoreDNS、`metrics-server``nginx-ingress` | `<RANCHER_SERVER_URL>/v3/rkeaddons` |
| 资源 | 描述 | Rancher API URL |
| -------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
| 系统镜像 | 用于通过 RKE 部署 Kubernetes 集群的系统镜像列表。 | `<RANCHER_SERVER_URL>/v3/rkek8ssystemimages` |
| 服务选项 | 传递给 Kubernetes 组件的默认选项,例如 `kube-api``scheduler``kubelet``kube-proxy``kube-controller-manager` | `<RANCHER_SERVER_URL>/v3/rkek8sserviceoptions` |
| 插件模板 | 用于部署插件组件的 YAML 定义,例如 Canal、Calico、Flannel、Weave、Kube-dns、CoreDNS、`metrics-server``nginx-ingress` | `<RANCHER_SERVER_URL>/v3/rkeaddons` |
管理员可以通过配置 RKE 元数据设置来执行以下操作:
@@ -48,7 +52,7 @@ Rancher 的 Kubernetes 元数据包含 Rancher 用于配置 [RKE 集群](../../p
:::caution
只有管​​理员可以更改这些设置。
只有管 理员可以更改这些设置。
:::
@@ -64,6 +68,7 @@ RKE 元数据的配置控制 Rancher 同步元数据的频率以及从何处下
- `refresh-interval-minutes`:Rancher 等待同步元数据的时间。如果要禁用定期刷新,请将 `refresh-interval-minutes` 设置为 0。
- `url`Rancher 从中获取数据的 HTTP 路径。该路径必须是 JSON 文件的直接路径。例如,Rancher v2.4 的默认 URL 是 `https://releases.rancher.com/kontainer-driver-metadata/release-v2.4/data.json`
1. 单击**保存**。
如果你没有离线设置,则无需指定 Rancher 获取元数据的 URL,因为默认是从 [Rancher 的元数据 Git 仓库获取](https://github.com/rancher/kontainer-driver-metadata/blob/dev-v2.5/data/data.json)的。
@@ -80,7 +85,10 @@ Rancher Server 会定期刷新 `rke-metadata-config` 来下载新的 Kubernetes
在将新的 Kubernetes 版本加载到 Rancher Server 中之后,需要执行其他步骤才能使用它们启动集群。Rancher 需要访问更新的系统镜像。虽然只有管理员可以更改元数据设置,但任何用户都可以下载 Rancher 系统镜像并为镜像准备私有容器镜像仓库。
1. 要把系统镜像下载私有镜像仓库,请单击 Rancher UI 左下角的 Rancher Server 版本。
下载私有镜像仓库的系统镜像:
1. 点击左上角的 **☰**。
1. 点击左侧导航底部的**简介**。
1. 下载适用于 Linux 或 Windows 操作系统的镜像。
1. 下载 `rancher-images.txt`
1. 使用[离线环境安装](other-installation-methods/air-gapped-helm-cli-install/publish-images.md)时使用的步骤准备私有镜像仓库,但不要使用发布页面中的 `rancher-images.txt`,而是使用上一个步骤中获取的文件。
@@ -2,6 +2,10 @@
title: 概述
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/overview"/>
</head>
Rancher 是一个为使用容器的公司打造的容器管理平台。Rancher 使得开发者可以随处运行 KubernetesRun Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。
## Run Kubernetes Everywhere
@@ -30,21 +34,21 @@ Rancher API Server 是基于嵌入式 Kubernetes API Server 和 etcd 数据库
### 授权和基于角色的权限控制(RBAC)
- **用户管理**Rancher API Server 除了管理本地用户,还[管理用户用来访问外部服务所需的认证信息](../pages-for-subheaders/authentication-config.md),如登录 Active Directory 和 GitHub 所需的账号密码。
- **授权**Rancher API Server 可以管理[访问控制策略](../pages-for-subheaders/manage-role-based-access-control-rbac.md)和[安全策略](../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/create-pod-security-policies.md)。
- **用户管理**Rancher API Server 除了管理本地用户,还[管理用户用来访问外部服务所需的认证信息](../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/authentication-config.md),如登录 Active Directory 和 GitHub 所需的账号密码。
- **授权**Rancher API Server 可以管理[访问控制策略](../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/manage-role-based-access-control-rbac.md)和[安全策略](../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/create-pod-security-policies.md)。
### 使用 Kubernetes 的功能
- **配置 Kubernetes 集群**Rancher API Server 可以在已有节点上[配置 Kubernetes](../pages-for-subheaders/kubernetes-clusters-in-rancher-setup.md),或进行 [Kubernetes 版本升级](installation-and-upgrade/upgrade-and-roll-back-kubernetes.md)。
- **管理应用商店**Rancher 支持使用 [Helm Chart 应用商店](../pages-for-subheaders/helm-charts-in-rancher.md)实现轻松重复部署应用。
- **管理项目**:项目由集群中多个命名空间和访问控制策略组成,是 Rancher 中的一个概念,Kubernetes 中并没有这个概念。你可以使用项目实现以组为单位,管理多个命名空间,并进行 Kubernetes 相关操作。Rancher UI 提供用于[项目管理](../pages-for-subheaders/manage-projects.md)和[项目内应用管理](../pages-for-subheaders/kubernetes-resources-setup.md)的功能。
- **Fleet 持续交付**:在 Rancher 中,你可以使用 [Fleet 持续交付](../pages-for-subheaders/fleet-gitops-at-scale.md)将应用程序从 Git 仓库部署到目标下游 Kubernetes 集群,无需任何手动操作。
- **Istio**[Rancher 与 Istio 集成](../pages-for-subheaders/istio.md),使得管理员或集群所有者可以将 Istio 交给开发者,然后开发者使用 Istio 执行安全策略,排查问题,或为蓝绿部署,金丝雀部署,和 A/B 测试进行流量管理。
- **配置 Kubernetes 集群**Rancher API Server 可以在已有节点上[配置 Kubernetes](../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/kubernetes-clusters-in-rancher-setup.md),或进行 [Kubernetes 版本升级](installation-and-upgrade/upgrade-and-roll-back-kubernetes.md)。
- **管理应用商店**Rancher 支持使用 [Helm Chart 应用商店](../how-to-guides/new-user-guides/helm-charts-in-rancher/helm-charts-in-rancher.md)实现轻松重复部署应用。
- **管理项目**:项目由集群中多个命名空间和访问控制策略组成,是 Rancher 中的一个概念,Kubernetes 中并没有这个概念。你可以使用项目实现以组为单位,管理多个命名空间,并进行 Kubernetes 相关操作。Rancher UI 提供用于[项目管理](../how-to-guides/advanced-user-guides/manage-projects/manage-projects.md)和[项目内应用管理](../how-to-guides/new-user-guides/kubernetes-resources-setup/kubernetes-resources-setup.md)的功能。
- **Fleet 持续交付**:在 Rancher 中,你可以使用 [Fleet 持续交付](../integrations-in-rancher/fleet/fleet.md)将应用程序从 Git 仓库部署到目标下游 Kubernetes 集群,无需任何手动操作。
- **Istio**[Rancher 与 Istio 集成](../integrations-in-rancher/istio/istio.md),使得管理员或集群所有者可以将 Istio 交给开发者,然后开发者使用 Istio 执行安全策略,排查问题,或为蓝绿部署,金丝雀部署,和 A/B 测试进行流量管理。
### 配置云基础设施
- **同步节点信息**Rancher API Server 可以同步所有集群中全部[节点](../how-to-guides/new-user-guides/manage-clusters/nodes-and-node-pools.md)的信息。
- **配置云基础设施**:如果你为 Rancher 配置了云提供商,Rancher 可以在云端动态配置[新节点](../pages-for-subheaders/use-new-nodes-in-an-infra-provider.md)和[持久化存储](../pages-for-subheaders/create-kubernetes-persistent-storage.md)。
- **配置云基础设施**:如果你为 Rancher 配置了云提供商,Rancher 可以在云端动态配置[新节点](../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/use-new-nodes-in-an-infra-provider.md)和[持久化存储](../how-to-guides/new-user-guides/manage-clusters/create-kubernetes-persistent-storage/create-kubernetes-persistent-storage.md)。
### 查看集群信息
@@ -54,9 +58,9 @@ Rancher API Server 是基于嵌入式 Kubernetes API Server 和 etcd 数据库
## 使用 Rancher 编辑下游集群
对于已有集群而言,可提供的选项和设置取决于你配置集群的方法。例如,只有[通过 RKE 启动](../pages-for-subheaders/launch-kubernetes-with-rancher.md)的集群才有可编辑的**集群选项**。
对于已有集群而言,可提供的选项和设置取决于你配置集群的方法。例如,只有[通过 RKE 启动](../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/launch-kubernetes-with-rancher.md)的集群才有可编辑的**集群选项**。
使用 Rancher 创建集群后,集群管理员可以管理集群成员,管理节点池,或进行[其他操作](../pages-for-subheaders/cluster-configuration.md)。
使用 Rancher 创建集群后,集群管理员可以管理集群成员,管理节点池,或进行[其他操作](../reference-guides/cluster-configuration/cluster-configuration.md)。
下表总结了每一种类型的集群和对应的可编辑的选项和设置:
@@ -1,6 +1,10 @@
---
title: Rancher AWS Marketplace 快速入门
description: 使用 Amazon EKS 部署 Rancher Server。
title: Rancher Prime AWS Marketplace 快速入门
description: 使用 Amazon Marketplace 列表部署 Rancher Server。
---
Amazon Elastic Kubernetes Service (EKS) 可以快速[将 Rancher 部署到 Amazon Web Services (AWS)](https://documentation.suse.com/trd/kubernetes/single-html/gs_rancher_aws-marketplace/)。详情请参见我们的 [Amazon Marketplace 列表](https://aws.amazon.com/marketplace/pp/prodview-go7ent7goo5ae)。观看 [demo](https://youtu.be/9dznJ7Ons0M),了解 AWS Marketplace SUSE Rancher 设置的演练。
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager/aws-marketplace"/>
</head>
你可以快速将 Rancher Prime 部署到 Amazon Elastic Kubernetes Service (EKS)。详情请参见[说明](https://suse-enceladus.github.io/marketplace-docs/rancher-prime/aws/?repository=rancher-payg-billing-adapter-llc-prd)以及我们的 [Amazon Marketplace 列表](https://aws.amazon.com/marketplace/pp/prodview-go7ent7goo5ae)。
@@ -3,11 +3,15 @@ title: Rancher AWS 快速入门指南
description: 阅读此分步 Rancher AWS 指南,以快速部署带有单节点下游 Kubernetes 集群的 Rancher Server。
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager/aws"/>
</head>
你可以参考以下步骤,在 AWS 的单节点 K3s Kubernetes 集群中快速部署 Rancher Server,并附加一个单节点下游 Kubernetes 集群。
:::caution
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../../pages-for-subheaders/installation-and-upgrade.md)。
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../installation-and-upgrade/installation-and-upgrade.md)。
:::
@@ -86,7 +90,7 @@ AWS 模块只创建一个 EC2 密钥对、一个 EC2 安全组和一个 EC2 实
## 后续操作
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../../../pages-for-subheaders/deploy-rancher-workloads.md)。
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../deploy-workloads/deploy-workloads.md)。
## 销毁环境
@@ -3,11 +3,15 @@ title: Rancher Azure 快速入门指南
description: 阅读此分步 Rancher Azure 指南,以快速部署带有单节点下游 Kubernetes 集群的 Rancher Server。
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager/azure"/>
</head>
你可以参考以下步骤,在 Azure 的单节点 K3s Kubernetes 集群中快速部署 Rancher Server,并附加一个单节点下游 Kubernetes 集群。
:::caution
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../../pages-for-subheaders/installation-and-upgrade.md)。
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../installation-and-upgrade/installation-and-upgrade.md)。
:::
@@ -72,7 +76,7 @@ description: 阅读此分步 Rancher Azure 指南,以快速部署带有单节
### 后续操作
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../../../pages-for-subheaders/deploy-rancher-workloads.md)。
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../deploy-workloads/deploy-workloads.md)。
## 销毁环境
@@ -0,0 +1,24 @@
---
title: 部署 Rancher Server
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager"/>
</head>
你可使用以下指南之一,在你选择的提供商中部署和配置 Rancher 和 Kubernetes 集群。
- [AWS](aws.md)(使用 Terraform
- [AWS Marketplace](aws-marketplace.md)(使用 Amazon EKS
- [Azure](azure.md)(使用 Terraform
- [DigitalOcean](digitalocean.md)(使用 Terraform
- [GCP](gcp.md)(使用 Terraform
- [Hetzner Cloud](hetzner-cloud.md)(使用 Terraform
- [Linode](linode.md) (使用 Terraform)
- [Vagrant](vagrant.md)
- [Equinix Metal](equinix-metal.md)
- [Outscale](outscale-qs.md)(使用 Terraform
如有需要,你可以查看以下指南以了解分步步骤。如果你需要在其他提供商中或本地运行 Rancher,或者你只是想看看它是多么容易上手,你可阅读以下指南:
- [手动安装](helm-cli.md)
@@ -3,11 +3,15 @@ title: Rancher DigitalOcean 快速入门指南
description: 阅读此分步 Rancher DigitalOcean 指南,以快速部署带有单节点下游 Kubernetes 集群的 Rancher Server。
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager/digitalocean"/>
</head>
你可以参考以下步骤,在 DigitalOcean 的单节点 K3s Kubernetes 集群中快速部署 Rancher Server,并附加一个单节点下游 Kubernetes 集群。
:::caution
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../../pages-for-subheaders/installation-and-upgrade.md)。
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../installation-and-upgrade/installation-and-upgrade.md)。
:::
@@ -65,7 +69,7 @@ description: 阅读此分步 Rancher DigitalOcean 指南,以快速部署带有
### 后续操作
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../../../pages-for-subheaders/deploy-rancher-workloads.md)。
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../deploy-workloads/deploy-workloads.md)。
## 销毁环境
@@ -2,6 +2,10 @@
title: Rancher Equinix Metal 快速入门
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager/equinix-metal"/>
</head>
## 本章节引导你:
- 配置 Equinix Metal server
@@ -11,7 +15,7 @@ title: Rancher Equinix Metal 快速入门
:::caution
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。不建议将 Docker 安装用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../../pages-for-subheaders/installation-and-upgrade.md)。
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。不建议将 Docker 安装用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../installation-and-upgrade/installation-and-upgrade.md)。
:::
@@ -29,7 +33,7 @@ title: Rancher Equinix Metal 快速入门
### 1. 配置 Equinix Metal 主机
开始部署 Equinix Metal 主机。你可以使用 Equinix Metal 控制台API 或 CLI 来配置 Equinix Metal Server。如果你需要了解每种 Deployment 类型的说明,请参见 [Equinix Metal 部署](https://metal.equinix.com/developers/docs/deploy/on-demand/)。以下链接介绍 Equinix Metal Server 的类型以及价格:
开始部署 Equinix Metal 主机。你可以使用 Equinix Metal 控制台、CLI 或 API 来配置 Equinix Metal Server。如果你需要了解每种 Deployment 类型的说明,请参见 [Equinix Metal 部署](https://metal.equinix.com/developers/docs/deploy/on-demand/)。以下链接介绍 Equinix Metal Server 的类型以及价格:
- [Equinix Metal Server 类型](https://metal.equinix.com/developers/docs/servers/about/)
- [Equinix Metal 价格](https://metal.equinix.com/developers/docs/servers/server-specs/)
@@ -38,7 +42,7 @@ title: Rancher Equinix Metal 快速入门
- 如果使用 CLI 或 API 配置新的 Equinix Metal Server,你需要提供项目 ID、计划、metro 和操作系统。
- 当使用云主机的虚拟机时,你需要允许 80 和 443 端口的入站 TCP 通信。有关端口配置的信息,请参见你的云主机的文档。
- 如需了解所有端口要求,请参见 [Docker 安装](../../../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/node-requirements-for-rancher-managed-clusters.md)。
- 根据我们的[要求](../../../pages-for-subheaders/installation-requirements.md)配置主机。
- 根据我们的[要求](../../installation-and-upgrade/installation-requirements/installation-requirements.md)配置主机。
:::
### 2. 安装 Rancher
@@ -103,4 +107,4 @@ title: Rancher Equinix Metal 快速入门
#### 后续操作
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../../../pages-for-subheaders/deploy-rancher-workloads.md)。
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../deploy-workloads/deploy-workloads.md)。
@@ -3,11 +3,15 @@ title: Rancher GCP 快速入门指南
description: 阅读此分步 Rancher GCP 指南,以快速部署带有单节点下游 Kubernetes 集群的 Rancher Server。
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager/gcp"/>
</head>
你可以参考以下步骤,在 GCP 的单节点 K3s Kubernetes 集群中快速部署 Rancher Server,并附加一个单节点下游 Kubernetes 集群。
:::caution
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../../pages-for-subheaders/installation-and-upgrade.md)。
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../installation-and-upgrade/installation-and-upgrade.md)。
:::
@@ -68,7 +72,7 @@ description: 阅读此分步 Rancher GCP 指南,以快速部署带有单节点
### 后续操作
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../../../pages-for-subheaders/deploy-rancher-workloads.md)。
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../deploy-workloads/deploy-workloads.md)。
## 销毁环境
@@ -2,6 +2,10 @@
title: Helm CLI 快速入门
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager/helm-cli"/>
</head>
本文提供了快速安装 Rancher 的方法。
这些说明假设你有一个 Linux 虚拟机,并能从本地工作站与之通信。Rancher 将安装在 Linux 主机上。你将需要检索该主机的 IP 地址,以便从本地工作站访问 Rancher。Rancher 旨在远程管理 Kubernetes 集群,因此 Rancher 管理的任何 Kubernetes 集群也都需要能够访问该 IP 地址。
@@ -10,7 +14,7 @@ title: Helm CLI 快速入门
你的 Linux 主机可以位于任何地方。例如,它可以是 Amazon EC2 实例、Digital Ocean Droplet 或 Azure 虚拟机。其他 Rancher 文档也经常称它们为“节点”。部署 Linux 主机的一种方法是设置一个 Amazon EC2 实例,如[本教程](../../../how-to-guides/new-user-guides/infrastructure-setup/nodes-in-amazon-ec2.md)中所示。
完整的安装要求在[这里](../../../pages-for-subheaders/installation-requirements.md)。
完整的安装要求在[这里](../../installation-and-upgrade/installation-requirements/installation-requirements.md)。
## 在 Linux 上安装 K3s
@@ -104,7 +108,7 @@ helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
kubectl create namespace cattle-system
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.0/cert-manager.crds.yaml
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/<VERSION>/cert-manager.crds.yaml
helm repo add jetstack https://charts.jetstack.io
@@ -112,14 +116,12 @@ helm repo update
helm install cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace \
--version v1.11.0
--create-namespace
# Windows Powershell
helm install cert-manager jetstack/cert-manager `
--namespace cert-manager `
--create-namespace `
--version v1.11.0
--create-namespace
```
安装 Rancher 的最终命令如下。该命令需要一个将流量转发到 Linux 主机的域名。为了简化本教程,你可以使用假域名。`<IP_OF_LINUX_NODE>.sslip.io` 是一个假域名的例子。
@@ -149,6 +151,6 @@ helm install rancher rancher-latest/rancher `
为了简化说明,我们使用了一个假域名和自签名证书来进行安装。因此,你可能需要在 Web 浏览器中添加一个安全例外来查看 Rancher UI。请注意,对于生产安装,你需要具有负载均衡器、真实域名和真实证书的高可用性设置。
这些说明还省略了完整的安装要求和其他安装选项。如果你对这些步骤有任何疑问,请参阅完整的 [Helm CLI 安装文档](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md)。
这些说明还省略了完整的安装要求和其他安装选项。如果你对这些步骤有任何疑问,请参阅完整的 [Helm CLI 安装文档](../../installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/install-upgrade-on-a-kubernetes-cluster.md)。
要使用新的 Rancher Server 来启动新的 Kubernetes 集群,你可能需要在 Rancher 中设置云凭证。有关更多信息,请参阅[使用 Rancher 启动 Kubernetes 集群](../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)。
要使用新的 Rancher Server 来启动新的 Kubernetes 集群,你可能需要在 Rancher 中设置云凭证。有关更多信息,请参阅[使用 Rancher 启动 Kubernetes 集群](../../../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/launch-kubernetes-with-rancher.md)。
@@ -3,11 +3,15 @@ title: Rancher Hetzner Cloud 快速入门指南
description: 阅读此分步 Rancher Hetzner Cloud 指南,以快速部署带有单节点下游 Kubernetes 集群的 Rancher Server。
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager/hetzner-cloud"/>
</head>
你可以参考以下步骤,在 Hetzner Cloud 的单节点 K3s Kubernetes 集群中快速部署 Rancher Server,并附加一个单节点下游 Kubernetes 集群。
:::caution
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../../pages-for-subheaders/installation-and-upgrade.md)。
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../installation-and-upgrade/installation-and-upgrade.md)。
:::
@@ -67,7 +71,7 @@ description: 阅读此分步 Rancher Hetzner Cloud 指南,以快速部署带
### 后续操作
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../../../pages-for-subheaders/deploy-rancher-workloads.md)。
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../deploy-workloads/deploy-workloads.md)。
## 销毁环境
@@ -0,0 +1,83 @@
---
title: Rancher Linode 快速入门指南
description: 阅读此分步 Rancher Linode 指南,以快速部署带有单节点下游 Kubernetes 集群的 Rancher Server。
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager/linode"/>
</head>
你可以参考以下步骤,在 Linode 的单节点 K3s Kubernetes 集群中快速部署 Rancher Server,并附加一个单节点下游 Kubernetes 集群。
:::caution
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../installation-and-upgrade/installation-and-upgrade.md)。
:::
## 先决条件
:::caution
部署到 Linode 会产生费用。
:::
- [Linode 账号](https://linode.com): 用于运行服务器和集群。
- [Linode 访问密钥](https://www.linode.com/docs/products/tools/api/guides/manage-api-tokens/): 用于权限认证的 Linode 访问密钥。
- [Terraform](https://www.terraform.io/downloads.html): 用于在 Linode 中配置服务器和集群。
## 开始使用
1. 使用命令行工具,执行 `git clone https://github.com/rancher/quickstart` 把 [Rancher Quickstart](https://github.com/rancher/quickstart) 克隆到本地。
2. 执行 `cd quickstart/rancher/linode` 命令,进入包含 Terraform 文件的 Linode 文件夹。
3.`terraform.tfvars.example` 文件重命名为 `terraform.tfvars`
4. 编辑 `terraform.tfvars` 文件,并替换以下变量:
- `linode_token` - 上面提到的 Linode 访问密钥。
- `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码(最少 12 字符)
5. **可选**:修改 `terraform.tfvars` 中的可选参数。
参见 [Quickstart Readme](https://github.com/rancher/quickstart) 以及 [Linode Quickstart Readme](https://github.com/rancher/quickstart/tree/master/rancher/linode) 了解更多信息。
建议包括:
- `linode_region` - 创建服务器以及集群的目标 Linode 区域。
- 默认: `eu-central`
- 完整的区域列表, 请参照[官方的可用区域页面](https://www.linode.com/global-infrastructure/availability/).
- `prefix` - 所有创建资源的前缀
- `linode_type` - 所有的 Linode 资源使用的类型/计划
- 默认: `g6-standard-2`
- 完整的计划列表, 请参照[官方的计划类型页面](https://www.linode.com/docs/products/compute/compute-instances/plans/).
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/linode` 中生成的 `id_rsa` 密钥 SSH 到 Rancher Server。
#### 结果
两个 Kubernetes 集群已部署到你的 Linode 账户中,一个运行 Rancher Server,另一个为实验部署做好准备。请注意,虽然这种设置是探索 Rancher 功能的好方法,但在生产环境中,应遵循我们的高可用设置指南。用于虚拟机的 SSH 密钥是自动生成的,存储在模块目录中。
### 后续操作
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../deploy-workloads/deploy-workloads.md)。
## 销毁环境
1. 进入 `quickstart/rancher/linode` 文件夹,然后执行 `terraform destroy --auto-approve`。
2. 等待命令行界面显示资源已删除的消息。
@@ -3,11 +3,15 @@ title: Rancher Outscale 快速入门指南
description: 阅读此分步 Rancher Outscale 指南,以快速部署带有单节点下游 Kubernetes 集群的 Rancher Server。
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager/outscale-qs"/>
</head>
你可以参考以下步骤,在 Outscale 的单节点 K3s Kubernetes 集群中快速部署 Rancher Server,并附加一个单节点下游 Kubernetes 集群。
:::note
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../../pages-for-subheaders/installation-and-upgrade.md)。
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../installation-and-upgrade/installation-and-upgrade.md)。
:::
@@ -67,7 +71,7 @@ description: 阅读此分步 Rancher Outscale 指南,以快速部署带有单
### 后续操作
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../../../pages-for-subheaders/deploy-rancher-workloads.md)。
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../deploy-workloads/deploy-workloads.md)。
## 销毁环境
@@ -2,11 +2,15 @@
title: Vagrant 快速入门
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager/vagrant"/>
</head>
你可以参考以下步骤快速部署 Rancher Server,并附加一个单节点集群。
:::caution
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../../pages-for-subheaders/installation-and-upgrade.md)。
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../../installation-and-upgrade/installation-and-upgrade.md)。
:::
@@ -17,11 +21,12 @@ title: Vagrant 快速入门
- 至少 4GB 的可用内存。
### 注意
- Vagrant 需要使用插件来创建 VirtualBox 虚拟机。请执行以下命令进行安装:
`vagrant plugin install vagrant-vboxmanage`
`vagrant plugin install vagrant-vboxmanage`
`vagrant plugin install vagrant-vbguest`
`vagrant plugin install vagrant-vbguest`
## 开始使用
@@ -42,7 +47,7 @@ title: Vagrant 快速入门
### 后续操作
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../../../pages-for-subheaders/deploy-rancher-workloads.md)。
使用 Rancher 创建 deployment。详情请参见[创建 Deployment](../deploy-workloads/deploy-workloads.md)。
## 销毁环境
@@ -0,0 +1,12 @@
---
title: 部署工作负载
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-workloads"/>
</head>
这些指南指导你完成一个应用的部署,包括如何将应用暴露在集群之外使用。
- [部署带有 Ingress 的工作负载](workload-ingress.md)
- [部署带有 NodePort 的工作负载](nodeports.md)
@@ -0,0 +1,21 @@
---
title: Rancher 部署快速入门指南
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides"/>
</head>
:::caution
本章节中提供的指南,旨在帮助你快速启动一个用于 Rancher 的沙盒,以评估 Rancher 是否能满足你的使用需求。快速入门指南不适用于生产环境。如果你需要获取生产环境的操作指导,请参见[安装](../installation-and-upgrade/installation-and-upgrade.md)。
:::
你可以阅读本章节,以快速开始部署和测试 Rancher 2.x。本章节包含 Rancher 的简单设置和一些常见用例的说明。未来,我们会在本章节中添加更多内容。
我们提供以下快速入门指南:
- [部署 Rancher Server](deploy-rancher-manager/deploy-rancher-manager.md):使用最方便的方式运行 Rancher。
- [部署工作负载](deploy-workloads/deploy-workloads.md):部署一个简单的[工作负载](https://kubernetes.io/docs/concepts/workloads/)并公暴露工作负载,以从集群外部访问工作负载。
@@ -0,0 +1,11 @@
---
title: 高级用户指南
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/advanced-user-guides"/>
</head>
高级用户指南是“问题导向”的文档,用户可以从中学习如何解决问题。高级用于指南与新用户指南的主要区别在于,高级用户指南面向更有经验或更高级的用户,这些用户对文档有更多的技术需求,而且已经了解 Rancher 及其功能。他们知道自己需要做什么,只是需要额外的指导来完成更复杂的任务。
应该注意的是,新用户指南和高级用户指南都没有提供详细的解释或讨论(这些文档不包括在本部分)。操作指南侧重于引导用户通过可重复、有效的步骤来学习新技能、掌握某些操作或解决某些问题。
@@ -0,0 +1,17 @@
---
title: CIS 扫描指南
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/advanced-user-guides/cis-scan-guides"/>
</head>
- [安装 Rancher CIS Benchmark](install-rancher-cis-benchmark.md)
- [卸载 Rancher CIS Benchmark](uninstall-rancher-cis-benchmark.md)
- [运行扫描](run-a-scan.md)
- [定时运行扫描](run-a-scan-periodically-on-a-schedule.md)
- [跳过测试](skip-tests.md)
- [查看报告](view-reports.md)
- [为 Rancher CIS Benchmark 启用告警](enable-alerting-for-rancher-cis-benchmark.md)
- [为定时扫描配置告警](configure-alerts-for-periodic-scan-on-a-schedule.md)
- [为集群扫描创建自定义 Benchmark 版本](create-a-custom-benchmark-version-to-run.md)
@@ -0,0 +1,140 @@
---
title: 下游集群开启 API 审计日志
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/advanced-user-guides/enable-api-audit-log-in-downstream-clusters"/>
</head>
Kubernetes 审计提供了由 Kube-apiserver 执行的与安全相关的、按时间顺序排列的集群审计记录。Kube API 会在请求执行的每个阶段都生成一个事件,然后根据策略进行预处理并保存,审计策略配置了要记录的内容。
你可能希望将审计日志配置为遵守互联网安全中心 (CIS) Kubernetes 基准控制的一部分。
有关配置的详细信息,请参阅 [Kubernetes 官方文档](https://kubernetes.io/docs/tasks/debug/debug-cluster/audit/)。
<Tabs groupId="k8s-distro">
<TabItem value="RKE2/K3s" default>
:::note
Rancher v2.7.2 及以上版本提供此功能。
:::
首先,你需要创建一个 Secret 或 ConfigMap,用于配置审计策略。
Secret 或 ConfigMap 必须满足以下两个要求:
1. 必须位于 Cluster 对象所在的 `fleet-default` 命名空间中。
2. 它必须具有注释 `rke.cattle.io/object-authorized-for-clusters: cluster-name1,cluster-name2`,以允许目标集群使用它。
:::tip
Rancher Dashboard 提供了易于使用的表单页面用于创建 Secret 或 ConfigMap。
:::
例子:
```yaml
apiVersion: v1
data:
audit-policy: >-
IyBMb2cgYWxsIHJlcXVlc3RzIGF0IHRoZSBNZXRhZGF0YSBsZXZlbC4KYXBpVmVyc2lvbjogYXVkaXQuazhzLmlvL3YxCmtpbmQ6IFBvbGljeQpydWxlczoKLSBsZXZlbDogTWV0YWRhdGE=
kind: Secret
metadata:
annotations:
rke.cattle.io/object-authorized-for-clusters: cluster1
name: name1
namespace: fleet-default
```
可以通过编辑集群 YAML 的 `machineSelectorFiles``machineGlobalConfig` 字段来启用和配置审计日志。
例子:
```yaml
apiVersion: provisioning.cattle.io/v1
kind: Cluster
spec:
rkeConfig:
machineGlobalConfig:
kube-apiserver-arg:
- audit-policy-file=<customized-path>/dev-audit-policy.yaml
- audit-log-path=<customized-path>/dev-audit.logs
machineSelectorFiles:
- fileSources:
- configMap:
name: ''
secret:
items:
- key: audit-policy
path: <customized-path>/dev-audit-policy.yaml
name: dev-audit-policy
machineLabelSelector:
matchLabels:
rke.cattle.io/control-plane-role: 'true'
```
有关集群配置的更多信息,请参阅 REK2 或 K3s 集群配置参考页。
</TabItem>
<TabItem value="RKE1">
可通过编辑集群 YAML 来启用和配置审计日志。
在启用审计日志后,将使用 RKE1 的默认值。
```yaml
#
# Rancher Config
#
rancher_kubernetes_engine_config:
services:
kube-api:
audit_log:
enabled: true
```
你还可以自定义审计日志配置。
```yaml
#
# Rancher Config
#
rancher_kubernetes_engine_config:
services:
kube-api:
audit_log:
enabled: true
configuration:
max_age: 6
max_backup: 6
max_size: 110
path: /var/log/kube-audit/audit-log.json
format: json
policy:
apiVersion: audit.k8s.io/v1 # 这里必须填写
kind: Policy
omitStages:
- "RequestReceived"
rules:
# Log pod changes at RequestResponse level
- level: RequestResponse
resources:
- group: ""
# Resource "pods" doesn't match requests to any subresource of pods,
# which is consistent with the RBAC policy.
resources: ["pods"]
# Log "pods/log", "pods/status" at Metadata level
- level: Metadata
resources:
- group: ""
resources: ["pods/log", "pods/status"]
```
配置详情请参考 [RKE1 官方文档](https://rke.docs.rancher.com/config-options/audit-log)。
</TabItem>
</Tabs>
@@ -0,0 +1,127 @@
---
title: 启用实验功能
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/advanced-user-guides/enable-experimental-features"/>
</head>
Rancher 包含一些默认关闭的实验功能。在某些情况下,例如当你认为使用[不支持的存储类型](unsupported-storage-drivers.md)的好处大于使用未经测试的功能的风险时,你可能想要启用实验功能。为了让你能够试用这些默认关闭的功能,我们引入了功能开关(feature flag)。
实验功能可以通过以下三种方式启用:
- [使用 CLI](#启动-rancher-时启用功能):在使用 CLI 安装 Rancher 时,使用功能开关默认启用某个功能。
- [使用 Rancher UI](#使用-rancher-ui-启用功能):在**设置**页面启用功能。
- [使用 Rancher API](#使用-rancher-api-启用功能):安装 Rancher 后启用功能。
每个功能均有以下两个值:
- 默认值:可以通过在命令行使用标志或环境变量进行配置。
- 设置值:可以通过 Rancher API 或 UI 进行配置。
如果没有设置值,Rancher 会使用默认值。
设置值是通过 API 设置的,而默认值是通过命令行设置。因此,如果你使用 API 或 UI 启用或禁用某个功能,命令行中设置的值将被覆盖。
如果你安装 Rancher 后使用 Rancher API 将功能开关设置为 true,然后在使用命令升级 Rancher 时将功能开关设置为 false,在这种情况下,虽然默认值会是 false,但是该功能依然会被启用,因为它是通过 API 设置的。如果你随后使用 Rancher API 删除设置值(true)并将它设置为 NULL,则默认值(false)将生效。有关详细信息,请参阅[功能开关页面](../../../getting-started/installation-and-upgrade/installation-references/feature-flags.md)。
## 启动 Rancher 时启用功能
安装 Rancher 时,使用功能开关启用你所需的功能。通过单节点容器安装 Rancher,和在 Kubernetes 集群上安装 Rancher 对应的命令有所不同。
### Kubernetes 安装的情况下启用功能
:::note
通过 Rancher API 设置的值会覆盖命令行传入的值。
:::
使用 Helm Chart 安装 Rancher 时,使用 `--set` 选项。下面的示例通过传递功能开关名称(用逗号分隔)来启用两个功能:
对于 Kubernetes v1.25 或更高版本,使用 Rancher v2.7.2-v2.7.4 时,将 `global.cattle.psp.enabled` 设置为 `false`。对于 Rancher v2.7.5 及更高版本来说,这不是必需的,但你仍然可以手动设置该选项。
```
helm install rancher rancher-latest/rancher \
--namespace cattle-system \
--set hostname=rancher.my.org \
--set 'extraEnv[0].name=CATTLE_FEATURES'
--set 'extraEnv[0].value=<FEATURE-FLAG-NAME-1>=true,<FEATURE-FLAG-NAME-2>=true'
```
:::note
如果你安装的是 alpha 版本,Helm 要求你在命令中添加 `--devel` 选项。
:::
### 离线安装的情况下渲染 Helm Chart
如果你是在离线环境安装 Rancher 的,在使用 Helm 安装 Rancher 之前,你需要添加一个 Helm Chart 仓库并渲染一个 Helm 模板。详情请参见[离线安装文档](../../../getting-started/installation-and-upgrade/other-installation-methods/air-gapped-helm-cli-install/install-rancher-ha.md)。
以下是在渲染 Helm 模板时传入功能开关名称的命令示例。下面的示例通过传递功能开关名称(用逗号分隔)来启用两个功能。
Helm 命令如下:
```
helm install rancher ./rancher-<VERSION>.tgz \
--namespace cattle-system \
--set hostname=<RANCHER.YOURDOMAIN.COM> \
--set rancherImage=<REGISTRY.YOURDOMAIN.COM:PORT>/rancher/rancher \
--set ingress.tls.source=secret \
--set systemDefaultRegistry=<REGISTRY.YOURDOMAIN.COM:PORT> \ # 设置在 Rancher 中使用的私有镜像仓库
--set useBundledSystemChart=true # 使用打包的 Rancher System Chart
--set 'extraEnv[0].name=CATTLE_FEATURES'
--set 'extraEnv[0].value=<FEATURE-FLAG-NAME-1>=true,<FEATURE-FLAG-NAME-2>=true'
```
### Docker 安装的情况下启用功能
如果 Rancher 是使用 Docker 安装的,请使用 `--features` 选项。下面的示例通过传递功能开关名称(用逗号分隔)来启用两个功能:
```
docker run -d -p 80:80 -p 443:443 \
--restart=unless-stopped \
rancher/rancher:rancher-latest \
--features=<FEATURE-FLAG-NAME-1>=true,<FEATURE-FLAG-NAME-2>=true
```
## 使用 Rancher UI 启用功能
1. 在左上角,单击 **☰ > 全局设置**。
1. 单击**功能开关**。
1. 如需启用某个功能,找到该已禁用的功能,并点击**⋮ > 激活**。
**结果**:该功能已启用。
### 使用 Rancher UI 禁用功能
1. 在左上角,单击 **☰ > 全局设置**。
1. 单击**功能开关**。你将看到实验功能列表。
1. 如需禁用某个功能,找到该已启用的功能,并点击**⋮ > 停用**。
**结果**:该功能已禁用。
## 使用 Rancher API 启用功能
1. 前往 `<RANCHER-SERVER-URL>/v3/features`
1.`data` 中,你会看到一个数组,该数组包含所有能通过功能开关启用的功能。功能的名称在 `id` 字段中。单击要启用的功能的名称。
1. 在左上角的 **Operations** 下,点击 **Edit**
1.**Value** 下拉菜单中,单击 **True**
1. 单击 **Show Request**
1. 单击 **Send Request**
1. 点击 **Close**
**结果**:该功能已启用。
### 使用 Rancher API 禁用功能
1. 前往 `<RANCHER-SERVER-URL>/v3/features`
1.`data` 中,你会看到一个数组,该数组包含所有能通过功能开关启用的功能。功能的名称在 `id` 字段中。单击要启用的功能的名称。
1. 在左上角的 **Operations** 下,点击 **Edit**
1.**Value** 下拉菜单中,单击 **False**
1. 单击 **Show Request**
1. 单击 **Send Request**
1. 点击 **Close**
**结果**:该功能已禁用。
@@ -0,0 +1,34 @@
---
title: 设置指南
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/advanced-user-guides/istio-setup-guide"/>
</head>
本文介绍如何启用 Istio 并在你的项目中使用它。
如果你使用 Istio 进行流量管理,则需要允许外部流量进入集群。在这种情况下,你将需要执行以下所有步骤。
## 先决条件
本指南假设你已经[安装 Rancher](../../../getting-started/installation-and-upgrade/installation-and-upgrade.md),且已经[配置了一个单独的 Kubernetes 集群](../../new-user-guides/kubernetes-clusters-in-rancher-setup/kubernetes-clusters-in-rancher-setup.md)并要在该集群上安装 Istio。
集群中的节点必须满足 [CPU 和内存要求](../../../integrations-in-rancher/istio/cpu-and-memory-allocations.md)。
Istio 控制的工作负载和服务必须满足 [Istio 要求](https://istio.io/docs/setup/additional-setup/requirements/)。
## 安装
:::tip 快速设置提示:
如果你不需要外部流量到达 Istio,而只想设置 Istio 以监控和跟踪集群内的流量,请跳过[设置 Istio Gateway](set-up-istio-gateway.md)和[设置 Istio 的流量管理组件](set-up-traffic-management.md)步骤。
:::
1. [在集群中启用 Istio。](enable-istio-in-cluster.md)
2. [在命名空间中启用 Istio。](enable-istio-in-namespace.md)
3. [使用 Istio Sidecar 添加部署和服务。](use-istio-sidecar.md)
4. [设置 Istio Gateway。](set-up-istio-gateway.md)
5. [设置 Istio 的流量管理组件。](set-up-traffic-management.md)
6. [生成和查看流量。](generate-and-view-traffic.md)
@@ -0,0 +1,50 @@
---
title: 项目资源配额
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas"/>
</head>
如果多个团队共享一个集群,某个团队可能会使用过多的可用资源,例如 CPU、内存、存储、服务、Kubernetes 对象(如 Pod 或 Secret)等。你可以应用 _资源配额_ 来防止过度消耗资源。资源配额是 Rancher 用来限制项目或命名空间可用资源的功能。
本文介绍如何在现有项目中创建资源配额。
你也可以在创建新项目时设置资源配额。有关详细信息,请参阅[创建新项目](../../../new-user-guides/manage-clusters/projects-and-namespaces.md#创建项目)。
Rancher 中的资源配额包含与 [Kubernetes 原生版本](https://kubernetes.io/docs/concepts/policy/resource-quotas/)相同的功能。Rancher 还扩展了资源配额的功能,从而让你将资源配额应用于项目。有关资源配额如何与 Rancher 中的项目一起使用的详细信息,请参阅[此页面](about-project-resource-quotas.md)。
### 将资源配额应用于现有项目
修改资源配额的使用场景如下:
- 限制某个项目和项目下的命名空间能使用的资源
- 在资源配额已生效的情况下,对项目可用的资源进行扩容或缩容
1. 在左上角,单击 **☰ > 集群管理**。
1. 在**集群**页面,进入要应用资源配额的集群,然后单击 **Explore**
1. 单击**集群 > 项目/命名空间**。
1. 确保 **Projects/Namespaces** 页面处于 **Group by Project** 视图模式。
![Screenshot highlighting the "Group by Project" icon, above the list of projects. It resembles a folder.](/img/edit-project-config-for-resource-quotas-group-by-project.png)
1. 找到要添加资源配额的项目,选择与项目名称同行的 **⋮**。
![Screenshot highlighting triple dots icon at the end of the same row as the project name.](/img/edit-project-config-for-resource-quotas-dots.png)
1. 选择**编辑配置**。
1. 展开**资源限额**并单击**添加资源**。你也可以编辑现有配额。
1. 选择资源类型。有关类型的更多信息,请参阅[配额类型参考](resource-quota-types.md)。
1. 输入**项目限制**和**命名空间默认限制**的值。
| 字段 | 描述 |
| ----------------------- | -------------------------------------------------------------------------------------------------------- |
| 项目限制 | 项目的总资源限制。 |
| 命名空间默认限制 | 每个命名空间的默认资源限制。此限制会沿用到项目中的每个命名空间。项目中所有命名空间的限制之和不应超过项目限制。 |
1. **可选**:添加更多配额。
1. 单击**创建**。
**结果**:资源配额已应用到你的项目和命名空间。如果你后续需要添加更多命名空间,Rancher 会验证项目是否可以容纳该命名空间。如果项目无法分配资源,你仍然可以创建命名空间,但命名空间将获得的资源配额为 0。然后 Rancher 将不允许你创建任何受此配额限制的资源。
@@ -0,0 +1,41 @@
---
title: 项目管理
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/advanced-user-guides/manage-projects"/>
</head>
_项目_ 是 Rancher 中引入的对象,可帮助你更有组织地管理 Kubernetes 集群中的命名空间。你可以使用项目创建多租户集群,这种集群允许一组用户共享相同的底层资源来创建应用,而应用之间不会相互影响。
在层次结构方面:
- 集群包含项目
- 项目包含命名空间
在 Rancher 中,你可以使用项目将多个命名空间作为一个实体进行管理。在原生 Kubernetes(没有项目这个概念)中,RBAC 或集群资源等功能被分配给了各个命名空间。如果集群中的多个命名空间需要分配同样的访问权限,分配权限会变得非常繁琐。即使所有命名空间都需要相同的权限,但也无法使用一个操作中将这些权限应用于所有命名空间。你必须重复地将这些权限分配给每个命名空间。
而 Rancher 通过引入项目的概念,通过允许你在项目级别应用资源和访问权限。然后,项目中的每个命名空间都会继承这些资源和策略。因此你只需将资源和策略分配给项目即可,不需要将它们分配给每个单独的命名空间。
你可以使用项目执行以下操作:
- [为用户分配一组命名空间的访问权限](../../new-user-guides/add-users-to-projects.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/custom-roles.md)
- [设置资源配额](manage-project-resource-quotas/manage-project-resource-quotas.md)
- [管理命名空间](../../new-user-guides/manage-namespaces.md)
- [配置工具](../../../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#项目角色)将非管理员用户添加到项目的**成员**选项卡后,才能获取项目的访问权限。
创建项目的人自动成为[项目所有者](../../new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#项目角色)。
## 在项目之间切换
要在项目之间切换,请使用导航栏中的下拉菜单。你也可以直接在导航栏中切换项目:
1. 在左上角,单击 **☰ > 集群管理**。
1. 在**集群**页面,进入要切换项目的集群然后点击 **Explore**
1. 在顶部导航栏中,选择要打开的项目。
@@ -0,0 +1,15 @@
---
title: Monitoring/Alerting 指南
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/advanced-user-guides/monitoring-alerting-guides"/>
</head>
- [启用 Monitoring](enable-monitoring.md)
- [卸载 Monitoring](uninstall-monitoring.md)
- [为工作负载设置 Monitoring](set-up-monitoring-for-workloads.md)
- [自定义 Grafana 仪表板](customize-grafana-dashboard.md)
- [持久化 Grafana 仪表板](create-persistent-grafana-dashboard.md)
- [调试高内存用量](debug-high-memory-usage.md)
@@ -4,7 +4,7 @@ title: 启用 Prometheus Federator
## 要求
默认情况下,Prometheus Federator 已配置并旨在与 [rancher-monitoring](https://rancher.com/docs/rancher/v2.6/en/monitoring-alerting/) 一起部署。rancher-monitoring 同时部署了 Prometheus Operator 和 Cluster Prometheus,每个项目监控堆栈(Project Monitoring Stack)默认会联合命名空间范围的指标。
默认情况下,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)。
@@ -75,7 +75,7 @@ matchLabels:
1. 单击 **Prometheus Federator** Chart。
1. 单击**安装**。
1. 在**元数据**页面,点击**下一步**。
1. 在**项目 Release 命名空间项目 ID** 字段中,`System 项目`是默认值,但你可以使用具有类似[有限访问权限](#确保-cattle-monitoring-system-命名空间位于-system-项目中或者位于一个锁定并能访问集群中其他项目的项目中)的另一个项目覆盖它。你可以在 local 上游集群中运行以下命令来找到项目 ID:
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
@@ -0,0 +1,12 @@
---
title: Prometheus Federator 指南
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/advanced-user-guides/monitoring-alerting-guides/prometheus-federator-guides"/>
</head>
- [启用 Prometheus Federator](enable-prometheus-federator.md)
- [卸载 Prometheus Federator](uninstall-prometheus-federator.md)
- [自定义 Grafana 仪表板](customize-grafana-dashboards.md)
- [为工作负载设置 Prometheus Federator](set-up-workloads.md)
@@ -8,7 +8,7 @@ title: 为工作负载设置 Monitoring
如果你只需要工作负载的 CPU 和内存时间序列,则不需要部署 ServiceMonitor 或 PodMonitor,因为 Monitoring 应用默认会收集资源使用情况的指标数据。资源使用的时间序列数据在 Prometheus 的本地时间序列数据库中。
Grafana 显示聚合数据,你也可以使用 PromQL 查询来查看单个工作负载的数据。进行 PromQL 查询后,你可以在 Prometheus UI 中单独执行查询并查看可视化的时间序列,你也可以使用查询来自定义显示工作负载指标的 Grafana 仪表板。有关工作负载指标的 PromQL 查询示例,请参阅[本节](https://rancher.com/docs/rancher/v2.6/en/monitoring-alerting/expression/#workload-metrics)。
Grafana 显示聚合数据,你也可以使用 PromQL 查询来查看单个工作负载的数据。进行 PromQL 查询后,你可以在 Prometheus UI 中单独执行查询并查看可视化的时间序列,你也可以使用查询来自定义显示工作负载指标的 Grafana 仪表板。有关工作负载指标的 PromQL 查询示例,请参阅[本节](../../../integrations-in-rancher/monitoring-and-alerting/promql-expressions.md#工作负载指标)。
要为你的工作负载设置自定义指标,你需要设置一个 Exporter 并创建一个新的 ServiceMonitor 自定义资源,从而将 Prometheus 配置为从 Exporter 中抓取指标。
@@ -0,0 +1,19 @@
---
title: 高级配置
---
<head>
<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.md)
### Prometheus
有关配置 Prometheus 自定义资源的信息,请参阅[此页面。](prometheus.md)
### PrometheusRules
有关配置 PrometheusRules 自定义资源的信息,请参阅[此页面。](prometheusrules.md)
@@ -1,5 +1,5 @@
---
title: 配置 PrometheusRule
title: PrometheusRule 配置
---
PrometheusRule 定义了一组 Prometheus 告警和/或记录规则。
@@ -0,0 +1,55 @@
---
title: 配置
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/advanced-user-guides/monitoring-v2-configuration-guides"/>
</head>
本文介绍在 Rancher UI 中配置 Monitoring V2 的一些最重要选项。
有关为 Prometheus 配置自定义抓取目标和规则的信息,请参阅 [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator) 的上游文档。Prometheus Operator [设计文档](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/design.md)中解释了一些最重要的自定义资源。Prometheus Operator 文档还可以帮助你设置 RBAC、Thanos 或进行自定义配置。
## 设置资源限制和请求
安装 `rancher-monitoring` 时可以配置 Monitoring 应用的资源请求和限制。有关默认限制的更多信息,请参阅[此页面](../../../reference-guides/monitoring-v2-configuration/helm-chart-options.md#配置资源限制和请求)。
:::tip
在空闲集群上,Monitoring 可能会占用很多 CPU 资源。要提高性能,请关闭 Prometheus Adapter。
:::
## Prometheus 配置
通常不需要直接编辑 Prometheus 自定义资源。
相反,要让 Prometheus 抓取自定义指标,你只需创建一个新的 ServiceMonitor 或 PodMonitor 来将 Prometheus 配置为抓取其他指标。
### ServiceMonitor 和 PodMonitor 配置
有关详细信息,请参阅[此页面](../../../reference-guides/monitoring-v2-configuration/servicemonitors-and-podmonitors.md)。
### 高级 Prometheus 配置
有关直接编辑 Prometheus 自定义资源(对高级用例可能有帮助)的更多信息,请参阅[此页面](advanced-configuration/prometheus.md)。
## Alertmanager 配置
Alertmanager 自定义资源通常不需要直接编辑。在常见用例中,你可以通过更新路由和接收器来管理告警。
路由和接收器是 Alertmanager 自定义资源配置的一部分。在 Rancher UI 中,路由(Route)和接收器(Receiver)并不是真正的自定义资源,而是 Prometheus Operator 用来将你的配置与 Alertmanager 自定义资源同步的伪自定义资源。当路由和接收器更新时,Monitoring 应用将自动更新 Alertmanager 来反映这些更改。
对于一些高级用例,你可能需要直接配置 Alertmanager。有关详细信息,请参阅[此页面](advanced-configuration/alertmanager.md)。
### 接收器
接收器(Receiver)用于设置通知。有关如何配置接收器的详细信息,请参阅[此页面](../../../reference-guides/monitoring-v2-configuration/receivers.md)。
### 路由
路由(Route)在通知到达接收器之前过滤它们。每条路由都需要引用一个已经配置好的接收器。有关如何配置路由的详细信息,请参阅[此页面](../../../reference-guides/monitoring-v2-configuration/routes.md)。
### 高级配置
有关直接编辑 Alertmanager 自定义资源(对高级用例可能有帮助)的更多信息,请参阅[此页面](advanced-configuration/alertmanager.md)。
@@ -0,0 +1,51 @@
---
title: 配置驱动
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-provisioning-drivers"/>
</head>
使用 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 中有两种类型的驱动:
* [集群驱动](#集群驱动)
* [主机驱动](#主机驱动)
### 集群驱动
集群驱动用于配置[托管的 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。
默认情况下,Rancher 已激活多个托管 Kubernetes 云提供商,包括:
* [Amazon EKS](../../kubernetes-clusters-in-rancher-setup/set-up-clusters-from-hosted-kubernetes-providers/eks.md)
* [Google GKE](../../kubernetes-clusters-in-rancher-setup/set-up-clusters-from-hosted-kubernetes-providers/gke.md)
* [Azure AKS](../../kubernetes-clusters-in-rancher-setup/set-up-clusters-from-hosted-kubernetes-providers/aks.md)
还有几个托管的 Kubernetes 云提供商是默认禁用的,但也打包在 Rancher 中:
* [Alibaba ACK](../../kubernetes-clusters-in-rancher-setup/set-up-clusters-from-hosted-kubernetes-providers/alibaba.md)
* [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。
如果你不想向用户显示特定的主机驱动,则需要停用这些主机驱动。
Rancher 支持几家主要的云提供商,但默认情况下,这些主机驱动处于 active 状态并可供部署:
* [Amazon EC2](../../launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/create-an-amazon-ec2-cluster.md)
* [Azure](../../launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/create-an-azure-cluster.md)
* [Digital Ocean](../../launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/create-a-digitalocean-cluster.md)
* [vSphere](../../launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/vsphere/vsphere.md)
还有其他几个默认禁用的主机驱动,但打包在 Rancher 中:
* [Harvester](../../../../integrations-in-rancher/harvester/overview.md#harvester-主机驱动) - 在 Rancher 2.6.1 中可用
@@ -0,0 +1,130 @@
---
title: RKE 模板
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/about-rke1-templates"/>
</head>
RKE 模板旨在让 DevOps 和安全团队标准化和简化 Kubernetes 集群创建的流程。
RKE 的全称是 [Rancher Kubernetes Engine](https://rancher.com/docs/rke/latest/en/),它是 Rancher 用来配置 Kubernetes 集群的工具。
随着 Kubernetes 越来越受欢迎,管理更多小型集群逐渐成为趋势。如果你想要创建大量集群,对集群进行一致管理尤为重要。多集群管理面临着安全和附件配置执行的挑战,在将集群移交给最终用户之前,这些配置需要标准化。
RKE 模板有助于标准化这些配置。无论是使用 Rancher UI、Rancher API 还是自动化流程创建的集群,Rancher 都将保证从 RKE 集群模板创建的每个集群在生成方式上是一致的。
管理员可以控制最终用户能更改的集群选项。RKE 模板还可以与特定的用户和组共享,以便管理员可以为不同的用户集创建不同的 RKE 模板。
如果集群是使用 RKE 模板创建的,则不能让集群使用另一个 RKE 模板。你只能将集群更新为同一模板的新版本。
你可以[将现有集群的配置保存为 RKE 模板](apply-templates.md#将现有集群转换为使用-rke-模板)。这样,只有模板更新后才能更改集群的设置。新模板还可用于启动新集群。
RKE 模板的核心功能允许 DevOps 和安全团队:
- 标准化集群配置并确保按照最佳实践创建 Rancher 配置的集群
- 配置集群时,防止用户做出不明智的选择
- 与不同的用户和组共享不同的模板
- 将模板的所有权委托给受信任的用户进行更改
- 控制哪些用户可以创建模板
- 要求用户使用模板来创建集群
## 可配置的设置
RKE 模板可以在 Rancher UI 中创建或以 YAML 格式定义。当你使用 Rancher 从基础设施提供商配置自定义节点或一般节点时,它们可以指定为相同的参数:
- 云提供商选项
- Pod 安全选项
- 网络提供商
- Ingress Controller
- 网络安全配置
- 网络插件
- 私有镜像仓库 URL 和凭证
- 附加组件
- Kubernetes 选项,包括 kube-api、kube-controller、kubelet 和服务等 Kubernetes 组件的配置
RKE 模板的[附加组件](#附加组件)的功能特别强大,因为它允许多种自定义选项。
## RKE 模板的范围
Rancher 配置的集群支持 RKE 模板。模板可用于配置自定义集群或由基础设施提供商启动的集群。
RKE 模板用于定义 Kubernetes 和 Rancher 设置。节点模板负责配置节点。有关如何将 RKE 模板与硬件结合使用的参考,请参阅 [RKE 模板和硬件](infrastructure.md)。
可以从头开始创建 RKE 模板来预先定义集群配置。它们可以用于启动新集群,也可以从现有的 RKE 集群导出模板。
现有集群的设置可以[保存为 RKE 模板](apply-templates.md#将现有集群转换为使用-rke-模板)。这会创建一个新模板并将集群设置绑定到该模板。这样,集群只有在[模板更新](manage-rke1-templates.md#更新模板)的情况下才能[使用新版本的模板](manage-rke1-templates.md#升级集群以使用新的模板修订版)进行升级。新模板也可以用来创建新集群。
## 示例场景
如果一个组织同时拥有普通和高级 Rancher 用户,管理员可能希望为高级用户提供更多用于集群创建的选项,并限制普通用户的选项。
这些[示例场景](example-use-cases.md)描述组织如何使用模板来标准化集群创建。
示例场景包括:
- **强制执行模板**:如果希望所有 Rancher 配置的新集群都具有某些设置,管理员可能想要[为每个用户强制执行一项或多项模板设置](example-use-cases.md#强制执行模板设置)。
- **与不同的用户共享不同的模板**:管理员可以为[普通用户和高级用户提供不同的模板](example-use-cases.md#普通用户和高级用户模板)。这样,普通用户会有更多限制选项,而高级用户在创建集群时可以使用更多选项。
- **更新模板设置**:如果组织的安全和 DevOps 团队决定将最佳实践嵌入到新集群所需的设置中,这些最佳实践可能会随着时间而改变。如果最佳实践发生变化,[可以将模板更新为新版本](example-use-cases.md#更新模板和集群),这样,使用模板创建的集群可以[升级到模板的新版本](manage-rke1-templates.md#升级集群以使用新的模板修订版)。
- **共享模板的所有权**:当模板所有者不再想要维护模板或想要共享模板的所有权时,此方案描述了如何[共享模板所有权](example-use-cases.md#允许其他用户控制和共享模板)。
## 模板管理
创建 RKE 模板时,可以在 Rancher UI 中的**集群管理**下的 **RKE 模板**中使用模板。创建模板后,你将成为模板所有者,这将授予你修改和共享模板的权限。你可以与特定用户或组共享 RKE 模板,也可以公开模板。
管理员可以开启模板强制执行,要求用户在创建集群时始终使用 RKE 模板。这使管理员可以保证 Rancher 总是创建指定配置的集群。
RKE 模板更新通过修订系统处理。如果要更改或更新模板,请创建模板的新版本。然后,可以将使用旧版本模板创建的集群升级到新模板修订版。
在 RKE 模板中,模板所有者可以限制设置的内容,也可以打开设置以供最终用户选择值。它们的差别体现在,创建模板时,Rancher UI 中的每个设置上的**允许用户覆盖**标示。
对于无法覆盖的设置,最终用户将无法直接编辑它们。为了让用户使用这些设置的不同选项,RKE 模板所有者需要创建 RKE 模板的新版本,这将允许用户升级和更改该选项。
本节中的文件解释了 RKE 模板管理的细节:
- [获取创建模板的权限](creator-permissions.md)
- [创建和修改模板](manage-rke1-templates.md)
- [强制执行模板设置](enforce-templates.md#强制新集群使用-rke-模板)
- [覆盖模板设置](override-template-settings.md)
- [与集群创建者共享模板](access-or-share-templates.md#与特定用户或组共享模板)
- [共享模板的所有权](access-or-share-templates.md#共享模板所有权)
你可以参见此[模板的示例 YAML 文件](../../../../reference-guides/rke1-template-example-yaml.md)作为参考。
## 应用模板
你可以使用你自己创建的模板来[创建集群](apply-templates.md#使用-rke-模板创建集群),也可以使用[与你共享的模板](access-or-share-templates.md)来创建集群。
如果 RKE 模板所有者创建了模板的新版本,你可以[将你的集群升级到该版本](apply-templates.md#更新使用-rke-模板创建的集群)。
可以从头开始创建 RKE 模板来预先定义集群配置。它们可以用于启动新集群,也可以从现有的 RKE 集群导出模板。
你可以[将现有集群的配置保存为 RKE 模板](apply-templates.md#将现有集群转换为使用-rke-模板)。这样,只有模板更新后才能更改集群的设置。
## 标准化硬件
RKE 模板的目的是标准化 Kubernetes 和 Rancher 设置。如果你还想标准化你的基础设施,一个选择是将 RKE 模板与[其他工具](infrastructure.md)一起使用。
另一种选择是使用包含节点池配置选项,但不强制执行配置的[集群模板](../../manage-clusters/manage-cluster-templates.md)。
## YAML 定制
如果将 RKE 模板定义为 YAML 文件,则可以修改此[示例 RKE 模板 YAML](../../../../reference-guides/rke1-template-example-yaml.md)。RKE 模板中的 YAML 使用了 Rancher 在创建 RKE 集群时使用的相同自定义设置。但由于 YAML 要在 Rancher 配置的集群中使用,因此需要将 RKE 模板自定义项嵌套在 YAML 中的 `rancher_kubernetes_engine_config` 参数下。
RKE 文档也提供[注释的](https://rancher.com/docs/rke/latest/en/example-yamls/) `cluster.yml` 文件供你参考。
有关可用选项的更多信息,请参阅[集群配置](https://rancher.com/docs/rke/latest/en/config-options/)上的 RKE 文档。
### 附加组件
RKE 模板配置文件的附加组件部分的工作方式与[集群配置文件的附加组件部分](https://rancher.com/docs/rke/latest/en/config-options/add-ons/)相同。
用户定义的附加组件指令允许你调用和下拉 Kubernetes 清单或将它们直接内联。如果这些 YAML 清单包括在 RKE 模板中,Rancher 将在集群中部署这些 YAML 文件。
你可以使用附加组件执行以下操作:
- 启动 Kubernetes 集群后,在集群上安装应用
- 在使用 Kubernetes Daemonset 部署的节点上安装插件
- 自动设置命名空间、ServiceAccount 或角色绑定
RKE 模板配置必须嵌套在 `rancher_kubernetes_engine_config` 参数中。要设置附加组件,在创建模板时单击**以 YAML 文件编辑**。然后使用 `addons` 指令添加清单,或使用 `addons_include` 指令设置哪些 YAML 文件可用于附加组件。有关自定义附加组件的更多信息,请参见[用户自定义附加组件文档](https://rancher.com/docs/rke/latest/en/config-options/add-ons/user-defined-add-ons/)。
@@ -0,0 +1,145 @@
---
title: 配置认证
weight: 10
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config"/>
</head>
Rancher 为 Kubernetes 添加的一个关键功能是集中式用户认证,这个特性允许用户使用一组凭证对任何 Kubernetes 集群进行身份认证。
这种集中式用户认证是通过 Rancher 的认证代理完成的,该代理与 Rancher 的其余部分一并安装,此代理对用户进行认证并通过一个 Service Acount 将请求转发到 Kubernetes 集群中。
:::warning
用来启用外部认证的账户将被授予管理员权限。如果你使用一个测试账号或非管理员账号,该账号仍然会被授予管理员级别权限。请查看[外部认证配置和主体用户](#外部认证配置和用户主体)了解原因。
:::
## 外部认证与本地认证
Rancher 认证代理可以与以下外部认证服务集成。
| 认证服务 |
| ---------------------------------------------------------------------------------------------------------------------- |
| [Microsoft Active Directory](configure-active-directory.md) |
| [GitHub](configure-github.md) |
| [Microsoft Azure AD](configure-azure-ad.md) |
| [FreeIPA](configure-freeipa.md) |
| [OpenLDAP](../configure-openldap/configure-openldap.md) |
| [Microsoft AD FS](../configure-microsoft-ad-federation-service-saml/configure-microsoft-ad-federation-service-saml.md) |
| [PingIdentity](configure-pingidentity.md) |
| [Keycloak (OIDC)](configure-keycloak-oidc.md) |
| [Keycloak (SAML)](configure-keycloak-saml.md) |
| [Okta](configure-okta-saml.md) |
| [Google OAuth](configure-google-oauth.md) |
| [Shibboleth](../configure-shibboleth-saml/configure-shibboleth-saml.md) |
当然,Rancher 也提供[本地认证](create-local-users.md).
在多数情况下,你应该使用外部认证服务而不是使用本地认证,因为外部认证服务可以集中式的对用户进行管理。但是在极少数情况下,例如外部认证服务不可用或正在维护时,你可能需要使用本地认证用户来管理 Rancher。
## 用户和组
Rancher 依赖用户和组来决定允许谁登录 Rancher 以及他们可以访问哪些资源。当使用外部认证时,外部认证系统会根据用户提供组的信息。这些用户和组被赋予了集群、项目、多集群应用以及全局 DNS 提供商和条目等资源的特定角色。当你对组进行授权时,在认证服务中所有属于这个组中的用户都有访问指定的资源的权限。有关角色和权限的更多信息,请查看 [RBAC](../manage-role-based-access-control-rbac/manage-role-based-access-control-rbac.md)。
:::note
本地认证不支持创建或管理组
:::
更多信息,请查看[用户和组](manage-users-and-groups.md)
## Rancher 授权范围
当你配置完 Rancher 使用外部认证服务后,你可以配置允许谁登录和使用 Rancher,包含如下的选项:
| 访问级别 | 描述 |
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| 允许任何有效用户 | 在认证服务中的*任何*用户都可以访问 Rancher。通常情况下不建议使用该设置! |
| 允许集群和项目成员,以及授权的用户和组织 | 认证服务中属于**集群成员**或**项目成员**的用户或组成员都可以登录 Rancher。此外添加在**授权的用户和组织**列表中的用户和组成员也可以登录到 Rancher。 |
| 仅限于授权的用户可以访问 | 仅有在授权用户和组织列表中的用户和组成员可以登录到 Rancher。 |
要在授权服务中为用户设置 Rancher 访问级别,请执行以下步骤:
1. 在左上角,点击 **☰ > 用户 & 认证**。
1. 在左侧导航栏,点击 **认证**.
1. 设置完外部认证详细信息后,使用 **站点访问** 选项配置用户权限范围,上面的表格说明了每个选项的访问级别。
1. 可选:如果你选择 **允许任何有效用户** 以外的选项,你可以通过在出现的文本框中搜索用户,将用户添加到授权用户和组织的列表中。
1. 点击 **保存**
**结果:** Rancher 的访问配置被应用。
:::note SAML 认证警告:
- SAML 协议不支持搜索或查找用户或组。因此,将用户或组添加到 Rancher 时不会对其进行验证。
- 添加用户时,必须正确输入确切的用户 ID(即 UID 字段)。键入用户 ID 时,将不会搜索可能匹配的其他用户 ID。
- 添加组时,必须从文本框旁边的下拉列表中选择组。Rancher 假定来自文本框的任何输入都是用户。
- 用户组下拉列表仅显示您所属的用户组。您将无法添加您不是其成员的组。
:::
## 外部认证配置和用户主体
配置外部认证需要:
- 分配了管理员角色的本地用户,以下称为 _本地主体_
- 可以使用外部认证服务进行认证的外部用户,以下简称为 _外部主体_
外部认证的配置也会影响 Rancher 中主体用户的管理方式,具体地说,当用户账户启用了外部认证时,将授予其管理员级别的权限。这是因为本地主体和外部主体共享相同的用户 ID 和访问权限。
以下说明演示了这些效果:
1. 作为本地主体登录到 Rancher 并完成外部身份验证的配置。
![Sign In](/img/sign-in.png)
2. Rancher 将外部主体与本地主体相关联。这两个用户共享本地主体的用户 ID。
![Principal ID Sharing](/img/principal-ID.png)
3. 完成配置后,Rancher 将自动退出本地主体。
![Sign Out Local Principal](/img/sign-out-local.png)
4. 然后,Rancher 会自动将您登录外部主体。
![Sign In External Principal](/img/sign-in-external.png)
5. 因为外部主体和本地主体共享一个 ID,所以用户列中不会再单独显示一个另外的外部主体的对象。
![Sign In External Principal](/img/users-page.png)
6. 外部主体和本地主体共享相同的访问权限。
:::note 重新配置先前设置的认证
如果需要重新配置或禁用后重新启用先前设置过的认证,请确保尝试这样做的用户以外部用户身份登录到 Rancher,而不是使用本地管理员登录。
:::
## 禁用认证
当你禁用认证时,Rancher 会删除所有与之关联的资源,例如:
- 密文
- 绑定的全局角色。
- 绑定的集群角色。
- 绑定的项目角色。
- 与外部认证关联但从未以本地用户身份登录 Rancher 的外部用户。
由于此操作可能会导致许多资源丢失,因此你可能需要添加一些保护措施。若要确保禁用外部认证时不执行清理流程,需要为外部认证的配置添加特殊的注释。
例如,若要对 Azure AD 认证增加保护措施,你需要在 authconfig 对象上增加 `azuread` 注释:
`kubectl annotate --overwrite authconfig azuread management.cattle.io/auth-provider-cleanup='user-locked'`
禁用 Azure AD 认证后,Rancher 不会执行清理流程,直到你将该注解设置为 `unlocked`
### 手动运行资源清理
Rancher 可能会在本地集群中保留之前禁用的外部认证配置的资源,即使你配置对接了另一种认证也是如此。例如,如果你对接了 A 认证,然后禁用它,并重新对接使用 B 认证,当你升级到新版本的 Rancher 时,你可以手动触发对认证 A 配置的资源清理。
要手动触发已禁用的认证配置的清理,请将 `unlocked` 值添加到对应认证配置的 `management.cattle.io/auth-provider-cleanup` 注解中。
@@ -104,4 +104,4 @@ OpenLDAP ServiceAccount 用于所有搜索。无论用户个人的 SAML 权限
1. 单击 **Okta**,如果已配置 SAML,则单击**编辑配置**。
1. 在**用户和组搜索**下,选中**配置 OpenLDAP Server**。
如果你在测试与 OpenLDAP Server 的连接时遇到问题,请确保你输入了ServiceAccount 的凭证并正确配置了搜索库。你可以检查 Rancher 日志来查明根本原因。调试日志可能包含有关错误的更详细信息。请参阅[如何启用调试日志](../../../../faq/technical-items.md#如何启用调试日志记录)了解更多信息。
如果你在测试与 OpenLDAP Server 的连接时遇到问题,请确保你输入了ServiceAccount 的凭证并正确配置了搜索库。你可以检查 Rancher 日志来查明根本原因。调试日志可能包含有关错误的更详细信息。请参阅[如何启用调试日志](../../../../faq/technical-items.md#如何启用调试日志记录)了解更多信息。
@@ -0,0 +1,85 @@
---
title: 认证、权限和全局配置
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration"/>
</head>
安装完成后,[系统管理员](manage-role-based-access-control-rbac/global-permissions.md) 应该通过 Rancher 配置认证、授权、安全性、默认设置、安全策略、驱动和全局 DNS 条目。
## 首次登录
首次登录 Rancher 后,Rancher 会提示你输入 **Rancher Server URL**,你应该将 URL 设置为访问 Rancher Server 的主入口点。当负载均衡器运行在 Rancher Server 集群前面时,URL 应该设置为负载均衡地址。系统会自动尝试根据运行 Rancher Server 的主机 IP 地址或主机名推断 Rancher Server URL,但只有当 Rancher Server 以单节点方式安装时才有效。因此在大多数情况下,你都需要将 Rancher Server URL 设置为正确的值。
:::danger
当设置完 Rancher Server URL 后,我们不支持修改它。请格外小心的设置此项配置。
:::
## 认证
Rancher 为 Kubernetes 增加了一项关键特性是集中式的用户认证。此特性允许设置本地用户和/或连接到外部认证程序。通过连接到外部认证程序,你可以使用该程序提供的用户和组。
更多关于认证的工作原理以及如何配置对接各个认证程序,请参考[认证](authentication-config/authentication-config.md)。
## 授权
在 Rancher 中,每个人都是以 _用户_ 的身份进行鉴权,这是一个授予你访问 Rancher 的登录身份。用户登录 Rancher 后,他们的 _授权_ 或者他们在系统中的访问权限由用户的角色决定。Rancher 提供了内置的角色,允许你你轻松地配置用户对资源的权限,但是 Rancher 还提供了为每个 Kubernetes 资源自定义角色的功能。
更多关于授权的工作原理以及自定义角色的使用,请参考 [RBAC](manage-role-based-access-control-rbac/manage-role-based-access-control-rbac.md)。
## Pod 安全策略
_Pod 安全策略_ (或 PSPs) 是控制 Pod 安全敏感方面规范的对象,例如 root 权限。如果一个 Pod 不满足 PSP 中指定的条件,Kubernetes 将不允许 Pod 启动,同时 Rancher 会显示一条错误信息。
更多关于如何创建和使用 PSPs 的内容,请参考 [Pod 安全策略](create-pod-security-policies.md)。
## Provisioning Drivers
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。
更多信息请参考 [Provisioning Drivers](about-provisioning-drivers/about-provisioning-drivers.md)。
## 添加 Kubernetes 版本到 Rancher 中
使用此功能,你可以在最新版本的 Kubernetes 发布后立即升级,而不需要升级 Rancher。此功能允许你轻松升级 Kubernetes 的补丁版本(例如 `v1.15.X`),但不打算升级 Kubernetes 的次要版本(例如 `v1.X.0`),因为 Kubernetes 倾向于在次要版本之间弃用或添加 API。
Rancher 用于配置 [RKE 集群](../launch-kubernetes-with-rancher/launch-kubernetes-with-rancher.md) 的信息现在存储于 Rancher Kubernetes 元数据中,更多关于元数据的配置以及如何更改用于配置 RKE 集群的 Kubernetes 版本的信息,请参考 [Rancher Kubernetes 元数据](../../../getting-started/installation-and-upgrade/upgrade-kubernetes-without-upgrading-rancher.md)。
Rancher Kubernetes 元数据包含 Kubernetes 版本信息,Rancher 使用这些信息来配置 [RKE 集群](../launch-kubernetes-with-rancher/launch-kubernetes-with-rancher.md)。
关于元数据的工作原理以及如何配置元数据,请参考 [Rancher Kubernetes 元数据](../../../getting-started/installation-and-upgrade/upgrade-kubernetes-without-upgrading-rancher.md)。
## 全局设置
控制某些全局级别 Rancher 配置项可以在顶部的导航栏中找到。
点击左上角的 **☰** ,然后选择 **全局设置**,查看和配置以下设置:
- **设置**: 各种 Rancher 默认值,例如用户密码的最小长度 (`password-min-length`)。在修改这些设置项时应该谨慎,因为设置无效的值可能会破坏 Rancher 的安装。
- **功能开关**: 可以打开或关闭 Rancher 的某些功能,一些标志用于 [实验性功能](#启用实验性功能).
- **横幅**: 可以添加到门户上固定位置的元素,例如你可以使用这些选项在用户登录 Rancher 时为他们设置[自定义的横幅](custom-branding.md#固定横幅)。
- **品牌**: 你可以[自定义](custom-branding.md) Rancher UI 的设计元素,你可以增加一个自定义的 logo 或 favicon,也可以修改 UI 的颜色。
- **性能**: Rancher UI 的性能设置,例如增量资源加载。
- **主页链接**: Rancher UI **主页**页面上显示的链接,你可以修改默认链接的可见性或者增加自己的链接。
### 启用实验性功能
Rancher 包含一些默认处于实验性和/或禁用的功能,功能开关允许你启用这些特性。更多信息请参考[功能开关](../../advanced-user-guides/enable-experimental-features/enable-experimental-features.md)。
### 全局配置
仅在激活 **legacy** [功能开关](../../advanced-user-guides/enable-experimental-features/enable-experimental-features.md) 时才可以看见**全局配置**选项。在 v2.6 及更新版本新安装的 Rancher 已经默认禁用了 **legacy** 特性。如果你是从早期的 Rancher 版本升级,或者在 Rancher v2.6 及更新版本上启用了 **legacy** 特性,顶部导航菜单中将会显示**全局配置**:
1. 点击左上角的 **☰**。
1.**旧版应用** 中选择 **全局配置**
**全局配置**提供以下功能:
- **应用商店**
- **全局 DNS 条目**
- **全局 DNS 提供商**
由于这些是旧版特性,请参考 Rancher v2.0-v2.4 的[应用商店](/versioned_docs/version-2.0-2.4/how-to-guides/new-user-guides/helm-charts-in-rancher/helm-charts-in-rancher.md), [全局 DNS 条目](/versioned_docs/version-2.0-2.4/how-to-guides/new-user-guides/helm-charts-in-rancher/globaldns.md#adding-a-global-dns-entry), 以及 [全局 DNS 提供商](/versioned_docs/version-2.0-2.4/how-to-guides/new-user-guides/helm-charts-in-rancher/globaldns.md#editing-a-global-dns-provider)。
@@ -0,0 +1,39 @@
---
title: 配置 Microsoft AD FS (SAML)
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-microsoft-ad-federation-service-saml"/>
</head>
如果你的组织使用 Active Directory Federation Service (AD FS) 进行用户身份认证,你可以通过配置 Rancher 来允许用户使用 AD FS 凭证登录。
## 先决条件
已安装 Rancher。
- 获取你的 Rancher Server URL。配置 AD FS 时,请使用该 URL 替换 `<RANCHER_SERVER>` 占位符。
- 你必须在 Rancher 安装时具有全局管理员账号。
你必须配置 [Microsoft AD FS 服务器](https://docs.microsoft.com/en-us/windows-server/identity/active-directory-federation-services)。
- 获取你的 AD FS 服务器 IP/DNS 名称。配置 AD FS 时,请使用该 IP/DNS 名称替换 `<AD_SERVER>` 占位符。
- 你必须有在 AD FS 服务器上添加 [Relying Party Trusts](https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/operations/create-a-relying-party-trust) 的权限。
## 配置概要
要让 Rancher Server 使用 Microsoft AD FS,你需要在 Active Directory 服务器上配置 AD FS,并将 Rancher 配置为使用 AD FS 服务器。如果需要获取在 Rancher 中设置 Microsoft AD FS 身份认证的指南,请参见:
- [1. 在 Microsoft AD FS 中配置 Rancher](configure-ms-adfs-for-rancher.md)
- [2. 在 Rancher 中配置 Microsoft AD FS](configure-rancher-for-ms-adfs.md)
:::note SAML 身份提供商注意事项
- SAML 协议不支持搜索或查找用户或组。因此,将用户或组添加到 Rancher 时不会对其进行验证。
- 添加用户时,必须正确输入确切的用户 ID(即 `UID` 字段)。键入用户 ID 时,将不会搜索可能匹配的其他用户 ID。
- 添加组时,必须从文本框旁边的下拉列表中选择组。Rancher 假定来自文本框的任何输入都是用户。
- 用户组下拉列表仅显示你所属的用户组。如果你不是某个组的成员,你将无法添加该组。
:::
### [后续操作:在 Microsoft AD FS 中配置 Rancher](configure-ms-adfs-for-rancher.md)
@@ -2,7 +2,11 @@
title: 1. 在 Microsoft AD FS 中配置 Rancher
---
在配置 Rancher 以支持 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)(信赖方信任)。
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-microsoft-ad-federation-service-saml/configure-ms-adfs-for-rancher"/>
</head>
在配置 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 服务器。
@@ -34,7 +38,7 @@ title: 1. 在 Microsoft AD FS 中配置 Rancher
![](/img/adfs/adfs-add-rpt-7.png)
1. 本教程不涉及多重身份证。如果你想配置多重身份证,请参见 [Microsoft 文档](https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/operations/configure-additional-authentication-methods-for-ad-fs)。
1. 本教程不涉及多重身份证。如果你想配置多重身份证,请参见 [Microsoft 文档](https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/operations/configure-additional-authentication-methods-for-ad-fs)。
![](/img/adfs/adfs-add-rpt-8.png)
@@ -46,7 +50,6 @@ title: 1. 在 Microsoft AD FS 中配置 Rancher
![](/img/adfs/adfs-add-rpt-10.png)
1. 选择 **Open the Edit Claim Rules...**。然后单击 **Close**
![](/img/adfs/adfs-add-rpt-11.png)
@@ -61,17 +64,19 @@ title: 1. 在 Microsoft AD FS 中配置 Rancher
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 | 名称 |
| LDAP 属性 | 传出声明类型 |
| -------------------------------------------- | ------------ |
| Given-Name | Given Name |
| User-Principal-Name | UPN |
| Token-Groups - Qualified by Long Domain Name | Group |
| SAM-Account-Name | 名称 |
<br/>
![](/img/adfs/adfs-add-tcr-2.png)
1. 从 AD 服务器的以下位置下载 `federationmetadata.xml`
```
https://<AD_SERVER>/federationmetadata/2007-06/federationmetadata.xml
```
@@ -2,6 +2,10 @@
title: 2. 在 Rancher 中配置 Microsoft AD FS
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-microsoft-ad-federation-service-saml/configure-rancher-for-ms-adfs"/>
</head>
完成[在 Microsoft AD FS 中配置 Rancher](configure-ms-adfs-for-rancher.md) 后,将你的 Active Directory Federation Service (AD FS) 信息输入 Rancher,以便 AD FS 用户可以通过 Rancher 进行身份认证。
:::note 配置 ADFS 服务器的重要说明:
@@ -30,16 +34,15 @@ title: 2. 在 Rancher 中配置 Microsoft AD FS
## 配置
| 字段 | 描述 |
|---------------------------|-----------------|
| 显示名称字段 | 包含用户显示名称的 AD 属性。<br/><br/>示例:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name` |
| 用户名字段 | 包含用户名/给定名称的 AD 属性。<br/><br/>示例:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname` |
| UID 字段 | 每个用户独有的 AD 属性。<br/><br/>示例:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn` |
| 用户组字段 | 创建用于管理组成员关系的条目。<br/><br/>示例:`http://schemas.xmlsoap.org/claims/Group` |
| Rancher API 主机 | Rancher Server 的 URL。 |
| 私钥/证书 | 在 Rancher 和你的 AD FS 之间创建安全外壳(SSH)的密钥/证书对。确保将 Common Name (CN) 设置为 Rancher Server URL。<br/><br/>[证书创建命令](#cert-command) |
| 元数据 XML | 从 AD FS 服务器导出的 `federationmetadata.xml` 文件。<br/><br/>你可以在 `https://<AD_SERVER>/federationmetadata/2007-06/federationmetadata.xml` 找到该文件。 |
| 字段 | 描述 |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 显示名称字段 | 包含用户显示名称的 AD 属性。<br/><br/>示例:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name` |
| 用户名字段 | 包含用户名/给定名称的 AD 属性。<br/><br/>示例:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname` |
| UID 字段 | 每个用户独有的 AD 属性。<br/><br/>示例:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn` |
| 用户组字段 | 创建用于管理组成员关系的条目。<br/><br/>示例:`http://schemas.xmlsoap.org/claims/Group` |
| Rancher API 主机 | Rancher Server 的 URL。 |
| 私钥/证书 | 在 Rancher 和你的 AD FS 之间创建安全外壳(SSH)的密钥/证书对。确保将 Common Name (CN) 设置为 Rancher Server URL。<br/><br/>[证书创建命令](#cert-command) |
| 元数据 XML | 从 AD FS 服务器导出的 `federationmetadata.xml` 文件。<br/><br/>你可以在 `https://<AD_SERVER>/federationmetadata/2007-06/federationmetadata.xml` 找到该文件。 |
<a id="cert-command"></a>
@@ -51,4 +54,4 @@ title: 2. 在 Rancher 中配置 Microsoft AD FS
openssl req -x509 -newkey rsa:2048 -keyout myservice.key -out myservice.cert -days 365 -nodes -subj "/CN=myservice.example.com"
```
:::
:::
@@ -0,0 +1,56 @@
---
title: 配置 OpenLDAP
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-openldap"/>
</head>
如果你的组织使用 LDAP 进行认证,则可以配置 Rancher 与 OpenLDAP 服务器通信以对用户进行认证。这时 Rancher 管理员可以对外部用户系统中的用户和组进行集群和项目的访问控制,同时允许终端用户在登录 Rancher UI 时使用其 LDAP 凭据进行身份认证。
## 先决条件
必须为 Rancher 配置 LDAP 绑定账号(即 ServiceAccount),来搜索和检索应该具有访问权限的用户和组的 LDAP 条目。建议不要使用管理员账号或个人账号,而应在 OpenLDAP 中创建一个专用账号,该账号对配置的搜索库下的用户和组需要具有只读权限(参见下文)。
> **使用 TLS?**
>
> 如果 OpenLDAP 服务器使用的证书是自签名的或不是来自认可的证书颁发机构,请确保手头有 PEM 格式的 CA 证书(包含所有中间证书)。你必须在配置期间粘贴此证书,以便 Rancher 能够验证证书链。
## 在 Rancher 中配置 OpenLDAP
配置 OpenLDAP 服务器,组和用户的设置。有关填写每个字段的帮助,请参见[配置参考](openldap-config-reference.md)
> 在开始之前,请熟悉[外部认证配置和用户主体](../authentication-config/authentication-config.md#外部认证配置和用户主体)的概念。
1. 在左上角,单击 **☰ > 用户 & 认证**。
1. 在左侧导航栏,单击**认证**。
1. 单击 **OpenLDAP**。填写**配置 OpenLDAP 服务器**表单。
1. 点击**启用**。
### 测试认证
完成配置后,请测试与 OpenLDAP 服务器的连接。如果测试成功,则表明 OpenLDAP 认证已启用。
:::note
于此步骤中输入的 OpenLDAP 用户凭证将映射到本地主体账号,并在 Rancher 中分配系统管理员权限。因此,你应该决定使用哪个 OpenLDAP 账号来执行此步骤。
:::
1. 输入应映射到本地主体账号的 OpenLDAP 账号的**用户名**和**密码** 。
2. 点击**启用 OpenLDAP 认证**来测试 OpenLDAP 的连接并完成设置。
**结果**
- OpenLDAP 认证配置成功。
- 与输入凭证对应的 LDAP 用户被映射到本地主体(管理员)账号。
:::note
如果 LDAP 服务中断,你仍然可以使用本地配置的 `admin` 账号和密码登录。
:::
## 附录:故障排除
如果在测试与 OpenLDAP 服务器的连接时遇到问题,请首先仔细检查为 ServiceAccount 输入的凭证以及搜索库配置。你还可以检查 Rancher 日志来查明问题的原因。调试日志可能包含有关错误的更详细信息。详情请参见[如何启用调试日志](../../../../faq/technical-items.md#how-can-i-enable-debug-logging)。
@@ -2,17 +2,20 @@
title: OpenLDAP 配置参考
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-openldap/openldap-config-reference"/>
</head>
有关配置 OpenLDAP 认证的更多详细信息,请参见[官方文档](https://www.openldap.org/doc/)。
> 在开始之前,请熟悉[外部身份验证配置和主体用户](../../../../pages-for-subheaders/authentication-config.md#外部身份验证配置和用户主体)的概念。
> 在开始之前,请熟悉[外部证配置和用户主体](../authentication-config/authentication-config.md#外部证配置和用户主体)的概念。
## 背景:OpenLDAP 认证流程
1. 当用户尝试使用其 LDAP 凭证登录时,Rancher 会使用具有搜索目录和读取用户/组属性权限的 ServiceAccount,创建与 LDAP 服务器的初始绑定。
2. 然后,Rancher 使用搜索筛选器根据用户名和配置的属性映射为用户搜索目录。
3. 找到用户后,将使用用户的 DN 和提供的密码,通过另一个 LDAP 绑定请求对用户进行身份证。
4. 身份验证成功后,Rancher 将基于用户对象的成员属性和配置的用户映射属性执行组搜索,来解析组成员。
3. 找到用户后,将使用用户的 DN 和提供的密码,通过另一个 LDAP 绑定请求对用户进行身份证。
4. 证成功后,Rancher 将基于用户对象的成员属性和配置的用户映射属性执行组搜索,来解析组成员。
## OpenLDAP 服务器配置
@@ -26,16 +29,16 @@ title: OpenLDAP 配置参考
<figcaption>OpenLDAP 服务器参数</figcaption>
| 参数 | 描述 |
|:--|:--|
| 主机名 | 指定 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"。 |
| 参数 | 描述 |
| :---------------------- | :----------------------------------------------------------------------------------------------------------------------------------- |
| 主机名 | 指定 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 配置
@@ -51,15 +54,15 @@ title: OpenLDAP 配置参考
<figcaption>用户 Schema 配置参数</figcaption>
| 参数 | 描述 |
|:--|:--|
| 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` 是空的,则忽略此参数。 |
| 参数 | 描述 |
| :---------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 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 配置
@@ -67,12 +70,12 @@ title: OpenLDAP 配置参考
<figcaption>组 Schema 配置参数</figcaption>
| 参数 | 描述 |
|:--|:--|
| 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,此选项会被禁用。 |
| 参数 | 描述 |
| :----------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 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,此选项会被禁用。 |
@@ -2,14 +2,18 @@
title: Shibboleth 和 OpenLDAP 的组权限
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-shibboleth-saml/about-group-permissions"/>
</head>
由于 Shibboleth 是 SAML 提供者,因此它不支持搜索用户组的功能。虽然 Shibboleth 集成可以验证用户凭证,但是如果没有其他配置,Shibboleth 不能在 Rancher 中给用户组分配权限。
你可以通过配置 OpenLDAP 标识提供者来解决这个问题。如果让 Shibboleth 使用 OpenLDAP 后端,你将能够在 Rancher 中搜索组,并从 Rancher UI 将集群、项目或命名空间等资源分配给用户组。
你可以通过配置 OpenLDAP 来解决这个问题。如果让 Shibboleth 使用 OpenLDAP 后端,你将能够在 Rancher 中搜索组,并从 Rancher UI 将集群、项目或命名空间等资源分配给用户组。
### 名词解释
- **Shibboleth**:用于计算机网络和互联网的单点登录系统。它允许用户仅使用一种身份登录到各种系统。它验证用户凭证,但不单独处理组成员身份。
- **SAML**:安全声明标记语言(Security Assertion Markup Language),用于在身份提供程序和服务提供商之间交换身份验证和授权数据的开放标准。
- **SAML**:安全声明标记语言(Security Assertion Markup Language),用于在身份提供程序和服务提供商之间交换证和授权数据的开放标准。
- **OpenLDAP**:轻型目录访问协议(LDAP)的免费开源实现。它用于管理组织的计算机和用户。OpenLDAP 对 Rancher 用户很有用,因为它支持组。只要组已存在于身份提供程序中,你就可以在 Rancher 中为组分配权限,从而让组访问资源(例如集群,项目或命名空间)。
- **IdP 或 IDP**:身份提供程序。OpenLDAP 是身份提供程序的一个例子。
@@ -0,0 +1,104 @@
---
title: 配置 Shibboleth (SAML)
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-shibboleth-saml"/>
</head>
如果你的组织使用 Shibboleth Identity Provider (IdP) 进行用户身份认证,你可以通过配置 Rancher 来允许用户使用 Shibboleth 凭证登录。
在此配置中,当 Rancher 用户登录时,他们将被重定向到 Shibboleth IdP 来输入凭证。认证结束后,他们将被重定向回 Rancher UI。
如果你将 OpenLDAP 配置为 Shibboleth 的后端,SAML 断言会返回到 Rancher,其中包括用于引用组的用户属性。然后,通过认证的用户将能够访问其所在的组有权访问的 Rancher 资源。
> 本节假定你已了解 Rancher、Shibboleth 和 OpenLDAP 是如何协同工作的。有关工作原理的详细说明,请参见[本页](about-group-permissions.md)
# 在 Rancher 中设置 Shibboleth
### Shibboleth 先决条件
> - 你必须配置了 Shibboleth IdP 服务器。
> - 以下是 Rancher Service Provider 配置所需的 URL
> 元数据 URL`https://<rancher-server>/v1-saml/shibboleth/saml/metadata`
> 断言使用者服务 (ACS) URL`https://<rancher-server>/v1-saml/shibboleth/saml/acs`
> - 从 IdP 服务器导出 `metadata.xml` 文件。详情请参见 [Shibboleth 文档](https://wiki.shibboleth.net/confluence/display/SP3/Home)。
### 在 Rancher 中配置 Shibboleth
如果你的组织使用 Shibboleth 进行用户身份认证,你可以通过配置 Rancher 来允许你的用户使用 IdP 凭证登录。
1. 在左上角,单击 **☰ > 用户 & 认证**。
1. 在左侧导航栏,单击**认证**。
1. 单击 **Shibboleth**
1. 填写**配置 Shibboleth 账号**表单。Shibboleth IdP 允许你指定要使用的数据存储。你可以添加数据库或使用现有的 ldap 服务器。例如,如果你选择 Active Directory (AD) 服务器,下面的示例将描述如何将 AD 属性映射到 Rancher 中的字段:
1. **显示名称字段**:包含用户显示名称的 AD 属性(例如:`displayName`)。
1. **用户名字段**:包含用户名/给定名称的 AD 属性(例如:`givenName`)。
1. **UID 字段**:每个用户唯一的 AD 属性(例如:`sAMAccountName``distinguishedName`)。
1. **用户组字段**: 创建用于管理组成员关系的条目(例如:`memberOf`)。
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` 文件。
1. 完成**配置 Shibboleth 账号**表单后,单击**启用**。
Rancher 会将你重定向到 IdP 登录页面。输入使用 Shibboleth IdP 的用户凭证,来验证你的 Rancher Shibboleth 配置。
:::note
你可能需要禁用弹出窗口阻止程序才能看到 IdP 登录页面。
:::
**结果**:已将 Rancher 配置为使用 Shibboleth。你的用户现在可以使用 Shibboleth 登录名登录 Rancher。
### SAML 提供商注意事项
SAML 协议不支持用户或用户组的搜索或查找。因此,如果你没有为 Shibboleth 配置 OpenLDAP,则请留意以下警告。
- 在 Rancher 中为用户或组分配权限时,不会对用户或组进行验证。
- 添加用户时,必须正确输入准确的用户 ID(即 UID 字段)。在你输入用户 ID 时,将不会搜索可能匹配的其他用户 ID。
- 添加组时,必须从文本框旁边的下拉列表中选择组。Rancher 假定来自文本框的任何输入都是用户。
- 用户组下拉列表仅显示你所属的用户组。如果你不是某个组的成员,你将无法添加该组。
要在 Rancher 中分配权限时启用搜索组,你需要为 SAML 身份认证服务配置支持组的后端(例如 OpenLDAP)。
# 在 Rancher 中设置 OpenLDAP
如果你将 OpenLDAP 配置为 Shibboleth 的后端,SAML 断言会返回到 Rancher,其中包括用于引用组的用户属性。然后,通过认证的用户将能够访问其所在的组有权访问的 Rancher 资源。
### OpenLDAP 先决条件
必须为 Rancher 配置 LDAP 绑定账号(即 ServiceAccount),来搜索和检索应该具有访问权限的用户和组的 LDAP 条目。建议不要使用管理员账号或个人账号,而应在 OpenLDAP 中创建一个专用账号,该账号对配置的搜索库下的用户和组需要具有只读权限(参见下文)。
> **使用 TLS**
>
> 如果 OpenLDAP 服务器使用的证书是自签名的或不是来自认可的证书颁发机构,请确保手头有 PEM 格式的 CA 证书(包含所有中间证书)。你必须在配置期间粘贴此证书,以便 Rancher 能够验证证书链。
### 在 Rancher 中配置 OpenLDAP
配置 OpenLDAP 服务器,组和用户的设置。有关填写每个字段的帮助,请参见[配置参考](../configure-openldap/openldap-config-reference.md)。请注意,嵌套组成员资格不适用于 Shibboleth。
> 在开始之前,请熟悉[外部认证配置和用户主体](../authentication-config/authentication-config.md#外部认证配置和用户主体)的概念。
1. 使用初始的本地 `admin` 账号登录到 Rancher UI。
1. 在左上角,单击 **☰ > 用户 & 认证**。
1. 在左侧导航栏,单击**认证**。
1. 单击 **OpenLDAP**。将显示**配置 OpenLDAP 服务器**表单。
## 故障排除
如果在测试与 OpenLDAP 服务器的连接时遇到问题,请首先仔细检查为 ServiceAccount 输入的凭证以及搜索库配置。你还可以检查 Rancher 日志来查明问题的原因。调试日志可能包含有关错误的更详细信息。详情请参见[如何启用调试日志](../../../../faq/technical-items.md#how-can-i-enable-debug-logging)。
@@ -2,6 +2,10 @@
title: 全局权限
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions"/>
</head>
_权限_ 是你在为用户选择自定义权限时可以分配的个人访问权限。
全局权限定义用户在任何特定集群之外的授权。Rancher 提供四种开箱即用的默认全局权限:`Administrator` (管理员)、`Restricted Admin` (受限管理员)、`Standard User` (标准用户) 和 `User-Base` 用户。
@@ -29,55 +33,55 @@ Rancher 还增加了一个新设置,来将初始启动的管理员设置为 `r
```
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 集群 | 是 | 是 | 是 | |
| 类别 | 操作 | 全局管理员 | 普通用户 | 受限管理员 | 受限管理员的注意事项 |
| --------------------- | ------------------------------------ | -------------- | ---------------- | ---------------- | -------------------------------------------------------- |
| 本地集群功能 | 管理本地集群(列出、编辑、导入主机) | 是 | 否 | 否 | |
| | 创建项目/命名空间 | 是 | 否 | 否 | |
| | 添加集群/项目成员 | 是 | 否 | 否 | |
| | 全局 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 集群 | 是 | 是 | 是 | |
### 将全局管理员更改为受限管理员
@@ -89,7 +93,7 @@ CATTLE_RESTRICTED_DEFAULT_ADMIN=true
## 分配全局权限
本地用户的全局权限分配与使用外部身份验证登录 Rancher 的用户不同。
本地用户的全局权限分配与使用外部证登录 Rancher 的用户不同。
### 新本地用户的全局权限
@@ -101,11 +105,11 @@ CATTLE_RESTRICTED_DEFAULT_ADMIN=true
1. 在左侧导航栏中,单击**角色**。
1. **角色**页面有按范围分组的角色选项卡。每个表都列出了范围内的角色。在**全局**选项卡的**新用户的默认角色**列中,默认授予新用户的权限用复选标记表示。
你可以[更改默认全局权限来满足你的需要](#配置默认全局权限)
你可以[更改默认全局权限来满足你的需要](#配置默认全局权限)
### 使用外部身份验证程序的用户的全局权限
### 使用外部认证登录的用户的全局权限
当用户首次使用外部身份验证提供程序登录 Rancher 时,他们会自动分配到**新用户的默认角色**的全局权限。默认情况下,Rancher 为新用户分配 **Standard User** 权限。
当用户首次使用外部认证登录 Rancher 时,他们会自动分配到**新用户的默认角色**的全局权限。默认情况下,Rancher 为新用户分配 **Standard User** 权限。
如果需要查看新用户的默认权限:
@@ -113,27 +117,27 @@ CATTLE_RESTRICTED_DEFAULT_ADMIN=true
1. 在左侧导航栏中,单击**角色**。
1. **角色**页面有按范围分组的角色选项卡。每个表都列出了范围内的角色。在每个页面的**新用户的默认角色**列中,默认授予新用户的权限用复选标记表示。
你可以[更改默认权限来满足你的需要](#配置默认全局权限)
你可以[更改默认权限来满足你的需要](#配置默认全局权限)
权限可以[分配](#为单个用户配置全局权限)给单个用户。
你可以按照[步骤](#为单个用户配置全局权限)操作来将权限分配给单个用户。
如果外部身份验证提供程序支持组,你可以[同时为组中的每个成员分配角色](#为组配置全局权限)。
如果外部认证服务支持组,你可以[同时为组中的每个成员分配角色](#为组配置全局权限)。
## 自定义全局权限
使用自定义权限可以为用户配置在 Rancher 中更受限或定的访问权限。
使用自定义权限可以为用户提供 Rancher 中更受限或定的访问权限。
当来自[外部身份验证系统](../../../../pages-for-subheaders/authentication-config.md)的用户首次登录 Rancher 时,他们会自动分配到一组全局权限(以下简称权限)。默认情况下,用户第一次登录后会被创建为用户,并分配到默认的`用户`权限。标准的`用户`权限允许用户登录和创建集群。
当来自[外部认证](../authentication-config/authentication-config.md)的用户首次登录 Rancher 时,他们会自动分配到一组全局权限(以下简称权限)。默认情况下,用户第一次登录后会被创建为用户,并分配到默认的`用户`权限。标准的`用户`权限允许用户登录和创建集群。
但是,在某些组织中,这些权限可能会被认为权限过大。你可以为用户分配一组更具限制性的自定义全局权限,而不是为用户分配 `Administrator``Standard User` 的默认全局权限。
默认角色(管理员和标准用户)都内置了多个全局权限。系统管理员角色包括所有全局权限,而默认用户角色包括三个全局权限,分别是创建集群使用应用商店模板和 User Base(登录 Rancher 的最低权限)。换句话说,自定义全局权限是模块化的,因此,如果你要更改默认用户角色权限,你可以选择需要包括在新的默认用户角色中的全局权限子集。
默认角色(管理员和标准用户)都内置了多个全局权限。系统管理员角色包括所有全局权限,而默认用户角色包括三个全局权限,分别是创建集群使用应用商店模板和 User Base(登录 Rancher 的最低权限)。换句话说,自定义全局权限是模块化的,因此,如果你要更改默认用户角色权限,你可以选择需要包括在新的默认用户角色中的全局权限子集。
管理员可以通过多种方式强制执行自定义全局权限:
- [更改新用户的默认权限](#配置默认全局权限)
- [为单个用户配置全局权限](#为单个用户配置全局权限)
- [为组配置全局权限](#为组配置全局权限)
- [更改新用户的默认权限](#配置默认全局权限).
- [为单个用户配置全局权限](#为单个用户配置全局权限).
- [为组配置全局权限](#为组配置全局权限).
### 自定义全局权限参考
@@ -173,7 +177,7 @@ CATTLE_RESTRICTED_DEFAULT_ADMIN=true
:::note
默认角色仅分配给从外部身份验证提供程序添加的用户。对于本地用户,在将用户添加到 Rancher 时,必须显式分配全局权限。你可以在添加用户时自定义这些全局权限。
默认角色仅分配给从外部认证登录的用户。对于本地用户,在将用户添加到 Rancher 时,必须显式分配全局权限。你可以在添加用户时自定义这些全局权限。
:::
@@ -206,17 +210,17 @@ CATTLE_RESTRICTED_DEFAULT_ADMIN=true
对于现有用户,新权限将在用户退出 Rancher 并重新登录时,或当管理员[刷新用户组成员名单](#刷新用户组成员名单)时生效。
对于新用户,新权限在用户首次登录 Rancher 时生效。除了**新用户的默认角色**全局权限外,来自该组的新用户还将获得自定义全局角色的权限。默认情况下,**新用户的默认角色**权限等同于 **Standard User** 全局角色,但默认权限可以[配置。](#配置默认全局权限)
对于新用户,新权限在用户首次登录 Rancher 时生效。除了**新用户的默认角色**全局权限外,来自该组的新用户还将获得自定义全局角色的权限。默认情况下,**新用户的默认角色**权限等同于 **Standard User** 全局角色,但默认权限可以[配置。](#配置默认全局权限)
如果从外部身份验证提供程序组中删除用户,该用户将失去分配给该组的自定义全局角色的权限。他们将继续拥有分配给他们的所有剩余角色,这通常包括标记为**新用户的默认角色**的角色。Rancher 将在用户登出或管理员[刷新用户组成员名单](#刷新用户组成员名单)时删除与组关联的权限。
如果从外部认证服务中将用户从组中删除,该用户将失去分配给该组的自定义全局角色的权限。他们将继续拥有分配给他们的其他剩余角色,这通常包括标记为**新用户的默认角色**的角色。Rancher 将在用户登出或管理员[刷新用户组成员名单](#刷新用户组成员名单)时删除与组关联的权限。
:::note 先决条件:
只有在以下情况下,你才能将全局角色分配给组:
* 你已设置[外部身份验证提供程序](../../../../pages-for-subheaders/authentication-config.md#外部验证与本地验证)
* 外部身份验证提供程序支持[用户组](../authentication-config/manage-users-and-groups.md)
* 你已使用身份验证提供程序设置了至少一个用户组。
- 你已设置[外部认证](../authentication-config/authentication-config.md#external-vs-local-authentication)
- 外部认证服务支持[用户组](../authentication-config/manage-users-and-groups.md)
- 你已使用外部认证服务设置了至少一个用户组。
:::
@@ -236,7 +240,7 @@ CATTLE_RESTRICTED_DEFAULT_ADMIN=true
如果要让更改立即生效,管理员或集群所有者可以刷新用户组成员名单。
如果用户已经从外部身份验证服务中的组中删除,管理员也可能需要刷新用户组成员名单。在这种情况下,刷新操作会让 Rancher 知道用户已从组中删除。
如果用户已经从外部证服务中的组中删除,管理员也需要刷新用户组成员名单。在这种情况下,刷新操作会让 Rancher 知道用户已从组中删除。
要刷新用户组成员名单:
@@ -0,0 +1,29 @@
---
title: 管理 RBAC
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac"/>
</head>
Rancher 通过 _用户_ 进行授权管理。如[认证](../authentication-config/authentication-config.md)中所述,用户可以是本地用户,也可以是外部用户。
配置外部认证后,**用户**页面上显示的用户会发生变化。
- 如果你以本地用户身份登录,则仅显示本地用户。
- 如果你以外部用户身份登录,则会同时显示外部用户和本地用户。
## 用户和角色
一旦用户登录到 Rancher,他们的 _授权_,也就是他们在系统中的访问权限,将由 _全局权限__集群和项目角色_ 决定。
- [全局权限](global-permissions.md):
定义用户在任何特定集群之外的授权。
- [集群和项目角色](cluster-and-project-roles.md):
定义用户在分配了角色的特定集群或项目中的授权。
全局权限以及集群和项目角色都是基于 [Kubernetes RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) 实现的。因此,权限和角色的底层实现是由 Kubernetes 完成的。
@@ -256,11 +256,19 @@ Rancher 支持两种不同的备份目标:
### S3 备份目标
`S3` 备份目标允许用户配置与 S3 兼容的后端来存储快照。此选项的主要好处是,如果集群丢失所有 etcd 节点,由于快照存储在外部,集群仍然可以恢复。Rancher 推荐使用 `S3` 备份这类外部目标。但是它的配置要求进行额外的操作,这也应该被考虑在其中。由于 Rancher 会为群集配置的 S3 存储桶/文件夹中列出的任何可用快照填充快照信息,因此建议你确保每个集群都具有唯一的存储桶或文件夹
我们建议你使用 `S3` 备份目标。你可以将快照存储在外部 S3 兼容的后端上。由于快照不存储在本地,因此即使丢失所有 etcd 节点,你仍然可以还原集群
虽然 `S3` 比本地备份具有优势,但它需要额外的配置。
:::caution
如果你使用 S3 备份目标,请确保每个集群都有自己的存储桶或文件夹。Rancher 将使用集群配置的 S3 存储桶或文件夹中的可用快照来填充快照信息。
:::
| 选项 | 描述 | 必填 |
|---|---|---|
| S3 存储桶名称 | 存储备份的 S3 存储桶名称 | * |
| S3 存储桶名称 | 用于存储备份的 S3 存储桶名称 | * |
| S3 区域 | 备份存储桶的 S3 区域 | |
| S3 区域端点 | 备份存储桶的 S3 区域端点 | * |
| S3 访问密钥 | 有权访问备份存储桶的 S3 访问密钥 | * |
@@ -0,0 +1,100 @@
---
title: 备份和灾难恢复
keywords: [rancher 备份还原, rancher 备份与恢复, 备份恢复 rancher, rancher 备份与恢复 rancher]
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery"/>
</head>
在本节中,你将学习如何创建 Rancher 的备份,如何从备份中恢复 Rancher,以及如何将 Rancher 迁移到新的 Kubernetes 集群。
`rancher-backup` operator 可以用来备份和恢复任何 Kubernetes 集群上的 Rancher。这个应用是一个 Helm Chart,可以通过 Rancher 的 **Apps** 页面或使用 Helm CLI 部署。你可以访问[本页面](https://github.com/rancher/charts/tree/release-v2.6/charts/rancher-backup)获取 `rancher-backup` Helm Chart。
backup-restore operator 需要安装在 local 集群上,并且只对 Rancher 应用进行备份。备份和恢复操作仅在本地 Kubernetes 集群中执行。
## 备份和恢复 Docker 安装的 Rancher
对于使用 Docker 安装的 Rancher,请参见[备份](back-up-docker-installed-rancher.md)和[恢复](restore-docker-installed-rancher.md)对 Rancher 进行备份和恢复。
## 备份和恢复原理
`rancher-backup` operator 引入了三个自定义资源,分别是 Backups、Restores 和 ResourceSets。将以下集群范围的自定义资源定义添加到集群中:
- `backups.resources.cattle.io`
- `resourcesets.resources.cattle.io`
- `restores.resources.cattle.io`
ResourceSet 定义了需要备份哪些 Kubernetes 资源。由于备份 Rancher 所需的值是预设的,因此 ResourceSet 无法通过 Rancher UI 进行配置。请不要修改此 ResourceSet。
在创建 Backup 自定义资源时,`rancher-backup` operator 调用 `kube-apiserver` 来获取 Backup 自定义资源引用的 ResourceSet(即预设的 `rancher-resource-set`)资源。
然后,operator 以 .tar.gz 格式创建备份文件,并将其存储在 Backup 资源中配置的位置。
在创建 Restore 自定义资源时,operator 访问 Restore 指定的 tar.gz 备份文件,并从该文件恢复应用。
你可以使用 Rancher UI 或 `kubectl apply` 来创建 Backup 和 Restore 自定义资源。
:::note
请参见[此处](migrate-rancher-to-new-cluster.md#2-使用-restore-自定义资源来还原备份)获取在 Rancher 2.6.3 中将现有备份文件恢复到 v1.22 集群的帮助。
:::
## 安装 rancher-backup operator
你可以使用 Rancher UI 或 Helm CLI 来安装 `rancher-backup` operator。两种安装方法都将 `rancher-backup` Helm Chart 安装在运行 Rancher Server 的 Kubernetes 集群上。它是集群管理员独有的功能,仅适用于 **local** 集群。(*如果你在 Rancher UI 中没有看到 `rancher-backup`,你可能选择了错误的集群。*
:::note
使用 backup-restore-operator 执行恢复后,Fleet 中会出现一个已知问题:用于 clientSecretName 和 helmSecretName 的密文不包含在 Fleet 的 Git 仓库中。请参见[此处](../../../integrations-in-rancher/fleet/overview.md#故障排除)获得解决方法。
:::
### 使用 Rancher UI 安装 rancher-backup
1. 在左上角,单击 **☰ > 集群管理**。
1. 在**集群**页面上,转到 `local` 集群并单击 **Explore**
1. 在左侧导航栏中,单击 **Apps > Charts**
1. 点击 **Rancher 备份**
1. 单击**安装**。
1. 可选:配置默认存储位置。如需获取帮助,请参见[配置](../../../reference-guides/backup-restore-configuration/storage-configuration.md)。
1. 单击**安装**。
**结果**`rancher-backup` operator 已安装。
在**集群仪表板**中,你可以看到列在 **Deployments** 下的 `rancher-backup` operator。
如果需要在 Rancher 中配置备份应用,在左侧导航栏中单击 **Rancher 备份**
### RBAC
只有 Rancher 管理员和本地集群的所有者可以:
* 安装 Chart
* 看到 Backup 和 Restore CRD 的导航链接
* 通过分别创建 Backup CR 和 Restore CR 执行备份和恢复
* 列出目前已执行的备份和恢复操作
## 备份 Rancher
备份是通过创建 Backup 自定义资源实现的。如需查看教程,请参见[本页面](back-up-rancher.md)。
## 还原 Rancher
还原是通过创建 Restore 自定义资源实现的。如需查看教程,请参见[本页面](restore-rancher.md)。
## 将 Rancher 迁移到新集群
你可以按照[这些步骤](migrate-rancher-to-new-cluster.md)执行迁移。
## 默认存储位置配置
配置一个用户保存备份文件的默认存储位置。有多种选项可以配置,例如将与 S3 兼容的对象存储作为单个备份文件的存储后端,或在安装 `backup-restore-operator` Helm Chart 时选择一个现有的 `StorageClass`。你还可以选择在每次备份时覆盖配置的存储位置,但这仅限于使用与 S3 兼容的对象存储或 Minio 对象存储。
如需了解各个选项的配置,请参见[本页面](../../../reference-guides/backup-restore-configuration/storage-configuration.md)。
### 示例 YAML 文件:Rancher Backup Helm Chart
当使用 Helm CLI 安装时,可以使用示例 [values.yaml 文件](../../../reference-guides/backup-restore-configuration/storage-configuration.md#rancher-backup-helm-chart-的示例-valuesyaml) 来配置 `rancher-backup-operator`
@@ -4,38 +4,23 @@ title: 还原 Rancher
本页概述了如何使用 Rancher 执行恢复。
:::note 重要提示
在以下情况下,请按照本页中的说明进行操作
- 正在运行的 Rancher 实例与备份时的版本相同。
- 上游(本地)集群与备份的位置相同。
* 请按照此页面上的说明在已备份的同一集群上还原 Rancher。要把 Rancher 迁移到新集群,请参照步骤[迁移 Rancher](migrate-rancher-to-new-cluster.md)。
* 在使用相同设置还原 Rancher 时,operator 将在还原开始时缩减 Rancher deployment,还原完成后又会扩展 deployment。因此,Rancher 在还原期间将不可用。
:::note 重要提示
在使用相同设置还原 Rancher 时,operator 将在还原开始时缩减 Rancher deployment,还原完成后又会扩展 deployment。因此,Rancher 在还原期间将不可用。
:::
:::tip
* 按照以下步骤[迁移 Rancher](migrate-rancher-to-new-cluster.md)。
* 如果你需要在升级后将 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. 按照[说明](https://rancher.com/docs/rancher/v2.6/en/backups/migrating-rancher/)在现有集群上安装 rancher-backup Helm Chart 并恢复之前的状态。
1. 省略步骤 3。
1. 执行到步骤 4 时,在要回滚到的 local 集群上安装 Rancher 2.6.x 版本。
### 创建 Restore 自定义资源
还原是通过创建 Restore 自定义资源实现的。
@@ -0,0 +1,21 @@
---
title: 跨集群部署应用
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/deploy-apps-across-clusters"/>
</head>
不同版本的 Rancher 提供了几种不同的方式来部署跨集群应用。
## Fleet
Rancher v2.5 及更高版本使用 Fleet 跨集群部署应用
使用 Fleet 的持续交付是大规模的 GitOps。如需更多信息,请参阅 [Fleet](fleet.md)。
### 多集群应用
在 v2.5 之前的 Rancher 中,多集群应用功能用于跨集群部署应用。多集群应用功能已弃用,但仍可作为旧版功能使用。
详情请参阅[此文档](multi-cluster-apps.md)。
@@ -2,16 +2,12 @@
title: 创建应用
---
Rancher 的应用市场基于 Helm 仓库和 Helm Chart。你可以添加基于 HTTP 的标准 Helm 仓库以及任何包含 Chart 的 Git 仓库。
:::tip
有关开发 Chart 的完整演示,请参阅 Helm 官方文档中的 [Chart 模板开发者指南](https://helm.sh/docs/chart_template_guide/)。
:::
## Chart 类型
Rancher 支持两种不同类型的 Chart,分别是 Helm Chart 和 Rancher Chart。
@@ -108,17 +104,10 @@ rancher_max_version: 2.3.99
| variable | string | true | 定义 `values.yml` 文件中指定的变量名,嵌套对象使用 `foo.bar`。 |
| label | string | true | 定义 UI 标签。 |
| description | string | false | 指定变量的描述。 |
| type | string | false | 如果未指定,则默认为 `string`(支持的类型为 string、multiline、boolean、int、enum、password、storageclasshostname、pvc 和 secret)。 |
| required | bool | false | 定义变量是否是必须的(true \| false)。 |
| type | string | false | 如果未指定,则默认为 `string`(支持的类型为 string、multiline、boolean、int、enum、password、storageclasshostname、pvc、secret 和 cloudcredential)。 |
| 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:<br/> - "ClusterIP" <br/> - "NodePort" <br/> - "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"` |
@@ -0,0 +1,216 @@
---
title: Helm Charts 和 Apps
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/helm-charts-in-rancher"/>
</head>
在本节中,你将学习如何在 Rancher 中管理 Helm Chart 仓库和应用。
## Helm Charts 在 Rancher 中的工作原理
在 Rancher 中 Helm chart 仓库是使用 **Apps** 进行管理的。
Rancher 使用应用商店系统导入一系列的 charts 包到仓库里,然后使用这些 charts 来部署自定义的 Kubernetes 应用程序或 Rancher 的工具,如监控(Monitoring)或 Istio。Rancher 工具预先集成进了仓库,并通过独立的 Helm chart 进行部署。如果你有自己的额外仓库只需要添加到当前的集群中就可以正常部署。
### Catalogs, Apps, Rancher UI
[在 Rancher v2.4 及更早版本中](/versioned_docs/version-2.0-2.4/how-to-guides/new-user-guides/helm-charts-in-rancher/helm-charts-in-rancher.md), 存储部署的应用程序的仓库被称为 "catalogs"。这些仓库是通过 UI 的 **Catalogs** 进行管理的。
Rancher v2.5 用新的 **Apps & Marketplace** 功能替代了之前的 **应用商店**
从 Rancher v2.6.5 开始, **Apps & Marketplace** 功能在 UI 中被命名为 **Apps**
### Versioning Scheme
Rancher chart 的版本设计方案主要围绕 charts 的主要版本以及与上游 charts 相关的 `+up` 注释进行设计。
**主要版本:** charts 的主要版本与 Rancher 的特定次要版本相关联。当你升级到新的 Rancher 次要版本时,你应该确保所有的功能 charts 也被升级对应的主版本。
**基于上游的 Charts:** 在升级时,确保上游 chart 的版本与你的 Rancher 版本兼容。chart 的 `+up` 注释指示 Rancher chart 正在跟踪的上游版本。例如,`100.x.x+up16.6.0` 的监控(Monitoring)跟踪上游的 kube-prometheus-stack `16.6.0` 并附带一些额外的 Rancher 补丁。
在升级 Rancher 版本时,不要降级你正在使用的 chart 版本。例如,如果你在 Rancher v2.5 中使用的监控版本比 `16.6.0` 还要高,你不应该升级到 `100.x.x+up16.6.0`,而是应该在下一个发布中升级到适当的版本。
#### 预发布版本
预发布版本遵循[语义化版本 2.0.0 ](https://semver.org/)的[规范](https://semver.org/#spec-item-9)。 例如,版本为 `0.1.3-dev.12ab4f` 的 Helm chart 被认为是一个预发布版本。预发布版本默认不显示,必须进行配置以显示。
如何显示预发布版本:
1. 点击右上角的用户头像。
2. 点击 **Preferences**.
3.**Helm Charts** 下, 选择 **Include Prerelease Versions**.
### 版本控制方案
| **Name** | **支持的最低版本** | **支持的最高版本** |
| ---------------- | ------------ | ------------ |
| external-ip-webhook | 100.0.0+up1.0.0 | 100.0.1+up1.0.1 |
| harvester-cloud-provider | 100.0.2+up0.1.12 | 100.0.2+up0.1.12 |
| harvester-csi-driver | 100.0.2+up0.1.11 | 100.0.2+up0.1.11 |
| neuvector | 100.0.0+up2.2.0 | 100.0.0+up2.2.0 |
| rancher-alerting-drivers | 100.0.0 | 100.0.2 |
| rancher-backup | 2.0.1 | 2.1.2 |
| rancher-cis-benchmark | 2.0.1 | 2.0.4 |
| rancher-gatekeeper | 100.0.0+up3.6.0 | 100.1.0+up3.7.1 |
| rancher-istio | 100.0.0+up1.10.4 | 100.3.0+up1.13.3 |
| rancher-logging | 100.0.0+up3.12.0 | 100.1.2+up3.17.4 |
| rancher-longhorn | 100.0.0+up1.1.2 | 100.1.2+up1.2.4 |
| rancher-monitoring | 100.0.0+up16.6.0 | 100.1.2+up19.0.3 |
| rancher-sriov (experimental) | 100.0.0+up0.1.0 | 100.0.3+up0.1.0 |
| rancher-vsphere-cpi | 100.3.0+up1.2.1 | 100.3.0+up1.2.1 |
| rancher-vsphere-csi | 100.3.0+up2.5.1-rancher1 | 100.3.0+up2.5.1-rancher1 |
| rancher-wins-upgrader | 0.0.100 | 100.0.1+up0.0.1 |
## 访问 Charts
**Charts** 页面包含所有 Rancher、Rancher 合作伙伴和自定义 Chart。你可以通过选择左侧的下拉菜单来筛选 Chart:
* Rancher 工具(例如 Logging 或 Monitoring)包含在 **Rancher** 标签下
* Partner Chart 位于 **Partner** 标签下
* 自定义 Chart 将显示在仓库的名称下
所有这三种类型都以相同的方式部署和管理。
:::note
由 Cluster Manager (旧版 Rancher UI 中的全局视图)管理的应用应继续仅由 Cluster Manager 管理,而在新 UI 中使用 <b>Apps</b> 管理的应用则仅能由 <b>Apps</b> 管理。
:::
访问 **Charts** 页面:
1. 点击 **☰ > Cluster Management**。
2. 找到你想要访问 Charts 的集群名称。点击集群行末尾的 **Explore**
3.**Cluster Dashboard** 的左侧导航菜单中, 点击 **Apps > Charts**
### 管理仓库
**Repositories** 页面列出了你的 Helm 仓库。 这包括传统的具有 index.yaml 的 Helm 端点,以及克隆并指向特定分支的 Git 仓库。要使用自定义 Charts,在这里可以添加你的仓库。添加仓库后,你可以在 **Charts** 页面中访问自定义 Charts,这些 Charts 将列在仓库的名称下。
访问 **Repositories** 页面:
1. 点击 **☰ > Cluster Management**.
2. 找到你想要访问 Charts 的集群名称。点击集群行末尾的 **Explore**
3.**Cluster Dashboard** 的左侧导航菜单中,点击 **Apps > Repositories**
### 添加自定义 Git 仓库
要添加一个包含你的 Helm Charts 或集群模板定义的自定义 Git 仓库:
1. 点击 **☰ > Cluster Management**。
2. 找到你想要访问 Charts 的集群名称。点击集群行末尾的 **Explore**
3.**Cluster Dashboard** 的左侧导航菜单中,点击 **Apps > Repositories**
4. 点击 **Create**
5. 选择 **Git repository containing Helm chart...**
6. 你必须输入名称和 Git 仓库的 URL。其他配置项包括描述,都是可选的。如果你不想设置默认的分支,可以输入你想要使用的分支名称。通常,默认分支名为 `main``master`
7. 点击 **Create** 添加。
在 Rancher 中添加 Charts 仓库后,它将立即生效。
### 添加自定义 Helm Chart 仓库
你可以将自己的 Helm chart 仓库添加到 Rancher。为了能正确添加 http 的 Helm Chart 仓库,你需要提供 chart 的服务器并能够响应 GET 请求并提供 YAML 文件和 tar 包。
有关 Helm chart 仓库的更多信息,请参阅 [官方 Helm 文档](https://helm.sh/docs/topics/chart_repository/)。
要将自定义 Helm chart 仓库添加到 Rancher
1. 点击 **☰ > Cluster Management**。
2. 找到你想要访问 Charts 的集群名称。点击集群行末尾的 **Explore**
3.**Cluster Dashboard** 的左侧导航菜单中,点击 **Apps > Repositories**
4. 点击 **Create**
5. 选择 **http(s) URL to an index generated by Helm**.
6. 输入仓库名称和 chart 的 index URL 地址。
7. 点击 **Create** 添加。
### 添加私有 Git/Helm Chart 仓库
你可以使用 SSH 密钥凭据或 HTTP 基础认证秘密(如用户名和密码)添加私有 Git 或 Helm chart 仓库。
### 向仓库添加私有 CA
向 Helm chart 仓库添加私有 CA,你必须将 DER 格式的 CA 证书的 base64 编码副本添加到 Chart 仓库的 `spec.caBundle 字段`,例如 `openssl x509 -outform der -in ca.pem | base64 -w0`。无论是基于 Git 还是 HTTP 的仓库,操作步骤都是相同的
1. 点击 **☰**。在左侧导航菜单的 **Explore Cluster**, 选择一个集群。
2.**Cluster Dashboard** 的左侧导航菜单中,点击 **Apps > Repositories**
3. 找到你想要向其添加私有 CA 证书的 Git 或 HTTP 的仓库。点击 **⋮ > Edit YAML**。
4. 设置 `caBundle` 值,如以下示例:
```yaml
[...]
spec:
caBundle:
MIIFXzCCA0egAwIBAgIUWNy8WrvSkgNzV0zdWRP79j9cVcEwDQYJKoZIhvcNAQELBQAwPzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRQwEgYDVQQKDAtNeU9yZywgSW5jLjENMAsGA1UEAwwEcm9vdDAeFw0yMTEyMTQwODMyMTdaFw0yNDEwMDMwODMyMT
...
nDxZ/tNXt/WPJr/PgEB3hQdInDWYMg7vGO0Oz00G5kWg0sJ0ZTSoA10ZwdjIdGEeKlj1NlPyAqpQ+uDnmx6DW+zqfYtLnc/g6GuLLVPamraqN+gyU8CHwAWPNjZonFN9Vpg0PIk1I2zuOc4EHifoTAXSpnjfzfyAxCaZsnTptimlPFJJqAMj+FfDArGmr4=
[...]
```
:::note 带有认证的 Helm chart 仓库
Repo.Spec 包含一个 `disableSameOriginCheck` 值,该值允许用户绕过相同源的检查,将仓库身份认证信息作为基本 Auth 标头与所有 API 调用一起发送。不建议采用这种做法,但这可以用作非标准 Helm Chart 仓库(例如重定向到不同源 URL 的仓库)的临时解决方案。
要将此功能用于现有 Helm Chart 仓库,请按照前面的步骤编辑 YAML。在 YAML 文件的 `spec` 部分,添加 `disableSameOriginCheck` 并将其设置为 `true`
```yaml
[...]
spec:
disableSameOriginCheck: true
[...]
```
:::
### Helm 兼容性
仅支持 Helm 3 兼容 Chart 。
### 部署和升级 Chart
安装和部署 chart:
1. 点击 **☰ > Cluster Management**。
2. 找到你想要访问 Charts 的集群名称。点击集群行末尾的 **Explore**。
3. 在 **Cluster Dashboard** 的左侧导航菜单中,点击 **Apps > Charts**。
4. 选择一个 chart 点击 **Install**。
Rancher 和 Partner Chart 可能通过自定义页面或 questions.yaml 文件进行额外的配置,但所有 Chart 安装都可以修改 values.yaml 和其他基本设置。单击安装后,将部署一个 Helm 操作作业,并显示该作业的控制台。
要查看所有最近的更改,点击左侧导航栏菜单中的 **APPs > Recent Operations**。你可以查看已进行的调用、条件、事件和日志
安装 Chart 后,点击左侧导航栏菜单中的 **Apps > Installed Apps**。在本节中,你可以升级或删除安装,并查看更多详细信息。选择升级时,呈现的形式和数值与安装相同。
大多数 Rancher 工具在 **Apps** 下方的工具栏中都有额外的页面,以帮助你管理和使用这些功能。这些页面包括指向仪表板的链接、可轻松添加自定义资源的表单以及其他信息。
:::caution
如果在升级前使**自定义 Helm 选项**,并且你的 Chart 中包含不可更改的字段,使用 `--force` 选项可能会导致错误。这是因为 Kubernetes 中的某些对象一旦创建就无法更改。要避免该错误,你可以:
* 使用默认升级选项(即不要使用 `--force` 选项)
* 卸载现有 Chart 并安装升级后的 Chart
* 在执行强制升级之前删除集群中具有不可更改字段的资源
:::
#### 旧版应用
**Apps > Installed Apps** 页面上,旧版应用没有升级按钮。
如果你想升级已安装的旧版应用, 必须启用[旧版功能](../../advanced-user-guides/enable-experimental-features/enable-experimental-features.md)。 如果你在升级 Rancher 之前已经运行了旧版应用,此标志会自动启用。
1. 如果尚未启用,启用[旧版功能](../../advanced-user-guides/enable-experimental-features/enable-experimental-features.md)。
2. 点击 **☰ > Cluster Management**。
3. 找到你想要访问 Charts 的集群名称。点击集群行末尾的 **Explore**
4. 点击 **Legacy > Project > Apps**.
如果在 **Legacy > Project** 下看不到 **Apps** ,请点击顶部导航栏的 **project/namespace** 搜索栏,并从下拉菜单中选择相关项目。
要升级旧版多集群应用:
1. 点击 **☰**.
2.**Legacy Apps** 下点击 **Multi-cluster Apps**.
### 限制
Rancher CLI 不能用于安装仪表板应用程序或 Rancher 功能 Chart。
@@ -0,0 +1,13 @@
---
title: Kubernetes 集群基础设施
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/infrastructure-setup"/>
</head>
还没有适用于 Kubernetes 集群的基础架构?请尝试以下教程之一。
要为具有外部数据库的高可用 K3s Kubernetes 集群设置基础设施,请参见[本页面](ha-k3s-kubernetes-cluster.md)。
要为高可用 RKE Kubernetes 集群设置基础设施,请参见[本页面](ha-rke1-kubernetes-cluster.md)。
@@ -0,0 +1,11 @@
---
title: "Kubernetes 使用教程"
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/kubernetes-cluster-setup"/>
</head>
本章节介绍如何安装 Kubernetes 集群,使得 Rancher Server 可以安装在该集群上。
Rancher 可以在任何 Kubernetes 集群上运行。
@@ -0,0 +1,52 @@
---
title: 生产就绪集群检查清单
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/checklist-for-production-ready-clusters"/>
</head>
本节将介绍创建生产就绪型 Kubernetes 集群的最佳实践。这个集群可用于运行你的应用和服务。
有关集群的要求(包括对 OS/Docker、硬件和网络的要求),请参阅[节点要求](../node-requirements-for-rancher-managed-clusters.md)部分。
本文介绍了我们推荐用于所有生产集群的最佳实践的简短列表。
如需获取推荐的所有最佳实践的完整列表,请参阅[最佳实践](../../../../reference-guides/best-practices/best-practices.md)部分。
### 节点要求
- 确保你的节点满足所有[节点要求](../node-requirements-for-rancher-managed-clusters.md),包括端口要求。
### 备份 etcd
* 启用 etcd 快照。验证是否正在创建快照,并执行灾难恢复方案,从而验证快照是否有效。etcd 是存储集群状态的位置,丢失 etcd 数据意味着丢失集群。因此,请确保为集群配置 etcd 的定期快照,并确保快照也是存储在外部(节点外)的。
### 集群架构
* 节点应具有以下角色配置之一:
* `etcd`
* `controlplane`
* `etcd``controlplane`
* `worker`(不应在具有 `etcd``controlplane` 角色的节点上使用或添加 `worker` 角色)
* 至少拥有三个角色为 `etcd` 的节点,来确保失去一个节点时仍能存活。增加 etcd 节点数量能提高容错率,而将 etcd 分散到不同可用区甚至能获取更好的容错能力。
* 为两个或更多节点分配 `controlplane` 角色,能实现主组件的高可用性。
* 为两个或多个节点分配 `worker` 角色,以便在节点故障时重新安排工作负载。
有关每个角色的用途的更多信息,请参阅 [Kubernetes 中的节点角色](roles-for-nodes-in-kubernetes.md)。
有关每个 Kubernetes 角色的节点数的详细信息,请参阅[推荐架构](../../../../reference-guides/rancher-manager-architecture/architecture-recommendations.md)部分。
### Logging 和 Monitoring
* 为 Kubernetes 组件(系统服务)配置告警/通知程序。
* 为集群分析和事后剖析配置 Logging。
### 可靠性
* 在集群上执行负载测试,以验证硬件是否可以支持你的工作负载。
### 网络
* 最小化网络延迟。Rancher 建议尽量减少 etcd 节点之间的延迟。`heartbeat-interval` 的默认设置是 `500``election-timeout` 的默认设置是 `5000`。这些 [etcd 调优设置](https://coreos.com/etcd/docs/latest/tuning.html) 允许 etcd 在大多数网络(网络延迟特别高的情况下除外)中运行。
* 集群节点应位于单个区域内。大多数云厂商在一个区域内提供多个可用区,这可以提高你集群的可用性。任何角色的节点都可以使用多个可用区。如果你使用 (../set-up-cloud-providers/set-up-cloud-providers.md) 资源,请查阅文档以了解限制(即区域存储限制)。
@@ -0,0 +1,78 @@
---
title: Rancher 中的 Kubernetes 集群设置
description: 配置 Kubernetes 集群
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup"/>
</head>
Rancher 简化了集群的创建,允许你通过 Rancher UI 而不是更复杂的替代方案来创建集群。Rancher 为启动集群提供了多个选项。 请选择最适合您用例的选项。
本节假定你对 Docker 和 Kubernetes 有基本的了解。有关 Kubernetes 组件如何协同工作的简要说明,请参阅[概念](../../../reference-guides/kubernetes-concepts.md)页面。
有关 Rancher 服务如何配置集群以及使用哪些工具配置集群的概念性概述,请参阅[架构](../../../reference-guides/rancher-manager-architecture/rancher-manager-architecture.md)页面。
### 按集群类型划分的集群管理功能
下表总结了每种集群类型的可用选项和设置:
import ClusterCapabilitiesTable from '../../../shared-files/\_cluster-capabilities-table.md';
<ClusterCapabilitiesTable />
## 在托管 Kubernetes 提供商中设置集群
在这种情况下,Rancher 不会配置 Kubernetes,因为它是由 Google Kubernetes EngineGKE)、Amazon Elastic Container Service for Kubernetes 或 Azure Kubernetes Service 等提供商安装的。
如果使用 Google GKE 等 Kubernetes 提供商,Rancher 会与其云 API 集成,允许你从 Rancher UI 为托管集群创建和管理基于角色的访问控制。
更多信息,请参阅[托管 Kubernetes 集群](set-up-clusters-from-hosted-kubernetes-providers/set-up-clusters-from-hosted-kubernetes-providers.md)部分。
## 使用 Rancher 启动 Kubernetes
在自己的节点上配置 Kubernetes 时,Rancher 使用 [Rancher Kubernetes Engine (RKE)](https://rancher.com/docs/rke/latest/en/) 作为库。RKE 是 Rancher 自己的轻量级 Kubernetes 安装程序。
在 RKE 集群中,Rancher 负责管理 Kubernetes 的部署。这些集群可以部署在任何裸机服务器、云提供商或虚拟化平台上。
这些节点可以通过 Rancher 的用户界面动态配置,它可以调用 [Docker Machine](https://docs.docker.com/machine/) 在各种云提供商上启动节点。
如果你已经有了一个要添加到 RKE 集群的节点,可以通过在该节点上运行 Rancher 代理容器将其添加到集群中。
更多信息,请参阅 [RKE 集群](../launch-kubernetes-with-rancher/launch-kubernetes-with-rancher.md)部分。
### 在基础设施提供商中启动 Kubernetes 和配置节点
Rancher 可以在亚马逊 EC2、DigitalOcean、Azure 或 vSphere 等基础设施提供商中动态调配节点,然后在这些节点上安装 Kubernetes。
使用 Rancher,你可以基于[节点模板](../launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/use-new-nodes-in-an-infra-provider.md#node-templates)创建节点池。该模板定义了用于在云提供商中启动节点的参数。
使用基础设施提供商托管的节点的一个好处是,如果某个节点失去了与集群的连接,Rancher 可以自动替换掉它,从而保持预期的集群配置。
可用于创建节点模板的云提供商是由 Rancher UI 中激活的[节点驱动程序](../launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/use-new-nodes-in-an-infra-provider.md#node-drivers)决定的。
有关详细信息,请参阅[基础设施提供商托管的节点](../launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/use-new-nodes-in-an-infra-provider.md)部分。
### 在已存在的自定义节点上启动 Kubernetes
设置这种集群时,Rancher 会在已存在的[自定义节点](../../../reference-guides/cluster-configuration/rancher-server-configuration/use-existing-nodes/use-existing-nodes.md)上安装 Kubernetes,从而创建一个自定义集群。
你可以将任何节点添加到 Rancher 中,并用它们创建集群。
这些节点包括内部部署的裸机服务器、云托管的虚拟机或内部部署的虚拟机。
## 注册已存在的集群
集群注册功能取代了集群导入功能。
现在,注册 EKS 集群还能带来更多好处。在 Rancher UI 中,注册的 EKS 集群和在 Rancher 中创建的 EKS 集群在大多数情况下的处理方式相同,但删除除外。
删除在 Rancher 中创建的 EKS 集群时,集群将被销毁。删除在 Rancher 中注册的EKS集群时,该集群会断开与 Rancher 服务器的连接,但它仍然存在,你仍然可以按照在 Rancher 中注册前的方式访问它。
更多信息,请参阅[本页](register-existing-clusters.md)。
## 以编程方式创建集群
通过 Rancher 以编程方式部署 Kubernetes 集群的最常用方法是使用 Rancher2 Terraform 提供商。使用 Terraform 创建集群的文档在[这里](https://registry.terraform.io/providers/rancher/rancher2/latest/docs/resources/cluster)。
可以使用 Terraform 创建或导入 EKS、GKE、AKS 集群和 RKE 集群。
@@ -0,0 +1,198 @@
---
title: 将 Amazon 从树内迁移到树外
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/migrate-to-an-out-of-tree-cloud-provider/migrate-to-out-of-tree-amazon"/>
</head>
:::note
Rancher Prime 提供的 Rancher v2.7.11,是 Rancher v2.7.x 系列支持 Kubernetes v1.27 的版本。如果你使用 Rancher v2.7.11 并将 Kubernetes 集群升级到了 1.27,则必须使用树外的云提供商。
:::
Kubernetes 不再在树内维护云提供商。在 Kubernetes v1.27 及更高版本中,树内云提供商已被移除。当你从树内提供商迁移到树外提供商时,Rancher UI 允许你升级到 Kubernetes v1.27。
不过,如果你执行的是手动迁移,现有集群必须在迁移后升级到 Kubernetes v1.27 才能继续运行。
要从树内云提供商迁移到树外 AWS 云提供商,必须停止现有集群的 kube 控制器管理器,并安装 AWS 云控制器管理器。有许多方法可以做到这一点。有关详情,请参阅有关[外部云控制器管理器](https://cloud-provider-aws.sigs.k8s.io/getting_started/)的 AWS 官方文档。
如果可以接受迁移过程中出现一些停机,请按照说明[设置外部云提供商](../set-up-cloud-providers/amazon.md#using-the-out-of-tree-aws-cloud-provider)。这些说明概述了如何为新配置的集群配置树外云提供商。在设置过程中,会有一些停机,因为从旧云提供商停止运行到新云提供商开始运行之间会有一段时间的间隔。
如果您的设置不能容忍任何控制平面停机,则必须启用领导者迁移。这有助于从 kube 控制器管理器中的控制器顺利过渡到云控制器管理器中的对应控制器。有关详细信息,请参阅 AWS 官方文档[使用领导者迁移](https://cloud-provider-aws.sigs.k8s.io/getting_started/)。
:::note Important:
Kubernetes [云控制器迁移文档](https://kubernetes.io/docs/tasks/administer-cluster/controller-manager-leader-migration/#before-you-begin)指出,可以使用相同的 Kubernetes 版本进行迁移,但假设迁移是 Kubernetes 升级的一部分。请参考有关[迁移到要使用的云控制器管理器](https://kubernetes.io/docs/tasks/administer-cluster/controller-manager-leader-migration/)的 Kubernetes 文档,了解迁移前是否需要自定义设置。确认[迁移配置值](https://kubernetes.io/docs/tasks/administer-cluster/controller-manager-leader-migration/#default-configuration)。如果您的云提供商提供 Node IPAM 控制器的实现,您还需要迁移 [IPAM 控制器](https://kubernetes.io/docs/tasks/administer-cluster/controller-manager-leader-migration/#node-ipam-controller-migration)。
:::
<Tabs groupId="k8s-distro">
<TabItem value="RKE2">
1. 更新集群配置,启用领导者迁移:
```yaml
spec:
rkeConfig:
machineSelectorConfig:
- config:
kube-controller-manager-arg:
- enable-leader-migration
machineLabelSelector:
matchExpressions:
- key: rke.cattle.io/control-plane-role
operator: In
values:
- "true"
```
请注意,云提供商在此步骤中仍是`aws`
```yaml
spec:
rkeConfig:
machineGlobalConfig:
cloud-provider-name: aws
```
2. 标记控制平面节点不可调度,以便 AWS 云控制器 pod 仅在升级到外部云提供商后才在节点上运行:
```shell
kubectl cordon -l "node-role.kubernetes.io/control-plane=true"
```
3. 要安装启用了领导者迁移的 AWS 云控制器管理器,请遵循[部署云控制器管理器 Chart](../set-up-cloud-providers/amazon.md#using-the-out-of-tree-aws-cloud-provider) 的步骤 1-3。从 Kubernetes 1.22 起,kube-controller-manager 将使用默认配置,该配置将满足 controller-to-manager 的迁移。更新 `spec.rkeConfig.additionalManifest``aws-cloud-controller-manager` 的容器参数,以启用领导者迁移:
```shell
- '--enable-leader-migration=true'
```
4. 安装 Chart 并确认 Daemonset `aws-cloud-controller-manager` 已成功部署:
```shell
kubectl rollout status daemonset -n kube-system aws-cloud-controller-manager
```
5. 更新配置集群以更改云提供商,并从 kube 控制器中移除领导者迁移 参数。如果升级 Kubernetes 版本,也要在集群 YAML 文件的 `spec.kubernetesVersion` 部分设置 Kubernetes 版本
:::note Important
如果不依赖 rke2 监管程序正确设置提供商 ID,则只移除 `cloud-provider-name: aws`
:::
如果不想在集群中启用 `enable-leader-migration` 功能,请将其移除:
```yaml
spec:
rkeConfig:
machineGlobalConfig:
cloud-provider-name: external
```
移除 `enable-leader-migration`
```yaml
spec:
rkeConfig:
machineSelectorConfig:
- config:
kube-controller-manager-arg:
- enable-leader-migration
machineLabelSelector:
matchExpressions:
- key: rke.cattle.io/control-plane-role
operator: In
values:
- "true"
```
:::tip
您也可以在升级后禁用领导者迁移,因为由于只有一个云控制器管理器,不再需要领导者迁移,可以将其移除。升级 Chart 并从容器参数中删除以下部分:
```yaml
- --enable-leader-migration=true
```
:::
使用以下命令验证云控制器管理器更新是否成功上线:
```shell
kubectl rollout status daemonset -n kube-system aws-cloud-controller-manager
```
6. 云提供商负责设置节点的 ProviderID。检查是否所有节点都用 ProviderID 进行了初始化:
```shell
kubectl describe nodes | grep "ProviderID"
```
</TabItem>
<TabItem value="RKE">
1. 更新集群配置,在 `cluster.yml` 中启用领导者迁移:
```yaml
services:
kube-controller:
extra_args:
enable-leader-migration: "true"
```
请注意,云提供商在此步骤中仍是`aws`
```yaml
cloud_provider:
name: aws
```
2. 标记控制平面节点不可调度,以便 AWS 云控制器 pod 仅在升级到外部云提供商后才在节点上运行:
```shell
kubectl cordon -l "node-role.kubernetes.io/controlplane=true"
```
3. 要安装 AWS 云控制器管理器,必须启用领导者迁移,并遵循在新集群上安装 AWS 时的相同步骤。要启用领导者迁移,请在步骤 7 中的容器参数中添加以下内容,同时[按照步骤安装 Chart](../set-up-cloud-providers/amazon.md#helm-chart-installation-from-ui)
```yaml
- "--enable-leader-migration=true"
```
4. 确认 Chart 已安装,但由于控制面板节点不可调度,新的 pod 尚未运行。在下一步更新集群后,RKE 将升级并允许对每个节点的调度,并调度 `aws-controller-manager` pod。
5. 更新 `cluster.yml`以更改云提供商,并从 kube-controller 中移除领导者迁移参数。
选择 **External Amazon (out-of-tree)** 可设置 `--cloud-provider=external`,并启用 `useInstanceMetadataHostname`。节点驱动集群和自定义集群必须启用 `useInstanceMetadataHostname`,否则无法通过 `--node-name`提供自定义节点名称。启用 `useInstanceMetadataHostname` 会查询 ec2 元数据服务,并为 `kubelet``kube-proxy``/hostname` 设置为 `hostname-override`
```yaml
rancher_kubernetes_engine_config:
cloud_provider:
name: external-aws
useInstanceMetadataHostname: true/false
```
如果不想在集群中启用 `enable-leader-migration`,请移除它:
```yaml
services:
kube-controller:
extra_args:
enable-leader-migration: "true"
```
:::tip
完成迁移后,还可以禁用领导者迁移。升级 Chart 并从容器参数中删除以下部分:
```yaml
- --enable-leader-migration=true
```
:::
6. 如果要升级集群的 Kubernetes 版本,也要设置 Kubernetes 版本。
7. 更新集群。现在,`aws-cloud-controller-manager` pod 应该已经运行。
</TabItem>
</Tabs>
@@ -0,0 +1,115 @@
---
title: 将 vSphere 从树内迁移到树外
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/migrate-to-an-out-of-tree-cloud-provider/migrate-to-out-of-tree-vsphere"/>
</head>
:::note
Rancher Prime 提供的 Rancher v2.7.11,是 Rancher v2.7.x 系列支持 Kubernetes v1.27 的版本。如果你使用 Rancher v2.7.11 并将 Kubernetes 集群升级到了 1.27,则必须使用树外的云提供商。
:::
Kubernetes 不再在树内维护云提供商。vSphere 有一个树外云提供商,可以通过安装 vSphere 云提供商和云存储插件来使用。
本页面介绍如何从树内 vSphere 云提供商迁移到树外,并在迁移后管理现有虚拟机。
它遵循官方 [vSphere 迁移文档](https://vsphere-csi-driver.sigs.k8s.io/features/vsphere_csi_migration.html)中提供的步骤,并提供在 Rancher 中执行的步骤。
### Cloud-config 格式限制
由于 vSphere Cloud Storage Interface (CSI) 中的一个现有错误,使用以下 cloud-config 格式配置的现有卷将无法迁移。
如果 cloud-config 中的数据存储和资源池路径采用这种格式,vsphere CSI 驱动程序将无法识别它:
```yaml
default-datastore: </datacenter>/datastore/<default-datastore-name>
resourcepool-path: "</datacenter>/host/<cluster-name>/Resources/<resource-pool-name>"
```
使用树内提供商以下列格式配置的卷将正确迁移:
```yaml
default-datastore: <default-datastore-name>
resourcepool-path: "<cluster-name>/Resources/<resource-pool-name>"
```
上游 bug: https://github.com/kubernetes-sigs/vsphere-csi-driver/issues/628
Rancher 问题跟踪此 bug: https://github.com/rancher/rancher/issues/31105
## 前提条件
- vSphere CSI 迁移需要 vSphere 7.0u1。为了能够管理现有树内 vSphere 卷,请将 vSphere 升级到 7.0u1。
- Kubernetes 版本必须为 1.19 或更高。
## 迁移
### 1. 安装 CPI 插件
安装 CPI 之前,我们需要用 `node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule` 标记所有节点。
可以通过运行以下命令来完成:
```
curl -O https://raw.githubusercontent.com/rancher/helm3-charts/56b622f519728378abeddfe95074f1b87ab73b1e/charts/vsphere-cpi/taints.sh
```
或:
```
wget https://raw.githubusercontent.com/rancher/helm3-charts/56b622f519728378abeddfe95074f1b87ab73b1e/charts/vsphere-cpi/taints.sh
chmod +x taints.sh
./taints.sh <path to kubeconfig if running the command outside the cluster>
```
运行脚本并标记所有节点后,启动 Helm vSphere CPI Chart。
1. 点击 **☰ > Cluster Management**.
1. 转到将要安装 vSphere CPI Chart 的集群,然后点击 **Explore**.
1. 点击 **Apps > Charts**.
1. 点击 **vSphere CPI**.
1. 点击 **Install**.
1. 填写所需的 vCenter 详细信息,然后单击 **Install**.
vSphere CPI 会使用 ProviderID 初始化所有节点,这是 vSphere CSI 驱动程序所需要的。
使用以下命令检查是否用 ProviderID 初始化了所有节点:
```
kubectl describe nodes | grep "ProviderID"
```
### 2. 安装 CSI 驱动程序
1. 点击 **☰ > Cluster Management**.
1. 转到将要安装 vSphere CSI Chart 的集群,点击 **Explore**.
1. 点击 **Apps > Charts**.
1. 点击 **vSphere CSI**.
1. 点击 **Install**.
1. 填写所需的 vCenter 详细信息,然后单击 **Install**.
1. 选中 **Customize Helm options before install**,然后单击 **Next**.
1.**Features** 选项卡上, 选中 **Enable CSI Migration**.
1. (可选)转到 **Storage** 选项卡设置数据存储。此 Chart 会创建一个以 `csi.vsphere.vmware.com` 作为供应商的 StorageClass。在创建此 StorageClass 时,您可以提供用于 CSI 卷配置的数据存储的 URL。数据存储 URL 可在 vSphere 客户端中通过选择数据存储并转到摘要选项卡找到。填写 StorageClass 的详细信息。
1. 点击 **Install**.
### 3. 编辑集群以启用 CSI 迁移功能标志
1. 编辑集群时,如果 Kubernetes 版本低于 1.19,请从 **Kubernetes Version** 下拉菜单中选择 1.19 或更高版本。
2. 要启用功能标志,请单击 "Edit as YAML", 然后在 kube-controller 和 kubelet 下添加以下内容:
```yaml
extra_args:
feature-gates: "CSIMigration=true,CSIMigrationvSphere=true"
```
### 4. 清空工作节点
在升级过程中,必须先清空工作节点,然后再更改kubelet和kube-controller-manager参数。
1. 点击 **☰ > Cluster Management**。
1. 转到要清空工作节点的集群,点击 **⋮ > Edit Config**。
1.**Advanced Options** 部分,将 **Maximum Worker Nodes Unavailable** 字段设为 1。
1. 要在升级期间清空节点,请选择 **Drain Nodes > Yes**.
1.**Force****Delete Local Data** 设置为 **true**.
1. 点击 **Save** 升级集群。
@@ -4,7 +4,7 @@ title: 设置 Google Compute Engine 云提供商
在本节中,你将了解如何在 Rancher 中为自定义集群启用 Google Compute Engine (GCE) 云提供商。自定义集群指的是 Rancher 在现有节点上安装 Kubernetes 的集群。
详情请参见 [GCE 云提供商的官方 Kubernetes 文档](https://github.com/kubernetes/website/blob/release-1.18/content/en/docs/concepts/cluster-administration/cloud-providers.md#gce)。
详情请参见 [GCE 云提供商的官方 Kubernetes 文档](https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/#gce)。
:::note 先决条件:
@@ -0,0 +1,47 @@
---
title: 设置云提供商
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers"/>
</head>
_cloud provider_ 是 Kubernetes 中的一个模块,它提供了一个用于管理节点、负载均衡器和网络路由的接口。
在 Rancher 中设置 cloud provider 时,如果你使用的云提供商支持自动化,Rancher Server 可以在启动 Kubernetes 定义时自动配置新节点、负载均衡器或持久存储设备。
如果你配置的节点云提供商集群不满足先决条件,集群将无法正确配置。
**Cloud Provider** 选项默认设置为 `None`
可以启用的云提供商包括:
* Amazon
* Azure
* GCE (Google Compute Engine)
* vSphere
### 设置 Amazon 云提供商
有关启用 Amazon 云提供商的详细信息,请参阅[此页面](amazon.md)。
### 设置 Azure 云提供商
有关启用 Azure 云提供商的详细信息,请参阅[此页面](azure.md)。
### 设置 GCE 云提供商
有关启用 Google Compute Engine 云提供商的详细信息,请参阅[此页面](google-compute-engine.md)。
### 设置 vSphere 云提供商
有关启用 vSphere 云提供商的详细信息,请参阅[树内 vSphere 配置](configure-in-tree-vsphere.md) 和 [树外 vSphere 配置](configure-out-of-tree-vsphere.md)。
### 设置自定义云提供商
任何 Kubernetes Cloud Provider 都可以通过`自定义`云提供商进行配置。
对于自定义云提供商选项,你可以参考 [RKE 文档](https://rancher.com/docs/rke/latest/en/config-options/cloud-providers/),了解如何为你的云提供商编辑 yaml 文件。特定云提供商的详细配置说明如下:
- [vSphere](https://rke.docs.rancher.com/config-options/cloud-providers/vsphere)
- [OpenStack](https://rancher.com/docs/rke/latest/en/config-options/cloud-providers/openstack/)
@@ -0,0 +1,33 @@
---
title: 通过托管 Kubernetes 提供商设置集群
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-clusters-from-hosted-kubernetes-providers"/>
</head>
在这种情况下,Rancher 不会配置 Kubernetes,因为它是由 Google Kubernetes Engine (GKE)、Amazon Elastic Container Service for Kubernetes 或 Azure Kubernetes Service 等提供商安装的。
如果你使用 Kubernetes 提供商,例如 Google GKERancher 将与对应的云 API 集成,允许你从 Rancher UI 为托管集群创建和管理 RBAC。
在这个用例中,Rancher 使用提供商的 API 向托管提供商发送请求。然后,提供商会为你配置和托管集群。集群创建成功后,你可以像管理本地集群或云上集群一样,通过 Rancher UI 对集群进行管理。
Rancher 支持以下 Kubernetes 提供商:
- [Google GKE (Google Kubernetes Engine)](https://cloud.google.com/kubernetes-engine/)
- [Amazon EKS (Amazon Elastic Container Service for Kubernetes)](https://aws.amazon.com/eks/)
- [Microsoft AKS (Azure Kubernetes Service)](https://azure.microsoft.com/en-us/services/kubernetes-service/)
- [Alibaba ACK (Alibaba Cloud Container Service for Kubernetes)](https://www.alibabacloud.com/product/kubernetes)
- [Tencent TKE (Tencent Kubernetes Engine)](https://intl.cloud.tencent.com/product/tke)
- [Huawei CCE (Huawei Cloud Container Engine)](https://www.huaweicloud.com/en-us/product/cce.html)
## 托管 Kubernetes 提供商的认证
使用 Rancher 创建由提供商托管的集群时,你需要输入认证信息。Rancher 会使用认证信息来访问云厂商的 API。有关如何获取此信息的详情,请参阅:
- [创建 GKE 集群](gke.md)
- [创建 EKS 集群](eks.md)
- [创建 AKS 集群](aks.md)
- [创建 ACK 集群](alibaba.md)
- [创建 TKE 集群](tencent.md)
- [创建 CCE 集群](huawei.md)
@@ -0,0 +1,284 @@
---
title: 在 Windows 集群上启动 Kubernetes
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/use-windows-clusters"/>
</head>
使用 Rancher 配置[自定义集群](../../../../reference-guides/cluster-configuration/rancher-server-configuration/use-existing-nodes/use-existing-nodes.md)时,Rancher 通过 RKERancher Kubernetes Engine)在现有节点上安装 Kubernetes。
在使用 Rancher 配置的 Windows 集群中,集群必须同时包含 Linux 和 Windows 节点。Kubernetes controlplane 只能运行在 Linux 节点上,Windows 节点只能有 Worker 角色。Windows 节点只能用于部署工作负载。
Windows 集群的其他要求如下:
- 只有在创建集群时启用了 Windows 支持的集群才能添加 Windows 节点。无法为现有集群启用 Windows 支持。
- 需要 Kubernetes 1.15+。
- 必须使用 Flannel 网络提供商。
- Windows 节点必须有 50 GB 的磁盘空间。
有关完整的要求列表,请参阅[本节](#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。RKE2 的 Windows 功能包括:
- 由 containerd 提供支持的使用 RKE2 的 Windows 容器
- 直接从 Rancher UI 配置 Windows RKE2 自定义集群
- 用于 Windows RKE2 自定义集群的 Calico CNI
- 技术预览包含了 Windows Server 的 SAC 版本(2004 和 20H2
要使 Windows 支持 RKE2 自定义集群,请选择 Calico 作为 CNI。
:::note
默认情况下,Rancher 允许 Windows 工作负载 pod 部署在 Windows 和 Linux Worker 节点上。在 RKE2 中创建混合集群时,你必须编辑 Chart 中的 `nodeSelector`,从而将 Pod 放置到兼容的 Windows 节点上。有关如何使用 `nodeSelector` 将 pod 分配给节点的更多信息,请参阅 [Kubernetes 文档](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)。
:::
- Kubernetes v1.24.1 及更高版本支持 Windows RKE2 中的 HostProcess 容器。有关详细信息,请参阅[上游文档](https://kubernetes.io/docs/tasks/configure-pod-container/create-hostprocess-pod/)。
## Windows 集群的要求
网络、操作系统和 Docker 的一般节点要求与 [Rancher 安装](../../../../getting-started/installation-and-upgrade/installation-requirements/installation-requirements.md) 的节点要求相同
### 操作系统和 Docker 要求
我们对 Windows Server 和 Windows 容器的支持与 LTSC(长期服务渠道)和 SAC(半年渠道)的 Microsoft 官方生命周期相匹配。
有关 Windows Server 的支持生命周期的日期,请参阅 [Microsoft 文档](https://docs.microsoft.com/en-us/windows-server/get-started/windows-server-release-info)。
### Kubernetes 版本
需要 Kubernetes v1.15+。
如果你在 Windows Server 20H2 Standard Core 上使用 Kubernetes v1.21,则必须在节点上安装补丁“2019-08 Servicing Stack Update for Windows Server”。
### 节点要求
集群中的主机至少需要:
- 2 核 CPU
- 5 GB 内存
- 50 GB 磁盘空间
Rancher 不会配置不满足要求的节点。
### 网络要求
在配置新集群之前,请确保你已经在接收入站网络流量的设备上安装了 Rancher。这是集群节点与 Rancher 通信所必需的。如果你尚未安装 Rancher,请在继续阅读本指南之前先参阅[安装文档](../../../../getting-started/installation-and-upgrade/installation-and-upgrade.md)进行安装。
Rancher 仅支持使用 Flannel 作为网络提供商的 Windows。
有两个网络选项:[**Host Gateway (L2bridge)**](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#host-gw) 和 [**VXLAN (Overlay)**](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#vxlan)。 默认选项是 **VXLAN (Overlay)** 模式。
对于 **Host Gateway (L2bridge)** 网络,最好为所有节点使用相同的第 2 层网络。否则,你需要为它们配置路由规则。有关详细信息,请参阅[配置云托管 VM 路由的文档](network-requirements-for-host-gateway.md#云托管虚拟机的路由配置)。如果你使用的是 Amazon EC2、Google GCE 或 Azure 虚拟机,你需要[禁用私有 IP 地址检查](network-requirements-for-host-gateway.md#禁用私有-ip-地址检查)。
对于 **VXLAN (Overlay)** 网络, 必须安装 [KB4489899](https://support.microsoft.com/en-us/help/4489899) 补丁。大多数云托管虚拟机已经安装了此修复程序。
如果你在为 AWS 虚拟私有云配置 DHCP 选项集,请注意,你只能在 `domain-name` 选项字段中指定一个域名。详情请参见 [DHCP 选项文档](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)。
:::note
一些 Linux 操作系统支持以空格分隔的多个域名。但是,其他 Linux 操作系统和 Windows 将该值视为单个域名,从而导致意外错误。如果你的 DHCP 选项集与具有多个操作系统实例的 VPC 相关联,请仅指定一个域名。
:::
### 带有 ESXi 6.7u2 及更高版本的 vSphere 上的 Rancher
如果你在带有 ESXi 6.7u2 或更高版本的 VMware vSphere 上使用 Rancher,并使用 Red Hat Enterprise Linux 8.3、CentOS 8.3 或 SUSE Enterprise Linux 15 SP2 或更高版本,你需要禁用 `vmxnet3` 虚拟网络适配器硬件卸载功能。否则,不同集群节点上的 pod 之间的所有网络连接会因为超时错误而失败。从 Windows pod 到在 Linux 节点上运行的关键服务(例如 CoreDNS)的所有连接也将失败。外部连接也可能失败。出现这个问题的原因是 Linux 发行版在 `vmxnet3` 中启用了硬件卸载功能,而且 `vmxnet3` 硬件卸载功能中存在一个会丢弃客户覆盖流量的数据包的 bug。要解决此问题,必须禁用 `vmxnet3` 硬件卸载功能。此设置不会在重启后继续生效,因此需要在每次启动时禁用。推荐的做法是在 `/etc/systemd/system/disable_hw_offloading.service` 中创建一个 systemd 单元文件,这会在启动时禁用 `vmxnet3` 硬件卸载功能。禁用 `vmxnet3` 硬件卸载功能的示例 systemd 单元文件如下所示。注意,`<VM network interface>` 必须自定义为主机的 `vmxnet3` 网络接口,如 `ens192`
```
[Unit]
Description=Disable vmxnet3 hardware offloading feature
[Service]
Type=oneshot
ExecStart=ethtool -K <VM network interface> tx-udp_tnl-segmentation off
ExecStart=ethtool -K <VM network interface> tx-udp_tnl-csum-segmentation off
StandardOutput=journal
[Install]
WantedBy=multi-user.target
```
然后在 systemd 单元文件上设置适当的权限:
```
chmod 0644 /etc/systemd/system/disable_hw_offloading.service
```
最后,启用 systemd 服务:
```
systemctl enable disable_hw_offloading.service
```
### 架构要求
Kubernetes 集群管理节点(`etcd``controlplane`)必须运行在 Linux 节点上。
部署工作负载的 `worker` 节点通常是 Windows 节点,但必须至少有一个 `worker` 节点运行在 Linux 上,才能按顺序运行 Rancher Cluster Agent、DNS、Metrics Server 和 Ingress 相关容器。
#### 推荐架构
我们推荐下表中列出的三节点架构,但你始终可以添加额外的 Linux 和 Windows worker 节点来扩展集群,从而实现冗余:
| 节点 | 操作系统 | Kubernetes 集群角色 | 用途 |
| ------ | --------------------------------------------- | --------------------------- | ----------------------------------------------------------- |
| 节点 1 | Linux (推荐 Ubuntu Server 18.04) | Control plane, etcd, worker | 管理 Kubernetes 集群 |
| 节点 2 | Linux (推荐 Ubuntu Server 18.04) | Worker | 支持集群的 Rancher 集群代理、Metrics 服务器、DNS 和 Ingress |
| 节点 3 | WindowsWindows Server 核心版本 1809 或更高版本) | Worker | 运行 Windows 容器 |
### 容器要求
Windows 要求容器的版本必须与部署容器的 Windows Server 的版本一致。因此,你必须在 Windows Server 核心版本 1809 或更高版本上构建容器。如果你已经使用早期的 Windows Server 核心版本构建了容器,则必须使用 Windows Server 核心版本 1809 或更高版本重新构建容器。
### 云提供商特定要求
如果你在集群中设置了 Kubernetes 云提供商,则需要进行一些额外的操作。如果你想使用云提供商的功能,例如为集群自动配置存储、负载均衡器或其他基础设施,你可能需要设置云提供商。有关如何配置满足条件的云提供商集群节点,请参阅[此页面](../set-up-cloud-providers/set-up-cloud-providers.md)。
如果你的云提供商是 GCEGoogle Compute Engine),则必须执行以下操作:
- 按照[步骤](../set-up-cloud-providers/google-compute-engine.md)在`cluster.yml` 中启用 GCE 云提供商。
- 在 Rancher 中配置集群时,在 Rancher UI 中选择**自定义云提供商**作为云提供商。
## 教程: 如何创建支持 Windows 的集群
本教程描述了如何使用[推荐架构](#推荐架构)中的三个节点创建由 Rancher 配置的集群。
在在现有节点上使用 Rancher 配置集群时,你需要在每个节点上安装 [Rancher Agent](../../../../reference-guides/cluster-configuration/rancher-server-configuration/use-existing-nodes/rancher-agent-options.md)来将节点添加到集群中。在 Rancher UI 中创建或编辑集群时,你会看到一个**自定义节点运行命令**,你可以在每台服务器上运行该命令,从而将服务器添加到集群中。
要设置支持 Windows 节点和容器的集群,你需要完成以下任务:
### 1. 配置主机
要在具有 Windows 支持的现有节点上配置集群,请准备好你的主机。
主机可以是:
- 云托管的虚拟机
- 虚拟化集群中的虚拟机
- 裸金属服务器
你将配置三个节点:
- 一个 Linux 节点,用于管理 Kubernetes controlplane 并存储你的 `etcd`
- 第二个 Linux 节点,它将作为 worker 节点。
- Windows 节点,它将作为 worker 节点运行 Windows 容器。
| 节点 | 操作系统 |
| ------ | --------------------------------------------- |
| 节点 1 | Linux (推荐 Ubuntu Server 18.04) |
| 节点 2 | Linux (推荐 Ubuntu Server 18.04) |
| 节点 3 | WindowsWindows Server 核心版本 1809 或更高版本) |
如果你的节点托管在**云提供商**上,并且你需要自动化支持(例如负载均衡器或持久存储设备),你的节点还需要满足额外的配置要求。详情请参见[选择云提供商](../set-up-cloud-providers/set-up-cloud-providers.md)。
### 2. 在现有节点上创建集群
在现有节点上创建 Windows 集群的说明与一般[创建自定义集群的说明](../../../../reference-guides/cluster-configuration/rancher-server-configuration/use-existing-nodes/use-existing-nodes.md)非常相似,但有一些特定于 Windows 的要求。
1. 在左上角,单击 **☰ > 集群管理**。
1. 在**集群**页面上,单击**创建**。
1. 单击**自定义**。
1. 在**集群名称**字段中输入集群的名称。
1. 在 **Kubernetes 版本**下拉菜单中,选择 v1.19 或更高版本。
1. 在**网络提供商**字段中,选择 **Flannel**
1.**Windows 支持**中,单击**启用**
1. 可选:启用 Windows 支持后,你将能够选择 Flannel 后端模式。有两个网络选项:[**Host Gateway (L2bridge)**](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#host-gw) 和 [**VXLAN (Overlay)**](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#vxlan)。 默认选项是 **VXLAN (Overlay)** 模式。
1. 点击**下一步**。
:::note 重要提示:
对于 <b>Host Gateway (L2bridge)</b> 网络,最好为所有节点使用相同的第 2 层网络。否则,你需要为它们配置路由规则。有关详细信息,请参阅[配置云托管 VM 路由的文档](network-requirements-for-host-gateway.md#云托管虚拟机的路由配置)。如果你使用的是 Amazon EC2、Google GCE 或 Azure 虚拟机,你需要[禁用私有 IP 地址检查](network-requirements-for-host-gateway.md#禁用私有-ip-地址检查)。
:::
### 3. 将节点添加到集群
本节介绍如何将 Linux 和 Worker 节点注册到集群。你将在每个节点上运行一个命令,该命令将安装 Rancher Agent 并允许 Rancher 管理每个节点。
#### 添加 Linux master 节点
在本节中,你需要在 Rancher UI 上填写表单以获取自定义命令,从而在 Linux master 节点上安装 Rancher Agent。然后,复制该命令并在 Linux master 节点上运行命令,从而在集群中注册该节点。
集群中的第一个节点应该是具有 **controlplane****etcd** 角色的 Linux 主机。至少必须为此节点启用这两个角色,并且必须先将此节点添加到集群中,然后才能添加 Windows 主机。
1. 在**节点操作系统**中,单击 **Linux**
1. 在**节点角色**中,至少选择 **etcd****controlplane**。推荐选择所有的三个角色。
1. 可选:如果点击**显示高级选项**,你可以自定义 [Rancher Agent](../../../../reference-guides/cluster-configuration/rancher-server-configuration/use-existing-nodes/rancher-agent-options.md)和[节点标签](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)的设置。
1. 将屏幕上显示的命令复制到剪贴板。
1. SSH 到你的 Linux 主机,然后运行复制到剪贴板的命令。
1. 完成配置 Linux 节点后,选择**完成**。
**结果**
你已创建集群,集群的状态是**配置中**。Rancher 已在你的集群中。
当集群状态变为 **Active** 后,你可访问集群。
**Active** 状态的集群会分配到两个项目:
- `Default`:包含 `default` 命名空间
- `System`:包含 `cattle-system``ingress-nginx``kube-public``kube-system` 命名空间。
节点可能需要几分钟才能注册到集群中。
#### 添加 Linux Worker 节点
在本节中,我们通过运行命令将 Linux Worker 节点注册到集群中。
在初始配置集群之后,你的集群只有一个 Linux 主机。接下来,我们添加另一个 Linux `worker` 主机,用于支持集群的 _Rancher Cluster Agent_、_Metrics Server_、_DNS_ 和 _Ingress_
1. 在左上角,单击 **☰ > 集群管理**。
1. 转到你创建的集群,然后单击 **⋮ > 编辑配置**。
1. 向下滚动到**节点操作系统**。选择 **Linux**
1. 在**自定义节点运行命令**中,转到**节点选项**并选择 **Worker** 角色。
1. 将屏幕上显示的命令复制到剪贴板。
1. 使用远程终端连接登录到你的 Linux 主机。粘贴剪贴板的命令并运行。
1.**Rancher**中,单击**保存**
**结果****Worker** 角色已安装在你的 Linux 主机上,并且节点会向 Rancher 注册。节点可能需要几分钟才能注册到集群中。
:::note
Linux Worker 节点上的污点
以下污点将添加集群中的 Linux Worker 节点中。将此污点添加到 Linux Worker 节点后,添加到 Windows 集群的任何工作负载都将自动调度到 Windows Worker 节点。如果想将工作负载专门调度到 Linux Worker 节点上,则需要为这些工作负载添加容忍度。
| 污点键 | 污点值 | 污点效果 |
| -------------- | ---------- | ------------ |
| `cattle.io/os` | `linux` | `NoSchedule` |
:::
#### 添加 Windows Worker 节点
在本节中,我们通过运行命令将 Windows Worker 节点注册到集群中。
你可以通过编辑集群并选择 **Windows** 选项,从而将 Windows 主机添加到集群中。
1. 在左上角,单击 **☰ > 集群管理**。
1. 转到你创建的集群,然后单击 **⋮ > 编辑配置**。
1. 向下滚动到**节点操作系统**。选择 **Windows**。注意:你将看到 **worker** 角色是唯一可用的角色。
1. 将屏幕上显示的命令复制到剪贴板。
1. 使用你喜欢的工具(例如 [Microsoft 远程桌面](https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-clients))登登录到 Windows 主机。在 **Command Prompt (CMD)** 中运行复制到剪贴板的命令。
1. 在 Rancher 中,单击**保存**。
1. 可选:如果要向集群添加更多 Windows 节点,请重复这些操作。
**结果****Worker** 角色已安装在你的 Windows 主机上,并且节点会向 Rancher 注册。节点可能需要几分钟才能注册到集群中。你现在已拥有一个 Windows Kubernetes 集群。
### 可选的后续步骤
创建集群后,你可以通过 Rancher UI 访问集群。最佳实践建议你设置以下访问集群的备用方式:
- **通过 kubectl CLI 访问你的集群**:按照[这些步骤](../../manage-clusters/access-clusters/use-kubectl-and-kubeconfig.md#在工作站使用-kubectl-访问集群)在你的工作站上使用 kubectl 访问集群。在这种情况下,你将通过 Rancher Server 的身份验证代理进行身份验证,然后 Rancher 会让你连接到下游集群。此方法允许你在没有 Rancher UI 的情况下管理集群。
- **通过 kubectl CLI 使用授权的集群端点访问你的集群**:按照[这些步骤](../../manage-clusters/access-clusters/use-kubectl-and-kubeconfig.md#直接使用下游集群进行身份验证)直接使用 kubectl 访问集群,而无需通过 Rancher Server 进行身份验证。我们建议设置此替代方法来访问集群,以便在无法连接到 Rancher 时访问集群。
## Azure 中存储类的配置
如果你的节点使用 Azure VM,则可以使用 [Azure 文件](https://docs.microsoft.com/en-us/azure/aks/azure-files-dynamic-pv)作为集群的存储类(StorageClass)。详情请参见[此部分](azure-storageclass-configuration.md)。
@@ -0,0 +1,30 @@
---
title: Horizontal Pod Autoscaler
description: 了解 Pod 水平自动扩缩 (HPA)。如何管理 HPA 以及如何使用服务部署来进行测试
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/kubernetes-resources-setup/horizontal-pod-autoscaler"/>
</head>
[Horizontal Pod AutoscalerHPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)是一项 Kubernetes 功能,用于将集群配置为自动扩缩其运行的服务。
Rancher 提供了一些附加功能来帮助管理 HPA,具体取决于 Rancher 的版本。
你可以使用 Rancher UI 创建、管理和删除 HPA。仅在 `autoscaling/v2beta2` API 中支持 HPA。
## 管理 HPA
管理 HPA 的方式因你的 Kubernetes API 版本而异:
- **Kubernetes API 版本 autoscaling/V2beta1**:允许根据应用程序的 CPU 和内存利用率自动扩缩 pod。
- **Kubernetes API 版本 autoscaling/V2beta2**:允许根据 CPU 和内存利用率以及自定义指标自动扩缩 pod。
你可以使用 Rancher UI 创建、管理和删除 HPA。在 Rancher UI 中,你可以将 HPA 配置为根据 CPU 和内存利用率进行扩缩。有关详细信息,请参阅[使用 Rancher UI 管理 HPA](manage-hpas-with-ui.md)。如需根据自定义指标进行 HPA,你仍然需要使用 `kubectl`。有关详细信息,请参阅[配置 HPA 以使用 Prometheus 自定义指标进行扩缩](manage-hpas-with-kubectl.md#使用资源指标cpu-和内存配置-hpa-以进行扩缩)。
在 Rancher 2.0.7 及更高版本中创建的集群自动满足使用 HPA 的所有要求(metrics-server 和 Kubernetes 集群配置)。
## 使用服务部署测试 HPA
你可以转到你的项目并单击 **资源 > HPA** 来查看​​ HPA 当前的副本数。有关详细信息,请参阅[获取 HPA 指标和状态](manage-hpas-with-ui.md)。
你还可以使用 `kubectl` 来获取你使用负载测试工具测试的 HPA 的状态。有关详细信息,请参阅[使用 kubectl 测试 HPA](test-hpas-with-kubectl.md)。
@@ -0,0 +1,67 @@
---
title: Kubernetes 资源
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/kubernetes-resources-setup"/>
</head>
你可以在 Rancher UI 中查看和操作 Kubernetes 集群中的所有自定义资源和 CRD。
## 工作负载
使用[工作负载](workloads-and-pods/workloads-and-pods.md)将应用部署到集群节点,工作负载是包含用于运行应用的 pod 的对象,以及为部署行为设置规则的元数据。工作负载可以部署在集群范围内,也可以部署在一个命名空间内。
部署工作负载时,你可以使用任何镜像进行部署。可供选择的[工作负载类型](workloads-and-pods/workloads-and-pods.md#工作负载类型)有多种,工作负载类型决定了你的应用程序的运行方式。
在工作负载部署之后,你可以继续使用它。你可以:
- 将工作负载[升级](workloads-and-pods/upgrade-workloads.md)到它运行的应用的更新版本。
- 如果升级出现问题,将工作负载[回滚](workloads-and-pods/roll-back-workloads.md)到以前的版本。
- [添加一个 sidecar](workloads-and-pods/add-a-sidecar.md),这是一个支持主要工作负载的工作负载。
## 负载均衡和 Ingress
### 负载均衡器
启动应用程序后,它仅在集群中可用。无法从外部访问它。
如果你希望你的应用程序可以从外部访问,则必须向集群添加负载均衡器。如果用户知道负载均衡器的 IP 地址和应用的端口号,负载均衡器可以为外部连接创建一个访问集群的网关。
Rancher 支持两种类型的负载均衡器:
- [Layer-4 负载均衡器](load-balancer-and-ingress-controller/layer-4-and-layer-7-load-balancing.md#layer-4-load-balancer#四层负载均衡器)
- [Layer-7 负载均衡器](load-balancer-and-ingress-controller/layer-4-and-layer-7-load-balancing.md#七层负载均衡器)
有关详细信息,请参阅[负载均衡器](load-balancer-and-ingress-controller/layer-4-and-layer-7-load-balancing.md)。
#### Ingress
负载均衡器只能处理每个 service 的一个 IP 地址。换言之,如果你在集群中运行了多个 service,则必须为每个 service 配备一个负载均衡器。运行多个负载均衡器的花费可能非常高昂。因此,你可以使用 Ingress 来解决此问题。
Ingress 是一组充当负载均衡器的规则。Ingress 与一个或多个 Ingress Controller 一起动态路由 service 的请求。Ingress 收到请求时,集群中的 Ingress Controller 会对负载均衡器进行配置,从而根据你配置的 service 子域或路径规则将请求定向到正确的 service。
有关详细信息,请参阅 [Ingress](load-balancer-and-ingress-controller/add-ingresses.md)。
在项目中使用 Ingress 时,你可以通过设置全局 DNS 条目来将 Ingress 主机名编程到外部 DNS。
## 服务发现
使用负载均衡器和/或 Ingress 将集群公开给外部请求后,你只能通过 IP 地址访问集群。要创建可解析的主机名,你必须创建服务记录,该记录将 IP 地址、外部主机名、DNS 记录别名、工作负载或标记的 pod 映射到特定主机名。
有关详细信息,请参阅[服务发现](create-services.md)。
## 应用程序
除了启动应用程序的各个组件外,你还可以使用 Rancher 应用商店来启动应用,即 Helm Chart。
## Kubernetes 资源
在 Rancher 项目或命名空间的上下文中,_资源_ 是支持 Pod 操作的文件和数据。在 Rancher 中,证书、镜像仓库和密文都被视为资源。但是,Kubernetes 将资源划分为不同类型的[密文(secret](https://kubernetes.io/docs/concepts/configuration/secret/)。因此,在单个项目或命名空间中,各个资源必须具有唯一的名称以避免冲突。资源主要用于承载敏感信息,但也有其他用途。
资源包括:
- [证书](encrypt-http-communication.md):用于加密/解密进入或离开集群的数据的文件。
- [ConfigMap](configmaps.md):存储一般配置信息的文件,例如一组配置文件。
- [密文](secrets.md):存储密码、token 或密钥等敏感数据的文件。
- [镜像仓库](kubernetes-and-docker-registries.md):携带用于验证私有镜像仓库的凭证的文件。
@@ -9,7 +9,6 @@ description: Ingress 配置
由于 controller 的这一更改,默认 RKE1 配置不再将 `hostNetwork` 设置为 `true`。但是,你必须将 `hostNetwork` 设置为 `true` 才能使基于 TCP 和 UDP 的 Service 正常工作。为此,请[编辑](../../../../reference-guides/cluster-configuration/rancher-server-configuration/rke1-cluster-configuration.md#使用-yaml-编辑集群)集群的 YAML 并按照[官方 RKE1 文档](https://rke.docs.rancher.com/config-options/add-ons/ingress-controllers#configuring-network-options)中的步骤操作。
:::
## 指定要使用的主机名
@@ -0,0 +1,65 @@
---
title: 在 Rancher 中设置负载均衡器和 Ingress Controller
description: 了解如何设置负载均衡器和 Ingress Controller 以在 Rancher 中重定向服务请求,并了解负载均衡器的限制
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/kubernetes-resources-setup/load-balancer-and-ingress-controller"/>
</head>
在 Rancher 中,你可以通过设置负载均衡器和 Ingress Controller 来重定向服务请求。
## 负载均衡器
启动应用程序后,该应用程序仅在集群内可用。你无法从集群外部访问它。
如果你希望从外部访问应用程序,则必须向集群添加负载均衡器或 Ingress。如果用户知道负载均衡器的 IP 地址和应用的端口号,负载均衡器可以为外部连接创建一个访问集群的网关。
Rancher 支持两种类型的负载均衡器:
- [Layer-4 负载均衡器](layer-4-and-layer-7-load-balancing.md#四层负载均衡器)
- [Layer-7 负载均衡器](layer-4-and-layer-7-load-balancing.md#七层负载均衡器)
有关详细信息,请参阅[负载均衡器](layer-4-and-layer-7-load-balancing.md)。
### 负载均衡器限制
负载均衡器有几个需要注意的限制:
- 负载均衡器只能处理每个 service 的一个 IP 地址。换言之,如果你在集群中运行了多个 service,则必须为每个 service 配备一个负载均衡器。运行多个负载均衡器的花费可能非常高昂。
- 如果你想将负载均衡器与托管的 Kubernetes 集群(即托管在 GKE、EKS 或 AKS 中的集群)一起使用,则负载均衡器必须运行在该云提供商的基础设施上。请根据你配置集群的方式查看负载均衡器的兼容列表:
- [支持 Layer-4 负载均衡](layer-4-and-layer-7-load-balancing.md#四层负载均衡支持)
- [支持 Layer-7 负载均衡](layer-4-and-layer-7-load-balancing.md#七层负载均衡支持)
## Ingress
如上所述,使用负载均衡器的缺点是:
- 每个服务负载均衡器只能处理一个 IP 地址。
- 如果你在集群中运行多个服务,则每个服务都必须配备一个负载均衡器。
- 为每个服务配备负载均衡器的花费可能非常高昂。
相反,如果将某个 Ingress 用作集群的入口点,Ingress 可以更灵活地将流量路由到多个 service。它可以将多个 HTTP 请求映射到 service,而无需为每个 service 提供单独的 IP 地址。
因此,如果你需要使用相同的 IP 地址、Layer 7 协议或特权节点端口(80 和 443)来公开多个 service,你可以使用一个 Ingress。
Ingress 与一个或多个 Ingress Controller 一起动态路由 service 的请求。Ingress 收到请求时,集群中的 Ingress Controller 会根据你配置的 service 子域或路径规则将请求定向到正确的 service。
每个 Kubernetes Ingress 资源都对应一个 `/etc/nginx/sites-available/` 中的文件,其中包含一个配置对特定文件和文件夹的请求的 `server{}` 配置块。
Ingress 能为你的集群创建一个入口端口(与负载均衡器类似),可以位于集群的内部或外部。RKE 启动的集群中的 Ingress 和 Ingress Controller 由 [Nginx](https://www.nginx.com/) 提供支持。
Ingress 还支持其他功能,例如 SSL 终止、基于名称的虚拟主机等。
:::note 在高可用性配置中使用 Rancher:
请避免将 Ingress 添加到 `local` 集群。Rancher 将 Nginx Ingress Controller 作为 Rancher 管理的 _所有_ 集群的全局入口点,其中包括 `local` 集群。因此,当用户尝试访问应用程序时,Rancher 可能会由于重新加载 Nginx 配置而断开连接。要解决这个问题,我们建议你仅在通过 Rancher 启动的集群中部署应用程序。
:::
- 有关如何在 Rancher 中设置 Ingress 的更多信息,请参阅 [Ingress](add-ingresses.md)。
- 有关 Ingress 和 Ingress Controller 的完整信息,请参阅 [Kubernetes Ingress 文档](https://kubernetes.io/docs/concepts/services-networking/ingress/)。
- 在项目中使用 Ingress 时,你可以通过设置全局 DNS 条目来将 Ingress 主机名编程到外部 DNS。

Some files were not shown because too many files have changed in this diff Show More