Translate v2.7 and v2.6 docs

This commit is contained in:
vickyhella
2023-05-12 17:45:17 +08:00
parent f6ab15291d
commit 217a159889
113 changed files with 31002 additions and 14352 deletions
@@ -50,7 +50,7 @@ az group create --name rancher-rg --location eastus
:::note
如果 Kubernetes 的版本更新到 v1.22 或更高版本,则 ingress-nginx 的版本也需要[更新](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/)。
如果你要从旧的 Kubernetes 版本更新到 Kubernetes v1.22 或更高版本,你还需要[更新](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx。
:::
@@ -79,16 +79,26 @@ az aks get-credentials --resource-group rancher-rg --name rancher-server
集群需要一个 Ingress,以从集群外部访问 Rancher。要 Ingress,你需要分配一个公共 IP 地址。请确保你有足够的配额,否则它将无法分配 IP 地址。公共 IP 地址的限制在每个订阅的区域级别生效。
以下命令安装了带有 Kubernetes 负载均衡器服务的 `nginx-ingress-controller`。
为确保你选择了正确的 Ingress-NGINX Helm Chart,首先在 [Kubernetes/ingress-nginx 支持表](https://github.com/kubernetes/ingress-nginx#supported-versions-table)中找到与你的 Kubernetes 版本兼容的 `Ingress-NGINX 版本`。
然后,运行以下命令列出可用的 Helm Chart:
```
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm search repo ingress-nginx -l
```
`helm search` 命令的输出包含一个 `APP VERSION` 列。此列下的版本等同于你之前选择的 `Ingress-NGINX 版本`。使用应用程序版本,选择一个 Chart 版本,该版本打包了与你的 Kubernetes 兼容的应用程序。例如,如果使用的是 Kubernetes v1.23,则可以选择 4.5.2 Helm Chart,因为 Ingress-NGINX v1.6.4 与该 Chart 打包在一起,而 v1.6.4 与 Kubernetes v1.23 兼容。如有疑问,请选择最新的兼容版本。
了解你需要的 Helm chart `版本`后,运行以下命令。它安装一个带有 Kubernetes 负载均衡器服务的 `nginx-ingress-controller`:
```
helm upgrade --install \
ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx \
--set controller.service.type=LoadBalancer \
--version 4.0.18 \
--version 4.5.2 \
--create-namespace
```
@@ -79,7 +79,7 @@ aws configure
运行以下命令创建一个 EKS 集群。使用适用于你的用例的 AWS 区域。在选择 Kubernetes 版本时,请务必先查阅[支持矩阵](https://rancher.com/support-matrix/),以找出已针对你的 Rancher 版本验证的最新 Kubernetes 版本。
**注意**:如果 Kubernetes 的版本更新到 v1.22 或更高版本,则 ingress-nginx 的版本也需要[更新](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/)。
**注意**:如果你要从旧的 Kubernetes 版本更新到 Kubernetes v1.22 或更高版本,你还需要[更新](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx。
```
eksctl create cluster \
@@ -117,16 +117,26 @@ rancher-server-cluster us-west-2 True
集群需要一个 Ingress,以从集群外部访问 Rancher。
以下命令安装了一个 `nginx-ingress-controller`和一个 LoadBalancer 服务。因此,NGINX 前面会有一个 ELB(Elastic Load Balancer):
为确保你选择了正确的 Ingress-NGINX Helm Chart,首先在 [Kubernetes/ingress-nginx 支持表](https://github.com/kubernetes/ingress-nginx#supported-versions-table)中找到与你的 Kubernetes 版本兼容的 `Ingress-NGINX 版本`。
然后,运行以下命令列出可用的 Helm Chart:
```
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm search repo ingress-nginx -l
```
`helm search` 命令的输出包含一个 `APP VERSION` 列。此列下的版本等同于你之前选择的 `Ingress-NGINX 版本`。使用应用程序版本,选择一个 Chart 版本,该版本打包了与你的 Kubernetes 兼容的应用程序。例如,如果使用的是 Kubernetes v1.23,则可以选择 4.5.2 Helm Chart,因为 Ingress-NGINX v1.6.4 与该 Chart 打包在一起,而 v1.6.4 与 Kubernetes v1.23 兼容。如有疑问,请选择最新的兼容版本。
了解你需要的 Helm chart `版本`后,运行以下命令。它安装一个带有 Kubernetes 负载均衡器服务的 `nginx-ingress-controller`:
```
helm upgrade --install \
ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx \
--set controller.service.type=LoadBalancer \
--version 4.0.18 \
--version 4.5.2 \
--create-namespace
```
@@ -120,7 +120,7 @@ Your active configuration is: [default]
要使用 Rancher 成功创建 GKE 集群,GKE 必须处于 Standard 模式。GKE 在创建 Kubernetes 集群时有两种运行模式,分别是 Autopilot 和 Standard 模式。Autopilot 模式的集群配置对编辑 kube-system 命名空间有限制。但是,Rancher 在安装时需要在 kube-system 命名空间中创建资源。因此,你将无法在以 Autopilot 模式创建的 GKE 集群上安装 Rancher。如需详细了解 GKE Autopilot 模式和 Standard 模式之间的差异,请访问[比较 GKE Autopilot 和 Standard ](https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-standard-feature-comparison)。
**注意**:如果 Kubernetes 的版本更新到 v1.22 或更高版本,则 ingress-nginx 的版本也需要[更新](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/)。
**注意**:如果你要从旧的 Kubernetes 版本更新到 Kubernetes v1.22 或更高版本,你还需要[更新](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx。
```
gcloud container clusters create cluster-name --num-nodes=3 --cluster-version=<VERSION>
@@ -2,42 +2,38 @@
title: 功能开关
---
为了让你试用默认关闭的实验功能,我们引入了功能开关(feature flag)。
使用功能开关(Feature Flag),你可以试用可选或实验性的功能并启用正在逐步淘汰的旧版功能。
如需了解功能的值以及如何启用功能,请参阅[此处](../../../pages-for-subheaders/enable-experimental-features.md)。
要了解功能的值以及如何启用它们,请参阅[启用实验性功能](../../../pages-for-subheaders/enable-experimental-features.md)。
:::note
某些功能需要重启 Rancher Server 容器才能生效。我们在文档的表格和 UI 中对这些功能进行了标记。
某些功能要求重新启动 Rancher 容器。Rancher UI 中标记了要求重启的功能。
:::
以下是 Rancher 中可用的功能开关列表:
以下是 Rancher 中可用的功能开关列表。如果你是从旧 Rancher 版本升级的,你可能会在 Rancher UI 中看到其他功能,例如 `proxy` 或 `dashboard`(均[已中断](/versioned_docs/version-2.5/reference-guides/installation-references/feature-flags.md)):
- `harvester`:从 2.6.1 开始可用。Harvester 用于管理 Virtualization Management 页面的访问。用户可以在该页面直接导航到 Harvester 集群并访问 Harvester UI。详情请参见[本页](../../../integrations-in-rancher/harvester.md#功能开关)。
- `rke2`:用于启用配置 RKE2 集群的功能。这个功能开关默认开启,即允许用户尝试配置此类集群。
- `fleet`:由于 Fleet 功能已应用到新的配置框架中,因此我们需要启用先前的 `fleet` 功能开关。如果你在早期版本中禁用了此功能开关,升级到 Rancher 2.6 后,该功能开关会自动启用。详情请参见[此页](../../../how-to-guides/new-user-guides/deploy-apps-across-clusters/fleet.md)。
- `continuous-delivery`:在 Rancher v2.5.x 中,Fleet 带有 GitOps 功能,该功能不能与 Fleet 分开禁用。在 Rancher 2.6 中,我们引入了 `continuous-delivery` 功能开关,让你可以单独禁用 Fleet 的 GitOps 功能。如需更多信息,请参阅[此页面](../../../how-to-guides/advanced-user-guides/enable-experimental-features/continuous-delivery.md)。
- `legacy`:Rancher 会逐渐淘汰之前版本中的某些功能,以实现功能迭代。此处包括已弃用,以及之后会转移到其他地方的功能。默认情况下,新安装会禁用此功能开关。如果你从先前的版本升级,此功能开关会启用。
- `token-hashing`:用于启动新的 token-hashing 功能。启用后,会使用 SHA256 算法对现有 Token 和所有新 Token 进行哈希处理。一旦对 Token 进行哈希处理,就无法撤消操作。该功能开关启用后无法被禁用。详情请参见[哈西处理 Token](../../../reference-guides/about-the-api/api-tokens.md)。
- `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`:从 2.6.1 开始可用。管理 Virtualization Management 页面的访问。用户可以在该页面直接导航到 Harvester 集群并访问 Harvester UI。有关详细信息,请参阅 [Harvester 集成](../../../integrations-in-rancher/harvester.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 集群。此标志只能在安装时设置。后续无法启用或禁用它。
- `rke2`:启用配置 RKE2 集群。此标志默认启用。
- `token-hashing`:启用令牌哈希。启用后,会使用 SHA256 算法对现有 Token 和所有新 Token 进行哈希处理。一旦对 Token 进行哈希处理,就无法撤消操作。此标志在启用后无法禁用。有关详细信息,请参阅 [API 令牌](../../../reference-guides/about-the-api/api-tokens.md#令牌哈希)。
- `unsupported-storage-drivers`:该功能[允许使用不支持的存储驱动](../../../how-to-guides/advanced-user-guides/enable-experimental-features/unsupported-storage-drivers.md)。换言之,此功能允许你使用默认情况下未启用的存储提供商和卷插件。
- `istio-virtual-service-ui`:此功能让你[启动用于管理 Istio 流量的 UI,其中包括创建、读取、更新和删除 Istio 虚拟服务(Virtual Service)和目标规则(Destination Rule)](../../../how-to-guides/advanced-user-guides/enable-experimental-features/istio-traffic-management-features.md)。
- `multi-cluster-management`:用于配置和管理多个 Kubernetes 集群。此功能开关只能在安装时设置,之后不能更改。
下表介绍了 Rancher 中功能开关的可用版本和默认值:
下表介绍了 Rancher 中功能开关的可用性和默认值。标记为“GA”的功能已普遍可用:
| 功能开关名称 | 默认值 | 状态 | 可用于 | 是否需要重启 Rancher |
| ----------------------------- | ------------- | ------------ | --------------- |---|
| `istio-virtual-service-ui` | `false` | 实验功能 | v2.3.0 | |
| `istio-virtual-service-ui` | `true` | GA* | v2.3.2 | |
| `unsupported-storage-drivers` | `false` | 实验功能 | v2.3.0 | |
| `fleet` | `true` | GA* | v2.5.0 | |
| `fleet` | `true` | 不能禁用 | v2.6.0 | N/A |
| `continuous-delivery` | `true` | GA* | v2.6.0 | |
| `token-hashing` | 新安装:`false`;升级:`true` | GA* | v2.6.0 | |
| `legacy` | 新安装:`false`;升级:`true` | GA* | v2.6.0 | |
| `multi-cluster-management` | `false` | GA* | v2.5.0 | |
| `harvester` | `true` | 实验功能 | v2.6.1 | |
| `rke2` | `true` | 实验功能 | v2.6.0 | |
\* 一般情况下可用。此功能包含在 Rancher 中,不是实验功能的。
| 功能开关名称 | 默认值 | 状态 | 可用于 |
| ----------------------------- | ------------- | ------------ | --------------- |
| `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 |
| `multi-cluster-management` | `false` | GA | v2.5.0 |
| `rke2` | `true` | 实验功能 | v2.6.0 |
| `token-hashing` | 新安装:`false`;升级:`true` | GA | v2.6.0 |
| `unsupported-storage-drivers` | `false` | 实验功能 | v2.3.0 |
@@ -89,13 +89,19 @@ kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{
### 额外设置环境变量
你可以使用 `extraEnv` 为 Rancher Server 额外设置环境变量。该列表使用与容器清单定义相同的 `name` 和 `value` 键。记住需要给值加上引号。
你可以使用 `extraEnv` 为 Rancher Server 额外设置环境变量。该列表以 YAML 格式传递给 Rancher 部署,它嵌入在 Rancher 容器的 `env` 下。你可以参考 Kubernetes 文档设置容器环境变量。`extraEnv` 可以使用 [Define Environment Variables for a Container](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/#define-an-environment-variable-for-a-container) 中引用的任何键。
使用 `name` 和 `value` 键的示例:
```plain
--set 'extraEnv[0].name=CATTLE_TLS_MIN_VERSION'
--set 'extraEnv[0].value=1.0'
```
如果将敏感数据(例如代理认证凭证)作为环境变量的值传递,则强烈建议使用 Secret 引用。这将防止敏感数据在 Helm 或 Rancher 部署中暴露。
你可以参考使用 `name`、`valueFrom.secretKeyRef.name` 和 `valueFrom.secretKeyRef.key` 键的示例。详见 [HTTP 代理](#http-代理)中的示例。
### TLS 设置
当你在 Kubernetes 集群内安装 Rancher 时,TLS 会在集群的 Ingress Controller 上卸载。支持的 TLS 设置取决于使用的 Ingress Controller。
@@ -122,7 +128,7 @@ kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{
### 自定义 Ingress
要自定义或使用 Rancher Server 的其他 Ingress,你可以设置自己的 Ingress annotations。
要自定义或使用 Rancher Server 的其他 Ingress,你可以设置自己的 Ingress 注释。
设置自定义证书颁发者的示例:
@@ -130,7 +136,7 @@ kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{
--set ingress.extraAnnotations.'cert-manager\.io/cluster-issuer'=issuer-name
```
以下是使用 `ingress.configurationSnippet`设置静态代理头的实例。该值像模板一样进行解析,因此可以使用变量。
以下是使用 `ingress.configurationSnippet`设置静态代理标头的示例。该值像模板一样进行解析,因此可以使用变量。
```plain
--set ingress.configurationSnippet='more_set_input_headers X-Forwarded-Host {{ .Values.hostname }};'
@@ -138,15 +144,44 @@ kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{
### HTTP 代理
Rancher 的一些功能(Helm Chart)需要使用互联网才能使用。使用 `proxy` 来设置你的代理服务器。
Rancher 的一些功能(Helm Chart)需要使用互联网才能使用。你可以使用 `proxy` 设置代理服务器,或使用 `extraEnv` 设置 `HTTPS_PROXY` 环境变量来指向代理服务器。
在 `noProxy` 列表中添加例外的 IP。确保你已添加了 Pod 集群 IP 范围(默认:`10.42.0.0/16`),服务集群 IP 范围(默认:`10.43.0.0/16`),内部集群域名(默认:`.svc,.cluster.local`)和所有 worker 集群 `controlplane` 节点。Rancher 支持在此列表中使用 CIDR 表示法范围。
将要排除的 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 表示法来表示范围。
不包括敏感数据时,可以使用 `proxy` 或 `extraEnv` Chart 选项。使用 `extraEnv` 时将忽略 `noProxy` Helm 选项。因此,`NO_PROXY` 环境变量也必须设置为 `extraEnv`。
以下是使用 `extraEnv` Chart 选项设置代理的示例:
```plain
--set proxy="http://<username>:<password>@<proxy_url>:<proxy_port>/"
--set noProxy="127.0.0.0/8\,10.0.0.0/8\,172.16.0.0/12\,192.168.0.0/16\,.svc\,.cluster.local"
--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>/"
--set extraEnv[2].name=NO_PROXY
--set extraEnv[2].value="127.0.0.0/8\,10.0.0.0/8\,172.16.0.0/12\,192.168.0.0/16\,.svc\,.cluster.local"
```
包含敏感数据(例如代理认证凭证)时,请使用 `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
--set extraEnv[1].valueFrom.secretKeyRef.key=https-proxy-url
--set extraEnv[2].name=NO_PROXY
--set extraEnv[2].value="127.0.0.0/8\,10.0.0.0/8\,172.16.0.0/12\,192.168.0.0/16\,.svc\,.cluster.local"
```
有关如何配置环境变量的更多信息,请参阅[为容器定义环境变量](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/#define-an-environment-variable-for-a-container)。
### 额外的授信 CA
如果你有私有镜像仓库(registries)、应用商店(catalogs)或拦截证书的代理,则可能需要向 Rancher 添加额外的授信 CA。
@@ -80,15 +80,8 @@ Rancher Server 默认设计为安全的,并且需要 SSL/TLS 配置。
#### 选项 A:使用 Rancher 默认的自签名证书
默认情况下,Rancher 会生成一个 CA 并使用 cert-manager 颁发证书以访问 Rancher Server 界面。
:::note
由于 cert-manager 的最新改动,你需要升级 cert-manager 版本。如果你需要升级 Rancher 并使用低于 0.11.0 的 cert-manager 版本,请参见 [cert-manager 升级文档](../../resources/upgrade-cert-manager.md)。
:::
##### 1. 添加 cert-manager 仓库
在可以连接互联网的系统中,将 cert-manager 仓库添加到 Helm:
@@ -102,12 +95,6 @@ helm repo update
从 [Helm Chart 仓库](https://artifacthub.io/packages/helm/cert-manager/cert-manager)中获取最新可用的 cert-manager Chart:
:::note
v2.6.4 兼容 cert-manager 版本 1.6.2 和 1.7.1。推荐使用 v1.7.x,因为 v 1.6.x 将在 2022 年 3 月 30 日结束生命周期。
:::
```plain
helm fetch jetstack/cert-manager --version v1.11.0
```
@@ -128,6 +115,12 @@ curl -L -o cert-manager-crd.yaml https://github.com/cert-manager/cert-manager/re
使用要用于安装 Chart 的选项来安装 cert-manager。记住要设置 `image.repository` 选项,以从你的私有镜像仓库拉取镜像。此操作会创建一个包含 Kubernetes manifest 文件的 `cert-manager` 目录。
:::note
要查看自定义 cert-manager 安装的选项(包括集群使用 PodSecurityPolicies 的情况),请参阅 [cert-manager 文档](https://artifacthub.io/packages/helm/cert-manager/cert-manager#configuration)。
:::
<details id="install-cert-manager">
<summary>单击展开</summary>
@@ -64,12 +64,6 @@ v2.6.4 兼容 cert-manager 版本 1.6.2 和 1.7.1。推荐使用 v1.7.x,因为
1. 获取最新的 `cert-manager` Helm Chart,并解析模板以获取镜像的详情信息:
:::note
由于 cert-manager 的最新改动,你需要升级 cert-manager 版本。如果你需要升级 Rancher 并使用低于 0.12.0 的 cert-manager 版本,请参见[升级文档](../../resources/upgrade-cert-manager.md)。
:::
```plain
helm repo add jetstack https://charts.jetstack.io
helm repo update
@@ -38,6 +38,12 @@ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/
使用 Helm 安装 cert-manager。请注意,cert-manager 还需要你配置代理,以防它需要与 Let's Encrypt 或其他外部证书颁发商进行通信:
:::note
要查看自定义 cert-manager 安装的选项(包括集群使用 PodSecurityPolicies 的情况),请参阅 [cert-manager 文档](https://artifacthub.io/packages/helm/cert-manager/cert-manager#configuration)。
:::
```
helm upgrade --install cert-manager jetstack/cert-manager \
--namespace cert-manager --version v1.11.0 \
@@ -52,7 +52,7 @@ AWS 模块只创建一个 EC2 密钥对、一个 EC2 安全组和一个 EC2 实
- `aws_access_key` - 替换为 Amazon AWS 访问密钥
- `aws_secret_key` - 替换为 Amazon AWS Secret 密钥
- `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码
- `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码(最少 12 字符)
5. **可选**:修改 `terraform.tfvars` 中的可选参数。参见 [Quickstart Readme](https://github.com/rancher/quickstart) 以及 [AWS Quickstart Readme](https://github.com/rancher/quickstart/tree/master/rancher/aws) 了解更多信息。
建议包括:
@@ -39,7 +39,7 @@ description: 阅读此分步 Rancher Azure 指南,以快速部署带有单节
- `azure_client_id` - 替换为 Microsoft Azure 客户端 ID。
- `azure_client_secret` - 替换为 Microsoft Azure 客户端密文。
- `azure_tenant_id` - 替换为 Microsoft Azure 租户 ID。
- `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码
- `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码(最少 12 字符)
5. **可选**:修改 `terraform.tfvars` 中的可选参数。
参见 [Quickstart Readme](https://github.com/rancher/quickstart) 以及 [Azure Quickstart Readme](https://github.com/rancher/quickstart/tree/master/rancher/azure) 了解更多信息。建议包括:
@@ -33,7 +33,7 @@ description: 阅读此分步 Rancher DigitalOcean 指南,以快速部署带有
4. 编辑 `terraform.tfvars` 文件,并替换以下变量:
- `do_token` - 替换为 DigitalOcean 访问密钥
- `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码
- `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码(最少 12 字符)
5. **可选**:修改 `terraform.tfvars` 中的可选参数。
参见 [Quickstart Readme](https://github.com/rancher/quickstart) 以及 [DO Quickstart Readme](https://github.com/rancher/quickstart/tree/master/rancher/do) 了解更多信息。建议包括:
@@ -34,7 +34,7 @@ description: 阅读此分步 Rancher GCP 指南,以快速部署带有单节点
4. 编辑 `terraform.tfvars` 文件,并替换以下变量:
- `gcp_account_json` - 替换为 GCP ServiceAccount 文件路径和文件名。
- `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码
- `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码(最少 12 字符)
5. **可选**:修改 `terraform.tfvars` 中的可选参数。
参见 [Quickstart Readme](https://github.com/rancher/quickstart) 以及 [GCP Quickstart Readme](https://github.com/rancher/quickstart/tree/master/rancher/gcp) 了解更多信息。
@@ -90,6 +90,12 @@ notepad.exe $env:USERPROFILE\.kube\config
从本地工作站运行以下命令。你需要先安装 [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) 和 [helm](https://helm.sh/docs/intro/install/):
:::note
要查看自定义 cert-manager 安装的选项(包括集群使用 PodSecurityPolicies 的情况),请参阅 [cert-manager 文档](https://artifacthub.io/packages/helm/cert-manager/cert-manager#configuration)。
:::
```
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
@@ -117,6 +123,8 @@ helm install cert-manager jetstack/cert-manager `
要安装特定的 Rancher 版本,请使用 `--version` 标志(例如,`--version 2.6.6`)。否则,默认安装最新的 Rancher。请参阅[选择 Rancher 版本](../../installation-and-upgrade/resources/choose-a-rancher-version.md)。
请注意,密码至少需要 12 个字符。
```
helm install rancher rancher-latest/rancher \
--namespace cattle-system \
@@ -33,7 +33,7 @@ description: 阅读此分步 Rancher Hetzner Cloud 指南,以快速部署带
4. 编辑 `terraform.tfvars` 文件,并替换以下变量:
- `hcloud_token` - 替换为 Hetzner API 访问密钥。
- `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码
- `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码(最少 12 字符)
5. **可选**:修改 `terraform.tfvars` 中的可选参数。
参见 [Quickstart Readme](https://github.com/rancher/quickstart) 以及 [Hetzner Quickstart Readme](https://github.com/rancher/quickstart/tree/master/rancher/hcloud) 了解更多信息。
@@ -34,7 +34,7 @@ description: 阅读此分步 Rancher Outscale 指南,以快速部署带有单
4. 编辑 `terraform.tfvars` 文件,并替换以下变量:
- `access_key_id` - 替换为 Outscale 访问密钥
- `secret_key_id` - 替换为 Outscale 密文密钥
- `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码
- `rancher_server_admin_password` - 替换为创建 Rancher Server 的 admin 账号的密码(最少 12 字符)
5. **可选**:修改 `terraform.tfvars` 中的可选参数。
参见 [Quickstart Readme](https://github.com/rancher/quickstart) 以及 [Outscale Quickstart Readme](https://github.com/rancher/quickstart/tree/master/rancher/outscale) 了解更多信息。
@@ -31,7 +31,7 @@ title: Vagrant 快速入门
3. **可选**:编辑 `config.yaml` 文件:
- 根据需要更改节点数和内存分配(`node.count`, `node.cpus`, `node.memory`)
- 更改 `admin` 的密码以登录 Rancher。(`admin_password`)
- 更改 `admin` 的密码以登录 Rancher。(`admin_password`,最少 12 个字符)
4. 执行 `vagrant up --provider=virtualbox` 以初始化环境。
@@ -75,7 +75,12 @@ matchLabels:
1. 单击 **Prometheus Federator** Chart。
1. 单击**安装**。
1. 在**元数据**页面,点击**下一步**。
1. 在**项目 Release 命名空间项目 ID** 字段中,`System 项目`是默认值,但你可以使用具有类似[有限访问权限](#确保-cattle-monitoring-system-命名空间位于-system-项目中(或者位于一个锁定并能访问集群中其他项目的项目中))的另一个项目覆盖它。<!-- add info on retrieving project IDs >
1. 在**项目 Release 命名空间项目 ID** 字段中,`System 项目`是默认值,但你可以使用具有类似[有限访问权限](#确保-cattle-monitoring-system-命名空间位于-system-项目中(或者位于一个锁定并能访问集群中其他项目的项目中))的另一个项目覆盖它。你可以在 local 上游集群中运行以下命令来找到项目 ID:
```plain
kubectl get projects -A -o custom-columns="NAMESPACE":.metadata.namespace,"ID":.metadata.name,"NAME":.spec.displayName
```
1. 单击**安装**。
**结果**:Prometheus Federator 应用程序已部署在 `cattle-monitoring-system` 命名空间中。
@@ -146,7 +146,7 @@ title: 创建和修改 RKE 模板
你可以将现有集群的设置保存为 RKE 模板。
这将把集群的设置导出为新的 RKE 模板,并且将集群绑定到该模板。然后,只有[更新了模板](manage-rke1-templates.md#更新模板)并且集群升级到**使用更新版本的模板**时,集群才能改变。
这将把集群的设置导出为新的 RKE 模板,并且将集群绑定到该模板。然后,只有[更新了模板](#更新模板)并且集群升级到[使用更新版本的模板](#升级集群以使用新的模板修订版)时,集群才能改变。
要将现有集群转换为使用 RKE 模板:
@@ -1,8 +1,8 @@
---
title: Fleet - 大规模的 GitOps
title: 使用 Feet 进行持续交付
---
Fleet 是大规模的 GitOps。你可以使用 Fleet 管理多达一百万个集群。Fleet 非常轻量,可以很好地用于[单个集群](https://fleet.rancher.io/single-cluster-install/),但是在你达到[大规模](https://fleet.rancher.io/multi-cluster-install/)时,它能发挥更强的实力。此处的大规模指的是大量集群、大量部署、或组织中存在大量团队的情况。
使用 Fleet 的持续交付是大规模的 GitOps。你可以使用 Fleet 管理多达一百万个集群。Fleet 非常轻量,可以很好地用于[单个集群](https://fleet.rancher.io/single-cluster-install/),但是在你达到[大规模](https://fleet.rancher.io/multi-cluster-install/)时,它能发挥更强的实力。此处的大规模指的是大量集群、大量部署、或组织中存在大量团队的情况。
Fleet 是一个独立于 Rancher 的项目,你可以使用 Helm 将它安装在任何 Kubernetes 集群上。
@@ -40,6 +40,8 @@ Rancher 可以运行在任何 Kubernetes 集群上,包括托管的 Kubernetes
RKE 需要通过 SSH 连接到每个节点,它会在 `~/.ssh/id_rsa`的默认位置查找私钥。如果某个节点的私钥不在默认位置中,你还需要为该节点配置 `ssh_key_path` 选项。
在选择 Kubernetes 版本时,请务必先查阅[支持矩阵](https://rancher.com/support-matrix/),以找出已针对你的 Rancher 版本验证的最新 Kubernetes 版本。
```yaml
nodes:
- address: 165.227.114.63
@@ -67,6 +69,8 @@ ingress:
provider: nginx
options:
use-forwarded-headers: "true"
kubernetes_version: v1.24.13-rancher2-1
```
<figcaption>通用 RKE 节点选项</figcaption>
@@ -136,7 +136,12 @@ Rancher 管理注册集群的范围取决于集群的类型。
K3s 集群注册到 Rancher 后,Rancher 会将它识别为 K3s。Rancher UI 将开放[所有已注册集群](#所有已注册集群的功能)的功能,以及以下用于编辑和升级集群的功能:
- [升级 K3s 版本](../../../getting-started/installation-and-upgrade/upgrade-and-roll-back-kubernetes.md)
- [升级 K3s 版本](../../../getting-started/installation-and-upgrade/upgrade-and-roll-back-kubernetes.md)的能力
:::danger
将集群导入 Rancher 后,你需要使用 Rancher 执行升级。**不**支持在 Rancher 之外升级导入的集群。
:::
- 配置能同时升级的最大节点数
- 查看 K3s 集群的配置参数和用于启动集群中每个节点的环境变量的只读版本
@@ -23,9 +23,9 @@ description: Ingress 配置
1. 输入**请求主机**,你的 Ingress Controller 会为它处理请求转发。例如,`www.mysite.com`。
1. 指定类型为 `Prefix` 的路径并指定路径,例如 `/`。
2. 添加一个**目标服务**。
3. **可选**:如果你想在将请求发送到特定主机名路径时指定工作负载或服务,请为目标添加**路径**。例如,如果你希望将 `www.mysite.com/contact-us` 的请求发送到与 `www.mysite.com` 不同的服务,在**路径**字段中输入 `/contact-us`。通常情况下,你创建的第一条规则不包含路径。
4. 输入每个目标操作的**端口**号。
1. 添加一个**目标服务**。
1. **可选**:如果你想在将请求发送到特定主机名路径时指定工作负载或服务,请为目标添加**路径**。例如,如果你希望将 `www.mysite.com/contact-us` 的请求发送到与 `www.mysite.com` 不同的服务,在**路径**字段中输入 `/contact-us`。通常情况下,你创建的第一条规则不包含路径。
1. 输入每个目标操作的**端口**号。
## 证书
@@ -47,9 +47,11 @@ Rancher 会发现并显示由 `kubectl` 创建的资源。但是在发现资源
本节旨在帮助你设置访问 [RKE 集群的替代方法](../../../../pages-for-subheaders/launch-kubernetes-with-rancher.md)。
此方法仅适用于启用了[授权集群端点](../../../../pages-for-subheaders/rancher-manager-architecture.md#4-授权集群端点)的 RKE 集群。在 Rancher 创建 RKE 集群时,Rancher 会生成一个 kubeconfig 文件,其中包含用于访问集群的额外 kubectl 上下文。该上下文允许你使用 kubectl 通过下游集群进行身份验证,而无需通过 Rancher 进行身份验证。有关授权集群端点如何工作的详细说明,请参阅[此页面](authorized-cluster-endpoint.md)。
此方法仅适用于启用了[授权集群端点](../../../../pages-for-subheaders/rancher-manager-architecture.md#4-授权集群端点)的 RKE、RKE2 和 K3s集群。在 Rancher 创建集群时,Rancher 会生成一个 kubeconfig 文件,其中包含用于访问集群的额外 kubectl 上下文。该上下文允许你使用 kubectl 通过下游集群进行身份验证,而无需通过 Rancher 进行身份验证。有关授权集群端点如何工作的详细说明,请参阅[此页面](authorized-cluster-endpoint.md)。
我们的最佳实践是使用此方法来访问 RKE 集群。这样,万一你无法连接到 Rancher,你仍然可以访问该集群。
在 RKE2 和 K3s 集群上,你需要[手动启用](../../kubernetes-clusters-in-rancher-setup/register-existing-clusters.md#对-rke2-和-k3s-集群的授权集群端点支持)授权集群端点。
我们的最佳实践是使用此方法来访问 RKE、RKE2 和 K3s集群。这样,万一你无法连接到 Rancher,你仍然可以访问该集群。
:::note 先决条件:
@@ -112,10 +112,56 @@ Monitoring 还会创建其他 `ClusterRole`,这些角色默认情况下不会
### 使用 kubectl 分配 Role 和 ClusterRole
使用 Rancher 将 `Role` 或 `ClusterRole` 附加到用户或组的另一种方法,是在你创建的 YAML 文件中定义绑定。你必须首先使用 YAML 文件配置 `RoleBinding`,然后运行 `kubectl apply` 命令来应用配置更改。
#### 使用 `kubectl create`
一种方法是使用 `kubectl create clusterrolebinding` 或 `kubectl create rolebinding` 来分配一个 `Role` 或 `ClusterRole`。如以下示例所示:
* **Role**:以下 YAML 文件示例可帮助你在 Kubernetes 中配置 `RoleBinding`。你需要填写下方的 `name`(区分大小写):
- 分配给特定用户:
<Tabs groupId="role-type">
<TabItem value="clusterrolebinding">
```plain
kubectl create clusterrolebinding my-binding --clusterrole=monitoring-ui-view --user=u-l4npx
```
</TabItem>
<TabItem value="rolebinding">
```plain
kubectl create rolebinding my-binding --clusterrole=monitoring-ui-view --user=u-l4npx --namespace=my-namespace
```
</TabItem>
</Tabs>
- 分配给所有经过身份认证的用户:
<Tabs groupId="role-type">
<TabItem value="clusterrolebinding">
```plain
kubectl create clusterrolebinding my-binding --clusterrole=monitoring-ui-view --group=system:authenticated
```
</TabItem>
<TabItem value="rolebinding">
```plain
kubectl create rolebinding my-binding --clusterrole=monitoring-ui-view --group=system:authenticated --namespace=my-namespace
```
</TabItem>
</Tabs>
#### 使用 YAML 文件
另一种方法是在你创建的 YAML 文件中定义绑定。你必须先使用 YAML 文件配置 `RoleBinding` 或 `ClusterRoleBinding`。然后,通过运行 `kubectl apply` 命令来应用配置更改。
- **Role**:以下 YAML 文件示例可帮助你在 Kubernetes 中配置 `RoleBinding`。你需要在下面填写名称。
:::note
名称区分大小写。
:::
```yaml
# monitoring-config-view-role-binding.yaml
@@ -134,10 +180,10 @@ subjects:
apiGroup: rbac.authorization.k8s.io
```
* **kubectl**:以下 `kubectl` 示例命令用于应用 YAML 文件中创建的绑定。如前所述,你需要相应地填写你的 YAML 文件名。
* `kubectl apply -f monitoring-config-view-role-binding.yaml`
- **kubectl**:以下 `kubectl` 示例命令用于应用 YAML 文件中创建的绑定。请记住相应填写你的 YAML 文件名。
```plain
kubectl apply -f monitoring-config-view-role-binding.yaml
```
## 具有 Rancher 权限的用户
@@ -5,7 +5,7 @@ title: 跨集群部署应用
Rancher 2.5 引入了 Fleet,这是一种跨集群部署应用的新方式。
Fleet 是大规模的 GitOps。如需更多信息,请参阅 [Fleet](../how-to-guides/new-user-guides/deploy-apps-across-clusters/fleet.md)。
使用 Fleet 的持续交付是大规模的 GitOps。如需更多信息,请参阅 [Fleet](../how-to-guides/new-user-guides/deploy-apps-across-clusters/fleet.md)。
### 多集群应用
@@ -1,8 +1,8 @@
---
title: Fleet - 大规模的 GitOps
title: 使用 Feet 进行持续交付
---
Fleet 是大规模的 GitOps。你可以使用 Fleet 管理多达一百万个集群。此外,它非常轻量,因此也非常适用于[单个集群](https://fleet.rancher.io/single-cluster-install/)。但是,它在[大规模](https://fleet.rancher.io/multi-cluster-install/)场景下的功能更加强大。大规模指的是大量集群、大量部署或大量团队。
使用 Fleet 的持续交付是大规模的 GitOps。你可以使用 Fleet 管理多达一百万个集群。此外,它非常轻量,因此也非常适用于[单个集群](https://fleet.rancher.io/single-cluster-install/)。但是,它在[大规模](https://fleet.rancher.io/multi-cluster-install/)场景下的功能更加强大。大规模指的是大量集群、大量部署或大量团队。
Fleet 是一个独立于 Rancher 的项目,你可以使用 Helm 将它安装在任何 Kubernetes 集群上。
@@ -200,7 +200,7 @@ _可变:是_
:::note
默认选项是 “Container-Optimized OS with Docker”。GCP Container-Optimized OS 上的只读文件系统与 Rancher 中的 [legacy logging](../../version-2.0-2.4/pages-for-subheaders/cluster-logging.md) 实现不兼容。如果你需要使用旧版日志管理功能,请选择 “Ubuntu with Docker” 或 “Ubuntu with Containerd”。[current logging feature](logging.md) 与 Container-Optimized OS 镜像兼容。
默认选项是 “Container-Optimized OS with Docker”。GCP Container-Optimized OS 上的只读文件系统与 Rancher 中的 [legacy logging](/versioned_docs/version-2.0-2.4/pages-for-subheaders/cluster-logging.md) 实现不兼容。如果你需要使用旧版日志管理功能,请选择 “Ubuntu with Docker” 或 “Ubuntu with Containerd”。[current logging feature](logging.md) 与 Container-Optimized OS 镜像兼容。
:::
@@ -142,6 +142,12 @@ v2.6.4 兼容 cert-manager 版本 1.6.2 和 1.7.1。推荐使用 v1.7.x,因为
这些说明来自 [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/v1.11.0/cert-manager.crds.yaml
@@ -70,7 +70,7 @@ Rancher 每个版本的自我评估指南都对应特定的强化指南、Ranche
### 第三方渗透测试报告
Rancher 会定期聘请第三方对 Rancher 2.x 软件栈进行安全审核和渗透测试。测试环境会遵循 Rancher 提供的强化指南。测试结果会在第三方确认我们已经修复了 MEDIUM 或以上的问题后发布。
Rancher 会定期聘请第三方对 Rancher 2.x 软件栈进行安全审核和渗透测试。测试环境会遵循 Rancher 提供的强化指南。旧的渗透测试报告如下。
结果:
@@ -39,7 +39,7 @@ title: 在 vSphere 环境中安装 Rancher
### 根据 Rancher 文档确定虚拟机的大小
请参见[安装要求](https://rancher.com/docs/rancher/v2.6/en/installation/requirements/)来确定虚拟机的大小。
请参阅[安装要求](../../../pages-for-subheaders/installation-requirements.md)。
### 利用虚拟机模板来构建环境
@@ -7,7 +7,7 @@ Rancher CLI(命令行界面)是一个命令行工具,可用于与 Rancher
### 下载 Rancher CLI
你可以直接 UI 下载二进制文件。链接位于 UI 页脚的右侧。我们提供用于 Windows、Mac 和 Linux 的二进制文件。你还可以访问我们的 CLI [发布页面](https://github.com/rancher/cli/releases)直接下载二进制文件。
你可以直接 UI 下载二进制文件。
1. 点击左上角的 **☰**。
1. 单击底部的 **v2.6.x**,**v2.6.x** 是一个超链接文本,表示已安装的 Rancher 版本。
@@ -10,15 +10,24 @@ title: Azure 节点模板配置
- **Network** 配置集群中使用的网络。
- **Instance** 自定义你的 VM 配置。
:::note
:::note
如果在与 VM 不同的资源组中使用 VNet,则 VNet 名称需要以资源组名称作为前缀。例如,`<resource group>:<vnet>`。
如果在与 VM 不同的资源组中使用 VNet,则 VNet 名称需要以资源组名称作为前缀。例如,`<resource group>:<vnet>`。
:::
:::
[Docker daemon](https://docs.docker.com/engine/docker-overview/#the-docker-daemon) 配置选项包括:
- **标签**:有关标签的信息,请参阅 [Docker 对象标签文档](https://docs.docker.com/config/labels-custom-metadata/)。
- **Docker 引擎安装 URL**:确定要在实例上安装的 Docker 版本。
:::note
如果要配置 Red Hat Enterprise Linux (RHEL) 或 CentOS 节点,请将 **Docker Install URL** 字段保留为默认值,或选择 **none**。由于 Docker 已经安装在这些节点上,因此将绕过 Docker 安装检查。
如果没有将 **Docker Install URL** 设置为默认值或 **none**,你可能会看到错误消息:`Error creating machine: RHEL ssh command error: command: sudo -E yum install -y curl err: exit status 1 output: Updating Subscription Management repositories`。
:::
- **镜像仓库 mirror**:Docker daemon 使用的 Docker 镜像仓库镜像。
- **其他高级选项**:参见 [Docker daemon 选项参考](https://docs.docker.com/engine/reference/commandline/dockerd/)。
@@ -54,3 +54,13 @@ title: Nutanix 节点模板配置
不建议使用基于 cloud-init 的网络配置,仅支持使用用户数据 `runcmd`,不支持 NoCloud 或其他网络配置数据源。
建议使用 Nutanix IP Address Management(IPAM) 或其他 DHCP 服务。
## 引擎选项
在节点模板的**引擎选项**中,你可以配置容器 daemon。你可能需要指定容器版本或容器镜像仓库 Mirror。
:::note
如果要配置 Red Hat Enterprise Linux (RHEL) 或 CentOS 节点,请将 **Docker Install URL** 字段保留为默认值,或选择 **none**。由于 Docker 已经安装在这些节点上,因此将绕过 Docker 安装检查。
如果没有将 **Docker Install URL** 设置为默认值或 **none**,你可能会看到错误消息:`Error creating machine: RHEL ssh command error: command: sudo -E yum install -y curl err: exit status 1 output: Updating Subscription Management repositories`。
:::
@@ -83,3 +83,13 @@ title: vSphere 节点模板配置
要使用 cloud-init 初始化,请使用有效的 YAML 语法创建一个 cloud config 文件,并将文件内容粘贴到 **Cloud Init** 字段中。要获取支持的 cloud config 指令的注释示例集,请参阅 [cloud-init 文档](https://cloudinit.readthedocs.io/en/latest/topics/examples.html)。
请注意,使用 ISO 创建方法时不支持 cloud-init。
## 引擎选项
在节点模板的**引擎选项**中,你可以配置容器 daemon。你可能需要指定容器版本或容器镜像仓库 Mirror。
:::note
如果要配置 Red Hat Enterprise Linux (RHEL) 或 CentOS 节点,请将 **Docker Install URL** 字段保留为默认值,或选择 **none**。由于 Docker 已经安装在这些节点上,因此将绕过 Docker 安装检查。
如果没有将 **Docker Install URL** 设置为默认值或 **none**,你可能会看到错误消息:`Error creating machine: RHEL ssh command error: command: sudo -E yum install -y curl err: exit status 1 output: Updating Subscription Management repositories`。
:::
@@ -237,6 +237,18 @@ url http://rancher-alerting-drivers-sachet.ns-1.svc:9876/alert
你还可以通过使用路由的 `continue` 选项来设置多个接收器。这样,发送到接收器的告警会在路由树(可能包含另一个接收器)的下一级进行评估。
## 在升级 Chart 后配置 AlertmanagerConfig
如果你有一个使用 SMS 或 Microsoft Teams 告警的集群,并将 Monitoring Chart 从 100.1.3+up19.0.3 升级到 100.2.0+up40.1.2,你可能无法再收到告警。这是 [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator/) 的上游更改导致的,用于防止命名冲突。
你必须手动编辑配置映射才能继续接收告警:
1. 单击 **☰** 并选择相关的集群。
1. 选择**更多资源** > **核心** > **ConfigMap**。
1. 找到与 **Sachet**(针对 SMS 告警)或 **prom2teams**(针对 Microsoft Teams 告警)的 ConfigMap 对应的行。点击 **⋮** 并选择**编辑 YAML**。
1. 根据 `<namespace>\<alertManagerConfig>\<receiverName>` 格式,更新接收器的 `name` 字段中的分隔符,即将 `-` 字符替换为 `/`。例如,如果接收器的名称是 `default-amc-test-prom2sms`,请将其更新为 `default/amc-test/prom2sms`。
1. 单击**保存**。
1. 重新部署与 Alertmanager 和 Sachet/prom2teams 关联的工作负载,确保它们收到更新的配置。
## Alertmanager 配置示例