Fix v2.6 level-1 headings

This commit is contained in:
vickyhella
2022-11-23 15:14:44 +08:00
parent 6782aeaaa4
commit 3a397c2a87
72 changed files with 279 additions and 254 deletions
@@ -165,7 +165,7 @@ kubectl -n cattle-system create secret generic tls-ca-additional --from-file=ca-
有关使用私有仓库安装 Rancher 的详情,请参见[离线安装](../../../pages-for-subheaders/air-gapped-helm-cli-install.md)。
# 外部 TLS 终止
## 外部 TLS 终止
我们建议将负载均衡器配置为 4 层均衡,将普通 80/tcp 和 443/tcp 转发到 Rancher Management 集群节点。集群上的 Ingress Controller 会将端口 80 上的 HTTP 流量重定向到端口 443 上的 HTTPS。
@@ -4,14 +4,14 @@ title: TLS 设置
更改默认 TLS 设置的方法取决于它的安装方式。
# 在高可用 Kubernetes 集群中运行 Rancher
## 在高可用 Kubernetes 集群中运行 Rancher
当你在 Kubernetes 集群内安装 Rancher 时,TLS 会在集群的 Ingress Controller 上卸载。可用的 TLS 设置取决于使用的 Ingress Controller:
* nginx-ingress-controller(RKE1 和 RKE2 默认):[默认的 TLS 版本和密码](https://kubernetes.github.io/ingress-nginx/user-guide/tls/#default-tls-version-and-ciphers)。
* traefik(K3s 默认):[TLS 选项](https://doc.traefik.io/traefik/https/tls/#tls-options)。
# 在单个 Docker 容器中运行 Rancher
## 在单个 Docker 容器中运行 Rancher
默认 TLS 配置仅支持 TLS 1.2 和安全的 TLS 密码套件。你可以通过设置以下环境变量来更改此配置:
@@ -11,7 +11,7 @@ import PortsImportedHosted from '@site/src/components/PortsImportedHosted'
为了确保能正常运行,Rancher 需要在 Rancher 节点和下游 Kubernetes 集群节点上开放一些端口。
# Rancher 节点
## Rancher 节点
下表列出了运行 Rancher Server 的节点之间需要开放的端口。
@@ -176,7 +176,7 @@ RKE2 server 需要开放端口 6443 和 9345 才能供集群中的其他节点
</details>
# 下游 Kubernetes 集群节点
## 下游 Kubernetes 集群节点
下游 Kubernetes 集群用于运行你的应用和服务。本节介绍了哪些端口需要在下游集群的节点上打开,以便 Rancher 能够与它们进行通信。
@@ -251,7 +251,7 @@ RKE2 server 需要开放端口 6443 和 9345 才能供集群中的其他节点
</details>
# 其他端口注意事项
## 其他端口注意事项
### 常用端口
@@ -74,7 +74,7 @@ Rancher Server 默认设计为安全的,并且需要 SSL/TLS 配置。
| `systemDefaultRegistry` | `<REGISTRY.YOURDOMAIN.COM:PORT>` | 将 Rancher Server 配置成在配置集群时,始终从私有镜像仓库中拉取镜像。 |
| `useBundledSystemChart` | `true` | 配置 Rancher Server 使用打包的 Helm System Chart 副本。[system charts](https://github.com/rancher/system-charts) 仓库包含所有 Monitoring,Logging,告警和全局 DNS 等功能所需的应用商店项目。这些 [Helm Chart](https://github.com/rancher/system-charts) 位于 GitHub 中。但是由于你处在离线环境,因此使用 Rancher 内置的 Chart 会比设置 Git mirror 容易得多。 |
### 3. 渲染 Rancher Helm 模板
### 3. 获取 Cert-Manager Chart
根据你在[2:选择 SSL 配置](#2-选择-ssl-配置)中的选择,完成以下步骤之一:
@@ -112,30 +112,62 @@ v2.6.4 兼容 cert-manager 版本 1.6.2 和 1.7.1。推荐使用 v1.7.x,因为
helm fetch jetstack/cert-manager --version v1.7.1
```
##### 3. 渲染 cert-manager 模板
使用你想用来安装 Chart 的选项来渲染 cert-manager 模板。记住要设置 `image.repository` 选项,以从你的私有镜像仓库拉取镜像。此操作会创建一个包含 Kubernetes manifest 文件的 `cert-manager` 目录。
```plain
helm template cert-manager ./cert-manager-v1.7.1.tgz --output-dir . \
--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 \
--set cainjector.image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-cainjector \
--set startupapicheck.image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-ctl
```
##### 4. 下载 cert-manager CRD
##### 3. 检索 Cert-Manager CRD
为 cert-manager 下载所需的 CRD 文件:
```plain
curl -L -o cert-manager/cert-manager-crd.yaml https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.crds.yaml
```
##### 5. 渲染 Rancher 模板
### 4. 安装 Rancher
渲染 Rancher 模板来声明你的选项。参考下表来替换每个占位符。Rancher 需要配置为使用私有镜像仓库,以便配置所有 Rancher 启动的 Kubernetes 集群或 Rancher 工具。
将获取的 Chart 复制到有权访问 Rancher Server 集群的系统以完成安装。
##### 1. 安装 Cert-Manager
使用要用于安装 Chart 的选项来安装 cert-manager。记住要设置 `image.repository` 选项,以从你的私有镜像仓库拉取镜像。此操作会创建一个包含 Kubernetes manifest 文件的 `cert-manager` 目录。
<details id="install-cert-manager">
<summary>单击展开</summary>
如果你使用自签名证书,安装 cert-manager:
1. 为 cert-manager 创建命名空间:
```plain
kubectl create namespace cert-manager
```
2. 创建 cert-manager CustomResourceDefinition (CRD)。
```plain
kubectl apply -f cert-manager/cert-manager-crd.yaml
```
3. 安装 cert-manager。
```plain
helm install cert-manager ./cert-manager-v1.7.1.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 \
--set cainjector.image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-cainjector \
--set startupapicheck.image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-ctl
```
</details>
##### 2. 安装 Rancher
首先,参见[添加 TLS 密文](../../resources/add-tls-secrets.md)发布证书文件,以便 Rancher 和 Ingress Controller 可以使用它们。
然后,使用 kubectl 为 Rancher 创建命名空间:
```plain
kubectl create namespace cattle-system
```
然后安装 Rancher,并声明你选择的选项。参考下表来替换每个占位符。Rancher 需要配置为使用私有镜像仓库,以便配置所有 Rancher 启动的 Kubernetes 集群或 Rancher 工具。
| 占位符 | 描述 |
------------|-------------
@@ -145,8 +177,7 @@ curl -L -o cert-manager/cert-manager-crd.yaml https://github.com/cert-manager/ce
| `<CERTMANAGER_VERSION>` | 在 K8s 集群上运行的 cert-manager 版本。 |
```plain
helm template rancher ./rancher-<VERSION>.tgz --output-dir . \
--no-hooks \ # 避免生成 Helm 钩子文件
helm install rancher ./rancher-<VERSION>.tgz \
--namespace cattle-system \
--set hostname=<RANCHER.YOURDOMAIN.COM> \
--set certmanager.version=<CERTMANAGER_VERSION> \
@@ -159,14 +190,13 @@ helm template rancher ./rancher-<VERSION>.tgz --output-dir . \
#### 选项 B:使用 Kubernetes 密文从文件中获取证书
##### 1. 创建密文
使用你自己的证书来创建 Kubernetes 密文,以供 Rancher 使用。证书的 common name 需要与以下命令中的 `hostname` 选项匹配,否则 Ingress Controller 将无法为 Rancher 配置站点。
##### 2. 渲染 Rancher 模板
##### 2. 安装 Rancher
渲染 Rancher 模板来声明你的选项。参考下表来替换每个占位符。Rancher 需要配置为使用私有镜像仓库,以便配置所有 Rancher 启动的 Kubernetes 集群或 Rancher 工具。
安装 Rancher,并声明你选择的选项。参考下表来替换每个占位符。Rancher 需要配置为使用私有镜像仓库,以便配置所有 Rancher 启动的 Kubernetes 集群或 Rancher 工具。
| 占位符 | 描述 |
| -------------------------------- | ----------------------------------------------- |
@@ -175,8 +205,7 @@ helm template rancher ./rancher-<VERSION>.tgz --output-dir . \
| `<REGISTRY.YOURDOMAIN.COM:PORT>` | 你的私有镜像仓库的 DNS 名称。 |
```plain
helm template rancher ./rancher-<VERSION>.tgz --output-dir . \
--no-hooks \ # 避免生成 Helm 钩子文件
helm install rancher ./rancher-<VERSION>.tgz --output-dir . \
--namespace cattle-system \
--set hostname=<RANCHER.YOURDOMAIN.COM> \
--set rancherImage=<REGISTRY.YOURDOMAIN.COM:PORT>/rancher/rancher \
@@ -188,8 +217,7 @@ helm template rancher ./rancher-<VERSION>.tgz --output-dir . \
如果你使用的是私有 CA 签名的证书,请在 `--set ingress.tls.source=secret` 后加上 `--set privateCA=true`:
```plain
helm template rancher ./rancher-<VERSION>.tgz --output-dir . \
--no-hooks \ # 避免生成 Helm 钩子文件
helm install rancher ./rancher-<VERSION>.tgz --output-dir . \
--namespace cattle-system \
--set hostname=<RANCHER.YOURDOMAIN.COM> \
--set rancherImage=<REGISTRY.YOURDOMAIN.COM:PORT>/rancher/rancher \
@@ -199,55 +227,8 @@ helm template rancher ./rancher-<VERSION>.tgz --output-dir . \
--set useBundledSystemChart=true # 使用打包的 Rancher System Chart
```
**可选**:如需安装特定的 Rancher 版本,设置`rancherImageTag` 的值,例如:`--set rancherImageTag=v2.3.6`
然后,参见[添加 TLS 密文](../../resources/add-tls-secrets.md)发布证书文件,以便 Rancher 和 Ingress Controller 可以使用它们。
### 4. 安装 Rancher
将渲染的 manifest 目录复制到可以访问 Rancher Server 集群的系统中,以完成安装。
使用 `kubectl` 来创建命名空间和应用渲染的 manifest。
如果你使用自签名证书(在[选项B. 选择 SSL 配置](#b-选择-ssl-配置)中),安装 cert-manager。
#### 自签名证书安装 - 安装 Cert-manager
<details id="install-cert-manager">
<summary>单击展开</summary>
如果你使用自签名证书,安装 cert-manager:
1. 为 cert-manager 创建命名空间:
```plain
kubectl create namespace cert-manager
```
2. 创建 cert-manager CustomResourceDefinition (CRD)。
```plain
kubectl apply -f cert-manager/cert-manager-crd.yaml
```
:::note
如果你运行的 Kubernetes 版本是 1.15 或更低版本,你需要在以上的 `kubectl apply` 命令中添加 `--validate=false`,否则你将看到 cert-manager CRD 资源中的 `x-kubernetes-preserve-unknown-fields` 字段校验错误提示。这是 kubectl 执行资源校验方式产生的良性错误。
:::
3. 启动 cert-manager.
```plain
kubectl apply -R -f ./cert-manager
```
</details>
#### 使用 kubectl 安装 Rancher
```plain
kubectl create namespace cattle-system
kubectl -n cattle-system apply -R -f ./rancher
```
安装已完成。
:::caution
如果你不想发送遥测数据,在首次登录时退出[遥测](../../../../faq/telemetry.md)。如果在离线安装的环境中让这个功能处于 active 状态,socket 可能无法打开。
@@ -127,7 +127,7 @@ chmod +x rancher-load-images.sh
如果你的 Rancher Server 将用于配置 Linux 和 Windows 集群,你需要执行不同的步骤,来将 Windows 镜像和 Linux 镜像推送到你的私有镜像仓库。由于 Windows 集群同时包含 Linux 和 Windows 节点,因此推送到私有镜像仓库的 Linux 镜像是 Manifest。
# Windows 步骤
## Windows 步骤
从 Windows Server 工作站中收集和推送 Windows 镜像。
@@ -206,7 +206,7 @@ chmod +x rancher-load-images.sh
./rancher-load-images.ps1 --registry <REGISTRY.YOURDOMAIN.COM:PORT>
```
# Linux 步骤
## Linux 步骤
Linux 镜像需要在 Linux 主机上收集和推送,但是你必须先将 Windows 镜像推送到私有镜像仓库,然后再推送 Linux 镜像。由于被推送的 Linux 镜像实际上是支持 Windows 和 Linux 镜像的 manifest,因此涉及的步骤不同于只包含 Linux 节点的集群。
@@ -23,7 +23,7 @@ kubectl -n cattle-system create secret tls tls-rancher-ingress \
:::
# 使用私有 CA 签名证书
## 使用私有 CA 签名证书
如果你使用的是私有 CA,Rancher 需要你提供 CA 证书的副本,用来校验 Rancher Agent 与 Server 的连接。
@@ -40,6 +40,6 @@ Rancher 启动时会检索配置的 `tls-ca` 密文。如果 Rancher 在运行
:::
# 更新私有 CA 证书
## 更新私有 CA 证书
按照[步骤](update-rancher-certificate.md)更新 [Rancher 高可用 Kubernetes 安装](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md)中的 Ingress,或从默认自签名证书切换到自定义证书。
@@ -6,7 +6,7 @@ title: 离线安装中设置本地 System Charts
在 Rancher 的离线安装中,你需要配置 Rancher 以使用 System Charts 的本地副本。本节介绍如何通过 CLI 标志使用本地 System Charts。
# 使用本地 System Charts
## 使用本地 System Charts
`system-charts` 的一个本地副本已经打包到 `rancher/rancher` 容器中。为了在离线安装中使用这些功能,你需要使用额外的环境变量 `CATTLE_SYSTEM_CATALOG=bundled` 来运行 Rancher 安装命令,该环境变量告诉 Rancher 使用 Chart 的本地副本,而不是尝试从 GitHub 获取 Chart。
@@ -2,7 +2,7 @@
title: 更新 Rancher 证书
---
# 更新私有 CA 证书
## 更新私有 CA 证书
本文介绍如何更新 Rancher [高可用 Kubernetes 安装](../../../pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster.md) 中 Ingress 的 SSL 证书,以及如何从默认的自签名证书切换到自定义证书。
@@ -16,7 +16,7 @@ title: 更新 Rancher 证书
各个步骤的详细说明如下。
## 1. 创建/更新证书密文资源
### 1. 创建/更新证书密文资源
首先,将服务器证书和所有中间证书合并到名为 `tls.crt` 的文件,并在名为 `tls.key` 的文件中提供相应的证书密钥。
@@ -37,7 +37,7 @@ $ kubectl -n cattle-system create secret tls tls-rancher-ingress \
--dry-run --save-config -o yaml | kubectl apply -f -
```
## 2. 创建/更新证书 CA 密文资源
### 2. 创建/更新证书 CA 密文资源
如果新证书由私有 CA 签发的,你需要将相应的根 CA 证书复制到名为 `cacerts.pem` 的文件中,并创建或更新 `cattle-system` 命名空间中的 `tls-ca` 密文。如果证书由中间 CA 签名,则 `cacerts.pem` 必须按顺序同时包含中间 CA 证书和根 CA 证书。
@@ -56,7 +56,7 @@ $ kubectl -n cattle-system create secret generic tls-ca \
--dry-run --save-config -o yaml | kubectl apply -f -
```
## 3. 重新配置 Rancher 部署
### 3. 重新配置 Rancher 部署
:::note
@@ -95,18 +95,18 @@ helm upgrade rancher rancher-stable/rancher \
升级完成后,访问 `https://<Rancher_SERVER>/v3/settings/cacerts`,验证该值是否与先前写入 `tls-ca` 密文中的 CA 证书匹配。
## 4. 重新配置 Rancher Agent 以信任私有 CA
### 4. 重新配置 Rancher Agent 以信任私有 CA
本节介绍了重新配置 Rancher Agent 以信任私有 CA 的三种方法。如果你的实际情况符合以下任意一个条件,请执行此步骤:
- Rancher 初始配置中使用了 Rancher 自签名证书 (`ingress.tls.source=rancher`) 或 Let's Encrypt 证书 (`ingress.tls.source=letsEncrypt`)。
- 新自定义证书的根 CA 证书已更改。
### 为什么要执行这一步骤?
#### 为什么要执行这一步骤?
如果 Rancher 配置了私有 CA 签名的证书时,CA 证书链会下载到 Rancher Agent 容器中。代理会对下载证书的校验和及 `CATTLE_CA_CHECKSUM` 环境变量进行比较。如果私有 CA 证书在 Rancher Server 端更改了,环境变量 `CATTLE_CA_CHECKSUM` 必须相应进行更新。
### 可使用的方法
#### 可使用的方法
- 方法 1(最简单的方法):
在轮换证书后将所有集群连接到 Rancher。适用于更新 Rancher 部署(步骤 3)后立即执行的情况。
@@ -115,7 +115,7 @@ helm upgrade rancher rancher-stable/rancher \
- 方法 3:方法 1 和方法 2 不可用的情况下可使用。
### 方法 1:Kubectl 命令
#### 方法 1:Kubectl 命令
对于**集群管理**中的每个集群(除去 `local` Rancher 管理集群),使用 Rancher 管理集群(RKE 或 K3S)的 `Kubeconfig` 文件运行以下命令:
@@ -126,7 +126,7 @@ kubectl patch clusters.management.cattle.io <REPLACE_WITH_CLUSTERID> -p '{"statu
这个命令能使所有 Agent Kubernetes 资源使用新证书的校验和重新配置。
### 方法 2:手动更新校验和
#### 方法 2:手动更新校验和
通过将 `CATTLE_CA_CHECKSUM` 环境变量更新为匹配新 CA 证书校验和的值,来手动为 Agent Kubernetes 资源打上补丁。通过以下操作生成新的校验和:
@@ -142,7 +142,7 @@ $ kubectl edit -n cattle-system ds/cattle-node-agent
$ kubectl edit -n cattle-system deployment/cattle-cluster-agent
```
### 方法 3:重新创建 Rancher Agent
#### 方法 3:重新创建 Rancher Agent
你可以在每个下游集群的 controlplane 节点上运行一组命令,来重新创建 Rancher Agent。
@@ -151,15 +151,15 @@ $ kubectl edit -n cattle-system deployment/cattle-cluster-agent
然后,SSH 连接到下游集群的 controlplane 节点,创建 Kubeconfig 并应用定义(参见[此处](
https://gist.github.com/superseb/b14ed3b5535f621ad3d2aa6a4cd6443b))。
## 5. 选择 Fleet 集群的强制更新,来将 fleet-agent 连接到 Rancher
### 5. 选择 Fleet 集群的强制更新,来将 fleet-agent 连接到 Rancher
在 Rancher UI 的[持续交付](../../../how-to-guides/new-user-guides/deploy-apps-across-clusters/fleet.md#在-rancher-ui-中访问-fleet)中,为集群选择“强制更新”,来允许下游集群中的 fleet-agent 成功连接到 Rancher。
### 为什么要执行这一步骤?
#### 为什么要执行这一步骤?
Rancher 管理的集群中的 Fleet agent 存储 kubeconfig,该配置用于连接到 Fleet 系统命名空间的 fleet-agent 密文中的 Rancher 代理 kube-api。kubeconfig 包括一个包含 Rancher CA 的证书授权数据块。更改 Rancher CA 时,需要更新此块来使 fleet-agent 成功连接到 Rancher。
# 将私有 CA 证书更改为通用证书
## 将私有 CA 证书更改为通用证书
:::note
@@ -167,7 +167,7 @@ Rancher 管理的集群中的 Fleet agent 存储 kubeconfig,该配置用于连
:::
## 1. 创建/更新证书密文资源
### 1. 创建/更新证书密文资源
首先,将服务器证书和所有中间证书合并到名为 `tls.crt` 的文件,并在名为 `tls.key` 的文件中提供相应的证书密钥。
@@ -188,7 +188,7 @@ $ kubectl -n cattle-system create secret tls tls-rancher-ingress \
--dry-run --save-config -o yaml | kubectl apply -f -
```
## 2. 删除 CA 证书密文资源
### 2. 删除 CA 证书密文资源
你需要删除 `cattle-system` 命名空间中的 `tls-ca secret`(不再需要它)。如果需要,你还可以选择保存 `tls-ca secret` 的副本。
@@ -204,7 +204,7 @@ kubectl -n cattle-system get secret tls-ca -o yaml > tls-ca.yaml
kubectl -n cattle-system delete secret tls-ca
```
## 3. 重新配置 Rancher 部署
### 3. 重新配置 Rancher 部署
:::note 重要提示:
@@ -250,14 +250,14 @@ helm upgrade rancher rancher-stable/rancher \
set privateCA=false
```
## 4. 为非私有/通用证书重新配置 Rancher Agent
### 4. 为非私有/通用证书重新配置 Rancher Agent
下游集群 Agent 上的 `CATTLE_CA_CHECKSUM` 环境变量应该被删除或设置为“”(一个空字符串)。
## 5. 选择 Fleet 集群的强制更新,来将 fleet-agent 连接到 Rancher
### 5. 选择 Fleet 集群的强制更新,来将 fleet-agent 连接到 Rancher
在 Rancher UI 的[持续交付](../../../how-to-guides/new-user-guides/deploy-apps-across-clusters/fleet.md#在-rancher-ui-中访问-fleet)中,为集群选择“强制更新”,来允许下游集群中的 fleet-agent 成功连接到 Rancher。
### 为什么要执行这一步骤?
#### 为什么要执行这一步骤?
Rancher 管理的集群中的 Fleet agent 存储 kubeconfig,该配置用于连接到 Fleet 系统命名空间的 fleet-agent 密文中的 Rancher 代理 kube-api。kubeconfig 包括一个包含 Rancher CA 的证书授权数据块。更改 Rancher CA 时,需要更新此块来使 fleet-agent 成功连接到 Rancher。
@@ -19,7 +19,7 @@ Rancher 使用 cert-manager 为 Rancher 高可用部署自动生成和续期 TLS
:::
# 升级 Cert-Manager
## 升级 Cert-Manager
以下说明中使用的命名空间是由当前安装了 cert-manager 的命名空间决定的。如果它在 kube-system 中,在以下说明步骤中使用。你可以运行 `kubectl get pods --all-namespaces` 来验证,并检查 cert-manager-\* pods 列在哪个命名空间中。不要更改运行 cert-manager 的命名空间,否则可能会出现错误。
@@ -4,11 +4,11 @@ title: 概述
Rancher 是一个为使用容器的公司打造的容器管理平台。Rancher 使得开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。
# Run Kubernetes Everywhere
## Run Kubernetes Everywhere
Kubernetes 已经成为容器编排标准。现在,大多数云和虚拟化提供商都提供容器编排服务。Rancher 用户可以选择使用 Rancher Kubernetes Engine(RKE)或云 Kubernetes 服务(例如 GKE、AKS 和 EKS)创建 Kubernetes 集群,还可以导入和管理使用任何 Kubernetes 发行版或安装程序创建的现有 Kubernetes 集群。
# 满足 IT 需求规范
## 满足 IT 需求规范
Rancher 支持对其控制的所有 Kubernetes 集群进行集中认证、访问控制和监控。例如,你可以:
@@ -16,7 +16,7 @@ Rancher 支持对其控制的所有 Kubernetes 集群进行集中认证、访问
- 设置所有用户、组、项目、集群和云服务的权限控制策略和安全策略。
- 一站式查看 Kubernetes 集群的运行状况和容量。
# 赋能 DevOps 团队
## 赋能 DevOps 团队
Rancher 为 DevOps 工程师提供简单直接的用户界面,以管理其应用负载。用户不需要对 Kubernetes 有非常深入的了解,即可使用 Rancher。Rancher 应用商店包含一套实用的 DevOps 开发工具。Rancher 获得了多种云原生生态系统产品的认证,包括安全工具、监控系统、容器镜像仓库、存储和网络驱动等。
@@ -24,7 +24,7 @@ Rancher 为 DevOps 工程师提供简单直接的用户界面,以管理其应
![平台](/img/platform.png)
# Rancher API Server 的功能
## Rancher API Server 的功能
Rancher API Server 是基于嵌入式 Kubernetes API Server 和 etcd 数据库建立的,它提供了以下功能:
@@ -52,7 +52,7 @@ Rancher API Server 是基于嵌入式 Kubernetes API Server 和 etcd 数据库
- **监控**:你可以使用 Rancher,通过业界领先并开源的 Prometheus 来监控集群节点、Kubernetes 组件和软件部署的状态和进程。
- **告警**:为了保证集群和应用的正常运行,提高公司的生产效率,你需要随时了解集群和项目的计划内和非计划事件。
# 使用 Rancher 编辑下游集群
## 使用 Rancher 编辑下游集群
对于已有集群而言,可提供的选项和设置取决于你配置集群的方法。例如,只有[通过 RKE 启动](../pages-for-subheaders/launch-kubernetes-with-rancher.md)的集群才有可编辑的**集群选项**。
@@ -3,4 +3,4 @@ title: Rancher AWS Marketplace 快速入门
description: 使用 Amazon EKS 部署 Rancher Server。
---
你可以在 AWS 中使用 Amazon EKS 部署 Rancher Server。详情请参见我们的 [Amazon Marketplace 列表](https://aws.amazon.com/marketplace/pp/prodview-2yzbnvagmi4as)。
你可以在 AWS 中使用 Amazon EKS 部署 Rancher Server。详情请参见我们的 [Amazon Marketplace 列表](https://aws.amazon.com/marketplace/pp/prodview-go7ent7goo5ae)。
@@ -24,6 +24,6 @@ title: 1. 在集群中启用 Istio
**结果**:已在集群级别安装 Istio。
# 其他配置选项
## 其他配置选项
有关配置 Istio 的更多信息,请参阅[配置参考](../../../pages-for-subheaders/configuration-options.md)。
@@ -4,7 +4,7 @@ title: 6. 生成和查看流量
本文介绍如何查看 Istio 管理的流量。
# Kiali 流量图
## Kiali 流量图
Istio 概览页面提供了 Kiali 仪表板的链接。在 Kiali 仪表板中,你可以查看每个命名空间的图。Kiali 图提供了一种强大的方式来可视化 Istio 服务网格的拓扑。它显示了服务之间相互通信的情况。
@@ -16,7 +16,7 @@ title: 4. 设置 Istio Gateway
![启用 Istio 的集群可以有两个 ingress,分别是默认的 Nginx ingress 和默认的 Istio controller](/img/istio-ingress.svg)
# 启用 Istio Gateway
## 启用 Istio Gateway
Ingress Gateway 是一个 Kubernetes 服务,将部署在你的集群中。Istio Gateway 支持更多自定义设置,更加灵活。
@@ -29,7 +29,7 @@ Ingress Gateway 是一个 Kubernetes 服务,将部署在你的集群中。Isti
**结果**:已部署网关,将使用应用的规则来路由流量。
# Istio Gateway 示例
## Istio Gateway 示例
在演示工作负载示例时,我们在服务中添加 BookInfo 应用部署。接下来,我们添加一个 Istio Gateway,以便从集群外部访问该应用。
@@ -127,7 +127,7 @@ bookinfo-gateway 64m
如需检查 Istio 控制器 URL 和端口的帮助,请尝试运行 [Istio 文档](https://istio.io/docs/tasks/traffic-management/ingress/ingress-control/#determining-the-ingress-ip-and-ports)中的命令。
# 故障排除
## 故障排除
[官方 Istio 文档](https://istio.io/docs/tasks/traffic-management/ingress/ingress-control/#troubleshooting)建议使用 `kubectl` 命令来检查外部请求的正确 ingress 主机和 ingress 端口。
@@ -10,7 +10,7 @@ import TabItem from '@theme/TabItem';
- [创建持久化 Grafana 仪表板](#创建持久化-grafana-仪表板)
- [已知问题](#已知问题)
# 创建持久化 Grafana 仪表板
## 创建持久化 Grafana 仪表板
<Tabs>
<TabItem value="Rancher v2.5.8+">
@@ -144,7 +144,7 @@ helm.sh/resource-policy: "keep"
</TabItem>
</Tabs>
# 已知问题
## 已知问题
如果你的 Monitoring V2 版本是 v9.4.203 或更低版本,卸载 Monitoring chart 将同时删除 `cattle-dashboards` 命名空间,所有持久化的仪表板将被删除(除非命名空间带有注释 `helm.sh/resource-policy: "keep"`)。
@@ -8,7 +8,7 @@ title: 启用 Monitoring
不论是否使用 SSL,你都可以启用 monitoring。
# 要求
## 要求
- 确保在每个节点上允许端口 9796 上的流量,因为 Prometheus 将从这里抓取指标。
- 确保你的集群满足资源要求。集群应至少有 1950Mi 可用内存、2700m CPU 和 50Gi 存储。要查看资源限制和请求的明细,请查看[此处](../../../reference-guides/monitoring-v2-configuration/helm-chart-options.md#配置资源限制和请求)。
@@ -33,7 +33,7 @@ rkeEtcd:
有关默认限制的更多信息,请参阅[此页面](../../../reference-guides/monitoring-v2-configuration/helm-chart-options.md#配置资源限制和请求)。
# 安装 Monitoring 应用
## 安装 Monitoring 应用
### 在不使用 SSL 的情况下启用 Monitoring
@@ -10,7 +10,7 @@ title: Prometheus 配置
:::
# 关于 Prometheus 自定义资源
## 关于 Prometheus 自定义资源
Prometheus CR 定义了所需的 Prometheus deployment。Prometheus Operator 会观察 Prometheus CR。当 CR 发生变化时,Prometheus Operator 会创建 `prometheus-rancher-monitoring-prometheus`,即根据 CR 配置的 Prometheus deployment。
@@ -45,7 +45,7 @@ Prometheus 规则文件保存在 PrometheusRule 自定义资源中。PrometheusR
如需查看示例,请参阅 Prometheus 文档中的[记录规则](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/)和[告警规则](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)。
# 配置
## 配置
### 规则组
@@ -6,7 +6,7 @@ title: 模板创建者权限
有关管理员权限的更多信息,请参阅[全局权限文档](../manage-role-based-access-control-rbac/global-permissions.md)。
# 授予用户创建模板的权限
## 授予用户创建模板的权限
只有具有**创建 RKE 模板**全局权限的用户才能创建模板。
@@ -8,7 +8,7 @@ title: 配置 Google OAuth
在 Rancher 中,只有具有 **Manage Authentication** [全局角色](../../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions.md)的管理员或用户才能配置身份验证。
# 先决条件
## 先决条件
- 你必须配置了 [G Suite 管理员账号](https://admin.google.com)。
- G Suite 需要一个[顶级私有域 FQDN](https://github.com/google/guava/wiki/InternetDomainNameExplained#public-suffixes-and-private-domains) 作为授权域。获取 FQDN 的一种方法是在 Route53 中为 Rancher Server 创建 A 记录。你不需要使用该记录更新 Rancher Server 的 URL 设置,因为可能有集群使用该 URL。
@@ -17,7 +17,7 @@ title: 配置 Google OAuth
启用 Admin SDK API 后,你的 G Suite 域的 API 页面应如下图所示:
![Enable Admin APIs](/img/Google-Enable-APIs-Screen.png)
# 在 Rancher 中为 OAuth 设置 G Suite
## 在 Rancher 中为 OAuth 设置 G Suite
在 Rancher 中设置 Google OAuth 之前,你需要登录到你的 G Suite 账号并完成以下设置:
@@ -93,7 +93,7 @@ title: 配置 Google OAuth
**结果**:ServiceAccount 在你的 G Suite 账号中已注册为 OAuth 客户端。
# 在 Rancher 中配置 Google OAuth
## 在 Rancher 中配置 Google OAuth
1. 使用分配了 [administrator](../../authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions.md) 角色的本地用户登录到 Rancher。这个用户也称为本地主体。
1. 在左上角,单击 **☰ > 用户 & 认证**。
@@ -28,7 +28,7 @@ title: 2. 在 Rancher 中配置 Microsoft AD FS
**结果**:已将 Rancher 配置为使用 AD FS。你的用户现在可以使用 AD FS 登录名登录 Rancher。
# 配置
## 配置
| 字段 | 描述 |
|---------------------------|-----------------|
@@ -16,7 +16,7 @@ title: OpenLDAP 配置参考
3. 找到用户后,将使用用户的 DN 和提供的密码,通过另一个 LDAP 绑定请求对用户进行身份验证。
4. 身份验证成功后,Rancher 将基于用户对象的成员属性和配置的用户映射属性执行组搜索,来解析组成员。
# OpenLDAP 服务器配置
## OpenLDAP 服务器配置
你将需要输入地址,端口和协议来连接到 OpenLDAP 服务器。不安全流量的标准端口为 `389`,TLS 流量的标准端口为 `636`。
@@ -39,7 +39,7 @@ title: OpenLDAP 配置参考
| 用户搜索库 | 输入目录树中开始搜索用户对象的节点的标识名称(DN)。所有用户都必须是此基础标识名称的后代。例如,"ou=people,dc=acme,dc=com"。 |
| 组搜索库 | 如果组位于`用户搜索库`下配置的节点之外的其他节点下,则需要在此处提供标识名称。否则,将此字段留空。例如:"ou=groups,dc=acme,dc=com"。 |
# 用户/组 Schema 配置
## 用户/组 Schema 配置
如果你的 OpenLDAP 目录不同于标准的 OpenLDAP Schema,则必须完成**自定义 Schema** 部分实现匹配。
@@ -160,7 +160,7 @@ NavLink 自定义资源的 Kubernetes 标签。
需要提供 `toService` 或 `toURL` 指令中的一个。
# 链接示例
## 链接示例
### `toUrl` 的链接示例
@@ -8,7 +8,7 @@ Rancher 建议为所有生产集群配置定期 `etcd` 快照。此外,你还
etcd 数据库的快照会保存在 [etcd 节点](#本地备份目标)或 [S3 兼容目标](#s3-备份目标)上。配置 S3 的好处是,如果所有 etcd 节点都丢失了,你的快照会保存到远端并能用于恢复集群。
# 快照工作原理
## 快照工作原理
### 快照组件
@@ -64,7 +64,7 @@ Rancher 在创建 RKE 集群的快照时,快照名称是基于快照创建类
4. 其他 etcd 节点会下载快照并验证校验和,以便都能使用相同的快照进行恢复。
5. 集群已恢复,恢复后的操作将在集群中完成。
# 配置定期快照
## 配置定期快照
选择创建定期快照的频率以及要保留的快照数量。时间的单位是小时。用户可以使用时间戳快照进行时间点恢复。
@@ -81,7 +81,7 @@ Rancher 在创建 RKE 集群的快照时,快照名称是基于快照创建类
| 定期 etcd 快照的创建周期 | 定期快照之间的间隔(以小时为单位) | 12 小时 |
| 定期 etcd 快照的保留数量 | 要保留的快照数量 | 6 |
# 单次快照
## 单次快照
除了定期快照之外,你可能还想创建“一次性”快照。例如,在升级集群的 Kubernetes 版本之前,最好备份集群的状态以防止升级失败。
@@ -91,7 +91,7 @@ Rancher 在创建 RKE 集群的快照时,快照名称是基于快照创建类
**结果**:根据你的[快照备份目标](#快照备份目标)创建一次性快照,并将其保存在选定的备份目标中。
# 快照备份目标
## 快照备份目标
Rancher 支持两种不同的备份目标:
@@ -130,7 +130,7 @@ Rancher 支持两种不同的备份目标:
要授予应用对 S3 的访问权限,请参阅[使用 IAM 角色向在 Amazon EC2 实例上运行的应用授予权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)的 AWS 文档。
# 查看可用快照
## 查看可用快照
Rancher UI 中提供了集群所有可用快照的列表:
@@ -138,7 +138,7 @@ Rancher UI 中提供了集群所有可用快照的列表:
1. 在**集群**页面中,转到要查看快照的集群并单击其名称。
1. 单击**快照**选项卡来查看已保存快照的列表。这些快照包括创建时间的时间戳。
# 安全时间戳
## 安全时间戳
快照文件带有时间戳,从而简化使用外部工具和脚本处理文件的过程。但在某些与 S3 兼容的后端中,这些时间戳无法使用。
@@ -146,6 +146,6 @@ Rancher UI 中提供了集群所有可用快照的列表:
此选项不能直接在 UI 中使用,只能通过`以 YAML 文件编辑`使用。
# 为使用 Rancher v2.2.0 之前的版本创建的集群启用快照功能
## 为使用 Rancher v2.2.0 之前的版本创建的集群启用快照功能
如果你有使用 v2.2.0 之前版本创建的 Rancher 启动的 Kubernetes 集群,升级 Rancher 后,你必须[编辑集群](../../../pages-for-subheaders/cluster-configuration.md)并 _保存_ 它,以启用更新的快照功能。即使你已经在 v2.2.0 之前创建了快照,你也必须执行此步骤,因为旧的快照将无法用于[通过 UI 备份和恢复 etcd](restore-rancher-launched-kubernetes-clusters-from-backup.md)。
@@ -72,6 +72,6 @@ Rancher UI 中提供了集群所有可用快照的列表:
6. 在单个节点启动并运行后,Rancher 建议向你的集群添加额外的 etcd 节点。如果你有一个[自定义集群](../../../pages-for-subheaders/use-existing-nodes.md),并且想要复用旧节点,则需要先[清理节点](../manage-clusters/clean-cluster-nodes.md),然后再尝试将它们重新添加到集群中。
# 为使用 Rancher v2.2.0 之前的版本创建的集群启用快照功能
## 为使用 Rancher v2.2.0 之前的版本创建的集群启用快照功能
如果你有使用 v2.2.0 之前版本创建的 Rancher 启动的 Kubernetes 集群,升级 Rancher 后,你必须[编辑集群](../../../pages-for-subheaders/cluster-configuration.md)并 _保存_ 它,以启用更新的快照功能。即使你已经在 v2.2.0 之前创建了快照,你也必须执行此步骤,因为旧的快照将无法用于[通过 UI 备份和恢复 etcd](restore-rancher-launched-kubernetes-clusters-from-backup.md)。
@@ -12,7 +12,7 @@ Rancher 的应用市场基于 Helm 仓库和 Helm Chart。你可以添加基于
# Chart 类型
## Chart 类型
Rancher 支持两种不同类型的 Chart,分别是 Helm Chart 和 Rancher Chart。
@@ -26,7 +26,7 @@ Rancher Chart 是原生 helm Chart,包含两个可增强用户体验的文件
Rancher Chart 添加了简化的 Chart 描述和配置表单,使应用部署变得容易。Rancher 用户无需通读整个 Helm 变量列表即可了解如何启动应用。
# Chart 目录结构
## Chart 目录结构
你可以在基于 HTTP 的标准 Helm 仓库中提供 Helm Chart。有关更多信息,请参阅 Helm 官方文档中的 [Chart 仓库指南](https://helm.sh/docs/topics/chart_repository)。
@@ -48,7 +48,7 @@ Rancher Chart 添加了简化的 Chart 描述和配置表单,使应用部署
│ │ │ ├── templates/ # 包含模板的目录,与 values.yml 一起能生成 Kubernetes YAML。
```
# Rancher Chart 的附加文件
## Rancher Chart 的附加文件
在创建你的自定义目录之前,你需要大致了解 Rancher chart 与原生 Helm chart 的区别。Rancher Chart 的目录结构与 Helm Chart 略有不同。Rancher Chart 包含两个 Helm Chart 没有的文件:
@@ -149,7 +149,7 @@ Rancher 仅支持使用 Amazon NLB 以 `TCP` 模式终止 443 端口的流量,
AWS 完成 NLB 创建后,单击**关闭**。
# 4. 为 TCP 端口 80 向 NLB 添加监听器
## 4. 为 TCP 端口 80 向 NLB 添加监听器
1. 选择新创建的 NLB 并选择**监听器**选项卡。
@@ -163,7 +163,7 @@ AWS 完成 NLB 创建后,单击**关闭**。
6. 单击右上角的**保存**。
# NGINX Ingress 和 Traefik Ingress 的健康检查路径
## NGINX Ingress 和 Traefik Ingress 的健康检查路径
K3s 和 RKE Kubernetes 集群使用的默认 Ingress 不同,因此对应的健康检查方式也不同。
@@ -16,12 +16,12 @@ title: 为 Rancher 设置高可用 K3s Kubernetes 集群
:::
# 先决条件
## 先决条件
以下说明假设你已参见[此章节](../infrastructure-setup/ha-k3s-kubernetes-cluster.md)配置好两个节点,一个负载均衡器,一个 DNS 记录和一个外部 MySQL 数据库。
Rancher 需要安装在支持的 Kubernetes 版本上。如需了解你使用的 Rancher 版本支持哪些 Kubernetes 版本,请参见[支持维护条款](https://rancher.com/support-maintenance-terms/)。如需指定 K3s 版本,请在运行 K3s 安装脚本时,使用 `INSTALL_K3S_VERSION` 环境变量。
# 安装 Kubernetes
## 安装 Kubernetes
### 1. 安装 Kubernetes 并设置 K3s Server
@@ -23,7 +23,7 @@ Rancher 可以运行在任何 Kubernetes 集群上,包括托管的 Kubernetes
:::
# 安装 Kubernetes
## 安装 Kubernetes
### 所需的 CLI 工具
@@ -6,14 +6,15 @@ _已在 2.5.6 版本测试_
本文介绍了如何根据 [Rancher Server 环境的最佳实践](../../../reference-guides/rancher-manager-architecture/architecture-recommendations.md#kubernetes-安装环境)安装 Kubernetes 集群。
# 先决条件
## 先决条件
以下说明假设你已参见[此章节](../infrastructure-setup/ha-rke2-kubernetes-cluster.md)配置好三个节点,一个负载均衡器和一个 DNS 记录。
为了让 RKE2 与负载均衡器正常工作,你需要设置两个监听器,一个用于 9345 端口,另一个用于 6443 端口的 Kubernetes API。
Rancher 需要安装在支持的 Kubernetes 版本上。如需了解你使用的 Rancher 版本支持哪些 Kubernetes 版本,请参见[支持维护条款](https://rancher.com/support-maintenance-terms/)。如需指定 RKE2 版本,请在运行 RKE2 安装脚本时,使用 `INSTALL_RKE2_VERSION` 环境变量。
# 安装 Kubernetes
## 安装 Kubernetes
### 1. 安装 Kubernetes 并设置 RKE2 Server
@@ -15,7 +15,7 @@ Azure 订阅不支持以下账号类型:
- 单租户账号(即没有订阅的账号)。
- 多订阅账号。
# RKE 和 RKE2 的先决条件
## RKE 和 RKE2 的先决条件
要为 RKE 和 RKE2 设置 Azure 云提供商,你需要配置以下凭证:
@@ -70,7 +70,7 @@ Azure 订阅不支持以下账号类型:
只有需要成为负载均衡器后端的主机才需要分配到该组。
# Rancher 中的 RKE2 集群设置
## Rancher 中的 RKE2 集群设置
1. 在**集群配置**中的**云提供商**下拉列表中选择 **Azure**。
@@ -6,7 +6,7 @@ Kubernetes 正在逐渐不在树内维护云提供商。vSphere 有一个树外
本页介绍如何在启动集群后安装 Cloud Provider Interface (CPI) 和 Cloud Storage Interface (CSI) 插件。
# 先决条件
## 先决条件
支持的 vSphere 版本:
@@ -17,7 +17,7 @@ Kubernetes 版本必须为 1.19 或更高版本。
树外 vSphere 云提供商要求使用 Linux 节点,不支持 Windows 节点。
# 安装
## 安装
在安装云存储接口 (CSI) 之前,应先安装云提供商接口 (CPI)。
@@ -55,7 +55,7 @@ Kubernetes 版本必须为 1.19 或更高版本。
1. 单击**安装**。
# 使用 CSI 驱动来置备卷
## 使用 CSI 驱动来置备卷
CSI chart 默认创建一个 storageClass。
@@ -29,12 +29,12 @@ resourcepool-path: "<cluster-name>/Resources/<resource-pool-name>"
跟踪此 bug 的 Rancher issue:https://github.com/rancher/rancher/issues/31105
# 先决条件
## 先决条件
- vSphere CSI 迁移需要 vSphere 7.0u1。为了管理现有的树内 vSphere 卷,请将 vSphere 升级到 7.0u1。
- Kubernetes 版本必须为 1.19 或更高版本。
# 迁移
## 迁移
### 1. 安装 CPI 插件
@@ -13,7 +13,7 @@ Deployment 使用 Kubernetes 镜像仓库密文向私有 Docker 镜像仓库进
目前,只有在 Rancher UI 中创建工作负载时(通过 kubectl 创建的工作负载不可以),Deployment 才会自动拉取私有镜像仓库凭证。
# 在命名空间中创建镜像仓库
## 在命名空间中创建镜像仓库
:::note 先决条件:
@@ -44,7 +44,7 @@ Deployment 使用 Kubernetes 镜像仓库密文向私有 Docker 镜像仓库进
- 你可以通过单击**存储 > 密文**或**更多资源 > 核心 > 密文**在 Rancher UI 中查看密文。
- 如果工作负载在镜像仓库的范围内,你在 Rancher UI 中创建的任何工作负载都将具有访问镜像仓库的凭证。
# 在项目中创建镜像仓库
## 在项目中创建镜像仓库
:::note 先决条件:
@@ -87,7 +87,7 @@ local 集群上的项目级别镜像仓库仅在选择单个项目时可见。
:::
# 使用私有镜像仓库
## 使用私有镜像仓库
你可以通过 Rancher UI 或 `kubectl` 使用私有镜像仓库的镜像来部署工作负载。
@@ -7,7 +7,7 @@ description: Ingress 配置
在 Kubernetes 1.21 及更高版本中,NGINX Ingress Controller 不再运行在 hostNetwork 中,而是将 hostPorts 用于端口 80 和端口 443。这样可以将 admission webhook 配置为使用 ClusterIP 访问,从而只在集群内部访问它。
# Ingress 规则配置
## Ingress 规则配置
- [指定要使用的主机名](#指定要使用的主机名)
- [用作默认后端](#用作默认后端)
@@ -14,7 +14,7 @@ title: 密文
除非作为子路径卷挂载,否则挂载的密文会自动更新。有关如何传播更新的密文,请参阅 [Kubernetes 文档](https://kubernetes.io/docs/concepts/configuration/secret/#mounted-secrets-are-updated-automatically)。
# 在命名空间中创建密文
## 在命名空间中创建密文
1. 在左上角,单击 **☰ > 集群管理**。
1. 转到要添加密文的集群,然后单击 **Explore**。
@@ -47,7 +47,7 @@ title: 密文
除非作为子路径卷挂载,否则挂载的密文会自动更新。有关如何传播更新的密文,请参阅 [Kubernetes 文档](https://kubernetes.io/docs/concepts/configuration/secret/#mounted-secrets-are-updated-automatically)。
# 在项目中创建密文
## 在项目中创建密文
在 Rancher 2.6 之前,密文必须创建在项目级别。现在不再需要项目级别,你可以采用命名空间级别。因此,Rancher UI 进行了更新以反映这一新功能。但是,你仍然可以按照需要创建项目级别的密文。请注意,你必须先启用`旧版`功能开关并查看单个项目。执行以下步骤设置你的项目级别密文:
@@ -69,7 +69,7 @@ local 集群上的项目级别密文仅在选择单个项目时可见。
:::
# 后续操作
## 后续操作
现在你已将密文添加到命名空间,你可以将其添加到你部署的工作负载中。
@@ -93,7 +93,8 @@ import TabItem from '@theme/TabItem';
- `Default`:包含 `default` 命名空间
- `System`:包含 `cattle-system`,`ingress-nginx`,`kube-public` 和 `kube-system` 命名空间。
# 可选的后续步骤
## 可选的后续步骤
创建集群后,你可以通过 Rancher UI 访问集群。最佳实践建议你设置以下访问集群的备用方式:
@@ -21,7 +21,7 @@ import TabItem from '@theme/TabItem';
- [允许加密 EBS 卷的 IAM 策略示例](#允许加密-ebs-卷的-iam-策略示例)
- 为用户添加 **IAM 策略权限**。请参阅 [Amazon 文档:为用户添加权限(控制台)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console),来将权限添加给用户。
# 创建 EC2 集群
## 创建 EC2 集群
创建集群的步骤因 Rancher 版本而异。
@@ -133,7 +133,7 @@ import TabItem from '@theme/TabItem';
- **通过 kubectl CLI 访问你的集群**:按照[这些步骤](../../../new-user-guides/manage-clusters/access-clusters/use-kubectl-and-kubeconfig.md#在工作站使用-kubectl-访问集群)在你的工作站上使用 kubectl 访问集群。在这种情况下,你将通过 Rancher Server 的身份验证代理进行身份验证,然后 Rancher 会让你连接到下游集群。此方法允许你在没有 Rancher UI 的情况下管理集群。
- **通过 kubectl CLI 使用授权的集群端点访问你的集群**:按照[这些步骤](../../../new-user-guides/manage-clusters/access-clusters/use-kubectl-and-kubeconfig.md#直接使用下游集群进行身份验证)直接使用 kubectl 访问集群,而无需通过 Rancher 进行身份验证。我们建议设置此替代方法来访问集群,以便在无法连接到 Rancher 时访问集群。
# IAM 策略
## IAM 策略
### IAM 策略示例
@@ -29,7 +29,7 @@ import TabItem from '@theme/TabItem';
- [Azure 中的准备工作](#azure-中的准备工作)
- [创建 Azure 集群](#创建-azure-集群)
# Azure 中的准备工作
## Azure 中的准备工作
在使用 Azure 等云厂商在 Rancher 中创建节点模板之前,必须先配置 Rancher 以允许操作 Azure 订阅中的资源。
@@ -46,7 +46,7 @@ az ad sp create-for-rbac \
创建服务主体后会返回三个标识信息,分别是*应用 ID(也称为客户端 ID)*,以及*客户端密码*。为 Azure 创建节点模板时将使用这些信息。
# 创建 Azure 集群
## 创建 Azure 集群
<Tabs>
<TabItem value="RKE">
@@ -17,7 +17,7 @@ title: 在 Nutanix AOS 中配置 Kubernetes 集群
- [Nutanix AOS 中的准备工作](#nutanix-aos-中的准备工作)
- [创建 Nutanix AOS 集群](#创建-nutanix-aos-集群)
# Nutanix AOS 中的准备工作
## Nutanix AOS 中的准备工作
下文介绍了设置 Nutanix AOS 的要求,以便 Rancher 可以配置虚拟机和集群。
@@ -26,6 +26,7 @@ title: 在 Nutanix AOS 中配置 Kubernetes 集群
节点模板已使用 Nutanix AOS 5.20.2 和 6.0.1 版本进行记录和测试。
:::
### 在 Nutanix AOS 中创建凭证
在继续创建集群之前,请确保你拥有具有管理员权限的 [Nutanix Prism Central 用户账号](https://portal.nutanix.com/page/documents/details?targetId=Nutanix-Security-Guide-v6_0:wc-user-create-wc-t.html)。设置节点模板时,模板将需要使用这些凭证。
@@ -43,7 +44,7 @@ title: 在 Nutanix AOS 中配置 Kubernetes 集群
建议设置 [VM-VM 反亲和性策略](https://portal.nutanix.com/page/documents/details?targetId=AHV-Admin-Guide-v6_1:ahv-vm-anti-affinity-t.html)。这些规则允许分配了 etcd 和 controlplane 角色的虚拟机在分配给不同节点池时,在单独的 AHV 主机上运行。这种做法可确保单个物理机的故障不会影响这些平面的可用性。
# 创建 Nutanix AOS 集群
## 创建 Nutanix AOS 集群
1. [创建节点模板](#1-创建节点模板)
2. [使用节点模板创建具有节点池的集群](#2-使用节点模板创建具有节点池的集群)
@@ -82,8 +83,7 @@ title: 在 Nutanix AOS 中配置 Kubernetes 集群
- `Default`:包含 `default` 命名空间
- `System`:包含 `cattle-system`,`ingress-nginx`,`kube-public` 和 `kube-system` 命名空间。
# 可选的后续步骤
## 可选的后续步骤
创建集群后,你可以通过 Rancher UI 访问集群。最佳实践建议你设置以下访问集群的备用方式:
@@ -16,7 +16,7 @@ title: 在 vSphere 中配置 Kubernetes 集群
- [vSphere 中的准备工作](#vsphere-中的准备工作)
- [创建 vSphere 集群](#创建-vsphere-集群)
# vSphere 中的准备工作
## vSphere 中的准备工作
本节介绍设置 vSphere 的要求,以便 Rancher 可以配置虚拟机和集群。
@@ -513,7 +513,7 @@ kubectl -n kube-system apply -f cluster-autoscaler-deployment.yaml
:::
# 测试
## 测试
此时,cluster-autoscaler 应该已经在 Rancher 自定义集群中启动并运行。当满足以下条件之一时,cluster-autoscaler 需要管理 `K8sWorkerAsg` ASG,以在 2 到 10 个节点之间进行扩缩容:
@@ -14,7 +14,7 @@ Rancher 不会与已注册的下游集群建立连接。部署在下游集群上
对于私有节点或私有集群,则需要在节点上设置环境变量。然后,在配置自定义集群或注册私有集群时,在 Rancher UI 中配置环境变量。有关如何在 K3s Kubernetes 集群中的 Ubuntu 节点上设置环境变量的示例,请参阅[本节](#在私有节点上设置环境变量)。
# 必要的环境变量
## 必要的环境变量
为代理添加 Fleet agent 环境变量时,将 <PROXY_IP> 替换为你的私有代理 IP。
@@ -65,6 +65,43 @@ Monitoring 还会创建其他 `Role`,这些角色默认情况下不会分配
| monitoring-dashboard-edit | 允许管理员为用户分配角色,以便查看/编辑 cattle-dashboards 命名空间中的 ConfigMap。此命名空间中的 ConfigMap 将对应于持久化到集群上的 Grafana 仪表板。 |
| monitoring-dashboard-view | 允许管理员为用户分配角色,以便查看 cattle-dashboards 命名空间中的 ConfigMap。此命名空间中的 ConfigMap 将对应于持久化到集群上的 Grafana 仪表板。 |
### 通过自定义角色分配监控角色
管理员可以在 Rancher UI 中分配自定义角色以管理、编辑和查看监控。这些“角色”是在安装 Monitoring 应用程序时默认创建的。此外,这些角色也会被部署到相应的 Kubernetes 角色:admin、edit 和 view `ClusterRoles`。
:::note 重要提示:
将用户添加到集群时,UI 不会提供 `monitoring-admin`、`monitoring-edit` 和 `monitoring-view` 选项。这些监控角色只能通过手动创建自定义角色来分配,该自定义角色继承 Project Owner 和 Project Monitoring View 角色。
:::
1. 创建自定义角色:
1.1 单击 **☰ > Users & Authentication > Roles**。
1.2 选择适当的选项卡,例如 **Cluster** 角色。然后单击 **Create Cluster Role**。
1.3 在 **Name** 字段中,创建自定义角色,例如 `View Monitoring`、`Edit Monitoring` 或 `Admin Monitoring`。
1.4 单击 **Inherit From > Add Resource**,然后从下拉列表中选择所需的 Kubernetes 角色。
1.5 单击 **Create**。
2. 将自定义角色分配给新用户:
2.1 单击 **☰ > Cluster Management > Cluster Explore > Cluster > Cluster Members > Add**。
2.2 从显示的 **Select Member** 中搜索你的新用户名。
2.3 将 **Cluster Permissions** 中的新自定义角色分配给新用户。
2.4 单击 **Create**。
**结果**:新用户现在应该能够看到 monitoring 工具。
### 其他监控集群角色
Monitoring 还会创建其他 `ClusterRole`,这些角色默认情况下不会分配给用户,而是在集群中创建。默认情况下,这些角色不会聚合,但你可以部署引用角色的 `RoleBinding` 或 `ClusterRoleBinding` 来将角色绑定到命名空间。要使用 `kubectl` 而不是通过 Rancher 来定义 `RoleBinding`,请单击[此处](#使用-kubectl-分配-role-和-clusterrole)。
@@ -16,14 +16,14 @@ Rancher 安装在 RKE Kubernetes 集群、K3s Kubernetes 集群,或单个 Dock
:::
# 安装概要
## 安装概要
1. [设置基础设施和私有镜像仓库](../getting-started/installation-and-upgrade/other-installation-methods/air-gapped-helm-cli-install/infrastructure-private-registry.md)
2. [收集镜像到私有镜像仓库](../getting-started/installation-and-upgrade/other-installation-methods/air-gapped-helm-cli-install/publish-images.md)
3. [设置 Kubernetes 集群(如果你使用 Docker 安装,请跳过此步骤)](../getting-started/installation-and-upgrade/other-installation-methods/air-gapped-helm-cli-install/install-kubernetes.md)
4. [安装 Rancher](../getting-started/installation-and-upgrade/other-installation-methods/air-gapped-helm-cli-install/install-rancher-ha.md)
# 升级
## 升级
如需在离线环境中使用 Helm CLI 升级 Rancher,请按照[升级步骤](../getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/upgrades.md)进行操作。
@@ -2,11 +2,11 @@
title: AWS Marketplace 集成
---
# 概述
## 概述
Rancher 提供了与 AWS Marketplace 的集成,允许用户向 SUSE 购买支持。此集成帮助你在需要使用更多集群时轻松调整支持需求。
# 限制
## 限制
- 必须使用 Rancher v2.6.7 或更高版本。
- Rancher 必须在启用其他指标的情况下进行部署。
@@ -14,11 +14,12 @@ Rancher 提供了与 AWS Marketplace 的集成,允许用户向 SUSE 购买支
- 必须通过 AWS Marketplace 购买至少一项 Rancher 支持的 Entitlement。
- 你可能需要额外的设置来支持代理/离线用例。有关详细信息,请参阅[先决条件](../integrations-in-rancher/cloud-marketplace/aws-cloud-marketplace/adapter-requirements.md)。
# 如何使用
## 如何使用
1. 完成[先决条件步骤](../integrations-in-rancher/cloud-marketplace/aws-cloud-marketplace/adapter-requirements.md)。
2. [安装 CSP Adapter](../integrations-in-rancher/cloud-marketplace/aws-cloud-marketplace/install-adapter.md)。
# 常见问题
## 常见问题
**我以后后续再购买更多节点的支持吗?**
@@ -11,7 +11,7 @@ title: 配置 Shibboleth (SAML)
> 本节假定你已了解 Rancher,Shibboleth 和 OpenLDAP 是如何协同工作的。有关工作原理的详细说明,请参见[本页](../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/configure-shibboleth-saml/about-group-permissions.md)。
# 在 Rancher 中设置 Shibboleth
## 在 Rancher 中设置 Shibboleth
### Shibboleth 先决条件
>
@@ -73,7 +73,7 @@ SAML 协议不支持用户或用户组的搜索或查找。因此,如果你没
要在 Rancher 中分配权限时启用搜索组,你需要为支持组的 SAML 身份验证提供商配置后端(例如 OpenLDAP)。
# 在 Rancher 中设置 OpenLDAP
## 在 Rancher 中设置 OpenLDAP
如果你将 OpenLDAP 配置为 Shibboleth 的后端,SAML 断言会返回到 Rancher,其中包括用于引用组的用户属性。然后,通过身份验证的用户将能够访问其所在的组有权访问的 Rancher 资源。
@@ -96,6 +96,6 @@ SAML 协议不支持用户或用户组的搜索或查找。因此,如果你没
1. 在左侧导航栏,单击**认证**。
1. 单击 **OpenLDAP**。将显示**配置 OpenLDAP 服务器**表单。
# 故障排除
## 故障排除
如果在测试与 OpenLDAP 服务器的连接时遇到问题,请首先仔细检查为 ServiceAccount 输入的凭证以及搜索库配置。你还可以检查 Rancher 日志来查明问题的原因。调试日志可能包含有关错误的更详细信息。详情请参见[如何启用调试日志](../faq/technical-items.md#如何启用调试日志记录?)。
@@ -20,7 +20,7 @@ Rancher 包含一些默认关闭的实验功能。在某些情况下,例如当
如果你安装 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 时,使用功能开关启用你所需的功能。通过单节点容器安装 Rancher,和在 Kubernetes 集群上安装 Rancher 对应的命令有所不同。
@@ -81,7 +81,7 @@ docker run -d -p 80:80 -p 443:443 \
```
# 使用 Rancher UI 启用功能
## 使用 Rancher UI 启用功能
1. 在左上角,单击 **☰ > 全局设置**。
1. 单击**功能开关**。
@@ -97,7 +97,7 @@ docker run -d -p 80:80 -p 443:443 \
**结果**:该功能已禁用。
# 使用 Rancher API 启用功能
## 使用 Rancher API 启用功能
1. 前往 `<RANCHER-SERVER-URL>/v3/features`。
1. 在 `data` 中,你会看到一个数组,该数组包含所有能通过功能开关启用的功能。功能的名称在 `id` 字段中。单击要启用的功能的名称。
@@ -15,7 +15,7 @@ Cluster Autoscaler 运行在 Kubernetes master 节点上。它可以在 `kube-sy
你可以在 worker 节点上运行 Cluster Autoscaler 的自定义 deployment,但需要小心以保证 Cluster Autoscaler 能正常运行。
# 云提供商
## 云提供商
Cluster Autoscaler 为不同的云提供商提供支持。有关详细信息,请参见 [Cluster Autoscaler 支持的云提供商](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler#deployment)。
@@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem';
在本节中,你将学习如何使用 Helm CLI 在 Kubernetes 集群上部署 Rancher。
# 先决条件
## 先决条件
- [Kubernetes 集群](#kubernetes-集群)
- [Ingress Controller](#ingress-controller)
@@ -47,7 +47,7 @@ Rancher UI 和 API 通过 Ingress 公开。换言之,安装 Rancher 的 Kubern
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl) - Kubernetes 命令行工具。
- [Helm](https://docs.helm.sh/using_helm/#installing-helm) - Kubernetes 的包管理器。请参见 [Helm 版本要求](../getting-started/installation-and-upgrade/resources/helm-version-requirements.md)选择 Helm 版本来安装 Rancher。请为你的具体平台参见 [Helm 项目提供的说明](https://helm.sh/docs/intro/install/)。
# 安装 Rancher Helm Chart
## 安装 Rancher Helm Chart
Rancher 是使用 Kubernetes 的 [Helm](https://helm.sh/) 包管理器安装的。Helm Chart 为 Kubernetes YAML 清单文件提供了模板语法。通过 Helm,用户可以创建可配置的 deployment,而不仅仅只能使用静态文件。
@@ -5,7 +5,7 @@ description: 了解如何在开发和生产环境中安装 Rancher。了解单
本节介绍了 Rancher 各种安装方式以及每个安装方式的优点。
# 名词解释
## 名词解释
本章节涉及以下名词:
@@ -16,7 +16,7 @@ description: 了解如何在开发和生产环境中安装 Rancher。了解单
`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 可以安装在以下主要架构上:
@@ -62,10 +62,11 @@ Rancher backup operator 可将 Rancher 从单个 Docker 容器迁移到高可用
如需进一步了解 Rancher 架构,请参见[架构概述](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.md)。
# 架构建议
## 架构建议
为了达到最佳性能和安全性,我们建议你为 Rancher Management Server 使用单独的专用 Kubernetes 集群。不建议在此集群上运行用户工作负载。部署 Rancher 后,你可以[创建或导入集群](kubernetes-clusters-in-rancher-setup.md)来运行你的工作负载。
@@ -35,7 +35,7 @@ description: 如果 Rancher 配置在 Docker 或 Kubernetes 中运行时,了
Rancher UI 在基于 Firefox 或 Chromium 的浏览器(Chrome、Edge、Opera、Brave 等)中效果最佳。
# 操作系统和容器运行时要求
## 操作系统和容器运行时要求
Rancher 兼容当前所有的主流 Linux 发行版。
@@ -77,11 +77,11 @@ Rancher 需要安装在支持的 Kubernetes 版本上。如需了解你使用的
如需了解 RKE2 通过了哪些操作系统版本的测试,请参见[支持和维护条款](https://rancher.com/support-maintenance-terms/)。
# 硬件要求
## 硬件要求
本节描述安装 Rancher Server 的节点的 CPU、内存和磁盘要求。
# CPU 和内存
## CPU 和内存
硬件要求根据你的 Rancher 部署规模而定。请根据要求配置每个节点。通过单节点容器安装 Rancher,和在 Kubernetes 集群上安装 Rancher 的要求有所不同。
@@ -134,7 +134,7 @@ Rancher 需要安装在支持的 Kubernetes 版本上。如需了解你使用的
| 小 | 最多 5 个 | 最多 50 个 | 1 | 4 GB |
| 中 | 最多 15 个 | 最多 200 个 | 2 | 8 GB |
# Ingress
## Ingress
安装 Rancher 的 Kubernetes 集群中的每个节点都应该运行一个 Ingress。
@@ -148,11 +148,11 @@ Ingress 需要部署为 DaemonSet 以确保负载均衡器能成功把流量转
- **AKS**:[使用 Azure Kubernetes 服务安装 Rancher 以及如何安装 Ingress 以访问 Rancher Server](../getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md)。
- **GKE**:[使用 GKE 安装 Rancher 以及如何安装 Ingress 以访问 Rancher Server](../getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md)。
# 磁盘
## 磁盘
etcd 在集群中的性能决定了 Rancher 的性能。因此,为了获得最佳速度,我们建议使用 SSD 磁盘来支持 Rancher 管理的 Kubernetes 集群。在云提供商上,你还需使用能获得最大 IOPS 的最小大小。在较大的集群中,请考虑使用专用存储设备存储 etcd 数据和 wal 目录。
# 网络要求
## 网络要求
本节描述了安装 Rancher Server 的节点的网络要求。
@@ -170,6 +170,6 @@ etcd 在集群中的性能决定了 Rancher 的性能。因此,为了获得最
为了确保能正常运行,Rancher 需要在 Rancher 节点和下游 Kubernetes 集群节点上开放一些端口。不同集群类型的 Rancher 和下游集群的所有必要端口,请参见[端口要求](../getting-started/installation-and-upgrade/installation-requirements/port-requirements.md)。
# Dockershim 支持
## Dockershim 支持
有关 Dockershim 支持的详情,请参见[此页面](../getting-started/installation-and-upgrade/installation-requirements/dockershim.md)。
@@ -6,7 +6,7 @@ title: 设置指南
如果你使用 Istio 进行流量管理,则需要允许外部流量进入集群。在这种情况下,你将需要执行以下所有步骤。
# 先决条件
## 先决条件
本指南假设你已经[安装 Rancher](installation-and-upgrade.md),且已经[配置了一个单独的 Kubernetes 集群](kubernetes-clusters-in-rancher-setup.md)并要在该集群上安装 Istio。
@@ -14,8 +14,7 @@ title: 设置指南
Istio 控制的工作负载和服务必须满足 [Istio 要求](https://istio.io/docs/setup/additional-setup/requirements/)。
# 安装
## 安装
:::tip 快速设置提示:
@@ -11,7 +11,7 @@ title: Kubernetes 组件
- [nginx-proxy 节点故障排除](../troubleshooting/kubernetes-components/troubleshooting-nginx-proxy.md)
- [Worker 节点和通用组件故障排除](../troubleshooting/kubernetes-components/troubleshooting-worker-nodes-and-generic-components.md)
# Kubernetes 组件图
## Kubernetes 组件图
![集群图](/img/clusterdiagram.svg)<br/>
<sup>线条表示组件之间的通信。而颜色纯粹用于视觉辅助。</sup>
@@ -34,7 +34,7 @@ Rancher 还可以创建节点池。在托管在云厂商的节点池上安装 Ku
有关详细信息,请参阅[自定义节点](use-existing-nodes.md)。
# 以编程方式创建 RKE 集群
### 以编程方式创建 RKE 集群
通过 Rancher 以编程方式部署 RKE 集群的最常见方法是使用 Rancher 2 Terraform Provider。详情请参见[使用 Terraform 创建集群](https://registry.terraform.io/providers/rancher/rancher2/latest/docs/resources/cluster)。
@@ -75,6 +75,6 @@ RKE2 还支持在预配置的虚拟机或裸机节点上安装自定义集群。
如果要重复使用之前的自定义集群中的节点,请在复用之前清理节点。如果你重复使用尚未清理的节点,则集群配置可能会失败。
# 以编程方式创建 RKE2 集群
### 以编程方式创建 RKE2 集群
通过 Rancher 以编程方式部署 RKE2 集群的最常见方法是使用 Rancher 2 Terraform Provider。详情请参见[使用 Terraform 创建集群](https://registry.terraform.io/providers/rancher/rancher2/latest/docs/resources/cluster_v2)。
@@ -23,11 +23,11 @@ Monitoring 应用允许你:
- 根据 Prometheus 收集的指标,将预先计算的、经常需要的,或计算成本高的表达式定义为新的时间序列
- 通过 Prometheus Adapter,将从 Prometheus 收集的指标公开给 Kubernetes Custom Metrics API,以便在 HPA 中使用
# Monitoring 的工作原理
## Monitoring 的工作原理
有关 monitoring 组件如何协同工作的说明,请参阅[此页面](../integrations-in-rancher/monitoring-and-alerting/how-monitoring-works.md)。
# 默认组件和部署
## 默认组件和部署
### 内置仪表板
@@ -48,11 +48,11 @@ Monitoring 应用会默认部署一些告警。要查看默认告警,请转到
有关 Rancher UI 中公开的监控组件列表,以及编辑它们的常见用例,请参阅[本节](../integrations-in-rancher/monitoring-and-alerting/how-monitoring-works.md#rancher-ui-中公开的组件)。
# RBAC
## RBAC
有关配置 monitoring 访问权限的信息,请参阅[此页面](../integrations-in-rancher/monitoring-and-alerting/rbac-for-monitoring.md)。
# 指南
## 指南
- [启用 monitoring](../how-to-guides/advanced-user-guides/monitoring-alerting-guides/enable-monitoring.md)
- [卸载 monitoring](../how-to-guides/advanced-user-guides/monitoring-alerting-guides/uninstall-monitoring.md)
@@ -62,7 +62,7 @@ Monitoring 应用会默认部署一些告警。要查看默认告警,请转到
- [调试高内存使用率](../how-to-guides/advanced-user-guides/monitoring-alerting-guides/debug-high-memory-usage.md)
- [从 Monitoring V1 迁移到 V2](../how-to-guides/advanced-user-guides/monitoring-alerting-guides/migrate-to-rancher-v2.5+-monitoring.md)
# 配置
## 配置
### 在 Rancher 中配置 Monitoring 资源
@@ -79,7 +79,7 @@ Monitoring 应用会默认部署一些告警。要查看默认告警,请转到
有关 `rancher-monitoring` Chart 选项的更多信息,包括设置资源限制和请求的选项,请参阅[此页面](../reference-guides/monitoring-v2-configuration/helm-chart-options.md)。
# Windows 集群支持
## Windows 集群支持
如果 Monitoring 部署到 RKE1 Windows 集群,Monitoring V2 将自动部署 [windows-exporter](https://github.com/prometheus-community/windows_exporter) DaemonSet 并设置 ServiceMonitor,以从每个部署的 Pod 中收集指标。这将使用 `windows_` 指标填充 Prometheus,这些指标与 [node_exporter](https://github.com/prometheus/node_exporter) 为 Linux 主机导出的 `node_` 指标类似。
@@ -88,8 +88,7 @@ Monitoring 应用会默认部署一些告警。要查看默认告警,请转到
有关如何在现有 Windows 主机上升级 wins 版本的更多详细信息,请参阅 [Windows 集群对 Monitoring V2 的支持](../integrations-in-rancher/monitoring-and-alerting/windows-support.md)。
# 已知问题
## 已知问题
有一个[已知问题](https://github.com/rancher/rancher/issues/28787#issuecomment-693611821),即 K3s 集群需要更多的默认内存。如果你在 K3s 集群上启用 monitoring,我们建议将 `prometheus.prometheusSpec.resources.memory.limit` 设置为 2500 Mi,并将 `prometheus.prometheusSpec.resources.memory.request` 设置为 1750 Mi。
@@ -6,7 +6,7 @@ title: 配置
有关为 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#配置资源限制和请求)。
@@ -16,7 +16,7 @@ title: 配置
:::
# Prometheus 配置
## Prometheus 配置
通常不需要直接编辑 Prometheus 自定义资源。
@@ -31,7 +31,7 @@ title: 配置
有关直接编辑 Prometheus 自定义资源(对高级用例可能有帮助)的更多信息,请参阅[此页面](../how-to-guides/advanced-user-guides/monitoring-v2-configuration-guides/advanced-configuration/prometheus.md)。
# Alertmanager 配置
## Alertmanager 配置
Alertmanager 自定义资源通常不需要直接编辑。在常见用例中,你可以通过更新路由和接收器来管理告警。
@@ -12,6 +12,6 @@ Nutanix 集群可能由多组具有不同属性(例如内存或 vCPU 数量)
- [创建 Nutanix 集群](../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/nutanix/provision-kubernetes-clusters-in-aos.md#创建-nutanix-aos-集群)
- [配置存储](../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/nutanix/provision-kubernetes-clusters-in-aos)
# 创建 Nutanix 集群
## 创建 Nutanix 集群
在[本节](../how-to-guides/new-user-guides/launch-kubernetes-with-rancher/use-new-nodes-in-an-infra-provider/nutanix/provision-kubernetes-clusters-in-aos.md)中,你将学习如何使用 Rancher 在 Nutanix AOS 中安装 [RKE](https://rancher.com/docs/rke/latest/en/) Kubernetes 集群。
@@ -6,7 +6,7 @@ title: 使用 HTTP 代理安装 Rancher
另外,用户也可以在没有任何互联网访问的情况下离线设置 Rancher。详情请参见 [Rancher 官方文档](air-gapped-helm-cli-install.md)。
# 安装概要
## 安装概要
1. [配置基础设施](../getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/set-up-infrastructure.md)
2. [配置 Kubernetes 集群](../getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md)
@@ -17,19 +17,19 @@ Rancher 的 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)。
### Rancher 特权访问
## Rancher 特权访问
当 Rancher Server 部署在 Docker 容器中时,容器内会安装一个本地 Kubernetes 集群供 Rancher 使用。为 Rancher 的很多功能都是以 deployment 的方式运行的,而在容器内运行容器是需要特权模式的,因此你需要在安装 Rancher 时添加 `--privileged` 选项。
# 操作系统,Docker,硬件和网络要求
## 操作系统,Docker,硬件和网络要求
请确保你的节点满足常规的[安装要求](installation-requirements.md)。
# 1. 配置 Linux 主机
## 1. 配置 Linux 主机
按照[要求](installation-requirements.md)配置一个 Linux 主机,用于运行 Rancher Server。
# 2. 选择一个 SSL 选项并安装 Rancher
## 2. 选择一个 SSL 选项并安装 Rancher
出于安全考虑,使用 Rancher 时请使用 SSL(Secure Sockets Layer)。SSL 保护所有 Rancher 网络通信(如登录和与集群交互)的安全。
@@ -9,7 +9,7 @@ description: 要创建具有自定义节点的集群,你需要访问集群中
本节介绍如何设置自定义集群。
# 使用自定义节点创建集群
## 使用自定义节点创建集群
:::note 使用 Windows 主机作为 Kubernetes Worker 节点?
@@ -17,7 +17,6 @@ description: 要创建具有自定义节点的集群,你需要访问集群中
:::
### 1. 配置 Linux 主机
你可以通过配置 Linux 主机,来创建自定义集群。你的主机可以是:
@@ -130,7 +129,7 @@ Key=kubernetes.io/cluster/<CLUSTERID>, Value=owned
Key=kubernetes.io/cluster/CLUSTERID, Value=shared
```
# 可选的后续步骤
## 可选的后续步骤
创建集群后,你可以通过 Rancher UI 访问集群。最佳实践建议你设置以下访问集群的备用方式:
@@ -242,7 +242,7 @@ spec:
encryptionConfigSecretName: test-encryptionconfig
```
# 在 S3 中存储备份的凭证密文示例
## 在 S3 中存储备份的凭证密文示例
```yaml
apiVersion: v1
@@ -255,7 +255,7 @@ data:
secretKey: <Enter your base64-encoded secret key>
```
# EncryptionConfiguration 示例
## EncryptionConfiguration 示例
以下代码片段演示了两种不同类型的密文及其与自定义资源的备份和还原的相关性。
@@ -13,7 +13,7 @@ title: Rancher 管理 vSphere 集群的最佳实践
![解决方案概述](/img/solution_overview.drawio.svg)
# 1. 虚拟机注意事项
## 1. 虚拟机注意事项
### 利用虚拟机模板来构建环境
@@ -31,7 +31,7 @@ title: Rancher 管理 vSphere 集群的最佳实践
在部署节点时,请遵循 K8s 和 etcd 的最佳实践,其中包括禁用 swap,检查集群中的所有主机之间是否有良好的网络连接,为每个节点使用唯一的主机名、MAC 地址和 `product_uuids`。
# 2. 网络注意事项
## 2. 网络注意事项
### 利用 ETCD 节点之间的低延迟和高带宽连接
@@ -41,13 +41,13 @@ title: Rancher 管理 vSphere 集群的最佳实践
你可以为使用的所有节点都配置一个静态 IP。如果使用 DHCP,则每个节点都应该有一个 DHCP 预留,以确保节点分配到相同的 IP 地址。
# 3. 存储注意事项
## 3. 存储注意事项
### 在 ETCD 节点上使用 SSD 磁盘
ETCD 对写入延迟非常敏感。因此,你可以尽量使用 SSD 磁盘来提高写入性能。
# 4. 备份和灾难恢复
## 4. 备份和灾难恢复
### 定期备份下游集群
@@ -2,7 +2,7 @@
title: kubectl 实用程序
---
# kubectl
## kubectl
kubectl 用于与 Rancher 进行交互。
@@ -4,7 +4,7 @@ title: 架构推荐
如果你准备在单个节点上安装 Rancher,我们推荐你[分开部署 Rancher 与下游集群](#分开部署-rancher-与下游集群)。
# 分开部署 Rancher 与下游集群
## 分开部署 Rancher 与下游集群
下游集群,是运行你自己的应用和服务的下游 Kubernetes 集群。
@@ -14,7 +14,7 @@ title: 架构推荐
![分开部署 Rancher Server 与下游集群](/img/rancher-architecture-separation-of-rancher-server.svg)
# 为什么高可用(HA)更适合生产环境中的 Rancher
## 为什么高可用(HA)更适合生产环境中的 Rancher
我们建议在高可用 Kubernetes 集群上安装 Rancher Server,以保护 Rancher Server 的数据。在高可用安装中,负载均衡器充当客户端的单点入口,并在集群中的多台服务器之间分配网络流量,这有助于防止任何一台服务器成为单点故障。
@@ -36,7 +36,7 @@ title: 架构推荐
![运行 Rancher Management Server 的 RKE Kubernetes 集群的架构](/img/rke-server-storage.svg)
# Kubernetes 安装的负载均衡器推荐配置
## Kubernetes 安装的负载均衡器推荐配置
我们建议你为负载均衡器和 Ingress Controller 使用以下配置:
@@ -49,13 +49,13 @@ title: 架构推荐
![Rancher HA](/img/ha/rancher2ha.svg)
# Kubernetes 安装环境
## Kubernetes 安装环境
我们强烈建议你把 Rancher 安装到托管在云提供商(如 AWS EC2 和 Google Compute Engine(GCE)等)上的 Kubernetes 集群上。
为了达到最佳性能和安全性,我们建议你为 Rancher Management Server 创建一个专用的 Kubernetes 集群。不建议在此集群上运行用户工作负载。部署 Rancher 后,你可以[创建或导入集群](../../pages-for-subheaders/kubernetes-clusters-in-rancher-setup.md)来运行你的工作负载。
# Kubernetes 安装的推荐节点角色
## Kubernetes 安装的推荐节点角色
如果 Rancher 安装在 K3s Kubernetes 或 RKE Kubernetes 集群上,以下建议适用。
@@ -97,7 +97,7 @@ RKE 每个角色至少需要一个节点,但并不强制每个节点只能有
有关下游集群的最佳实践,请查看[生产环境清单](../../pages-for-subheaders/checklist-for-production-ready-clusters.md)或[最佳实践](../../pages-for-subheaders/best-practices.md)。
# 授权集群端点架构
## 授权集群端点架构
如果你使用[授权集群端点(ACE)](../../pages-for-subheaders/rancher-manager-architecture.md#4-授权集群端点),我们建议你创建一个指向负载均衡器的 FQDN,这个负载均衡器把流量转到所有角色为 `controlplane` 的节点。
@@ -75,7 +75,7 @@ Cluster Agent,也叫做 `cattle-cluster-agent`,是运行在下游集群中
如果 Rancher 出现问题,你需要使用此 kubeconfig 文件中定义的上下文来访问集群。因此,我们建议你导出 kubeconfig 文件,以便在 Rancher 出现问题时,仍能使用文件中的凭证访问集群。详情请参见使用 [kubectl 和 kubeconfig 文件](../../how-to-guides/new-user-guides/manage-clusters/access-clusters/use-kubectl-and-kubeconfig.md)访问集群的章节。
# 重要文件
## 重要文件
维护、排除问题和升级集群需要用到以下文件,请妥善保管这些文件:
@@ -87,7 +87,7 @@ Cluster Agent,也叫做 `cattle-cluster-agent`,是运行在下游集群中
有关在没有 Rancher 认证代理和其他配置选项的情况下连接到集群的更多信息,请参见 [kubeconfig 文件](../../how-to-guides/new-user-guides/manage-clusters/access-clusters/use-kubectl-and-kubeconfig.md)。
# 配置 Kubernetes 集群的工具
## 配置 Kubernetes 集群的工具
Rancher 使用什么工具配置下游集群,取决于集群的类型。
@@ -113,7 +113,7 @@ Rancher 使用 [kontainer-engine](https://github.com/rancher/kontainer-engine)
这种情况下,Rancher 需要连接到一个设置好的 Kubernetes 集群。因此,Rancher 不提供 Kubernetes,只设置 Rancher Agent 实现与集群通信。
# Rancher Server 组件和源码
## Rancher Server 组件和源码
下图展示了 Rancher Server 的组件:
@@ -8,11 +8,11 @@ title: 系统工具
:::
# 日志
## 日志
请使用 [logs-collector](https://github.com/rancherlabs/support-tools/tree/master/collection/rancher/v2.x/logs-collector) 来收集你的集群日志。
# Stats
## Stats
如果要复制 stats 命令,你可以在集群节点上运行以下命令:
@@ -26,6 +26,6 @@ title: 系统工具
/usr/bin/sar -u -r -F 1 1
```
# Remove
## Remove
请使用 [Rancher Cleanup](https://github.com/rancher/rancher-cleanup) 工具。
@@ -15,7 +15,7 @@
| [在 Rancher 无法访问集群时清理 Kubernetes 组件](../how-to-guides/new-user-guides/manage-clusters/clean-cluster-nodes.md) | ✓ | | | |
| [配置 Pod 安全策略](../how-to-guides/new-user-guides/manage-clusters/add-a-pod-security-policy.md) | ✓ | ✓ | |
1. 注册的 GKE 和 EKS 集群与从 Rancher UI 创建的 GKE 和 EKS 集群的可用选项一致。不同之处是,从 Rancher UI 中删除已注册的集群后,集群不会被销毁。
1. 注册的 EKS、GKE 和 AKS 集群与从 Rancher UI 创建的 EKS、GKE 和 AKS 集群的可用选项一致。不同之处是,从 Rancher UI 中删除已注册的集群后,集群不会被销毁。
2. 无法编辑已注册的集群的集群配置选项([K3s 和 RKE2 集群](../how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md)除外)。
@@ -4,7 +4,7 @@ title: Controlplane 节点故障排除
本文适用于具有 `controlplane` 角色的节点。
# 检查 controlplane 容器是否正在运行
## 检查 controlplane 容器是否正在运行
具有 `controlplane` 角色的节点上启动了三个容器:
@@ -26,7 +26,7 @@ f3d287ca4549 rancher/hyperkube:v1.11.5-rancher1 "/opt/rke-tools/en..."
bdf3898b8063 rancher/hyperkube:v1.11.5-rancher1 "/opt/rke-tools/en..." 3 hours ago Up 3 hours kube-controller-manager
```
# controlplane 容器日志记录
## controlplane 容器日志记录
:::note
@@ -42,7 +42,7 @@ docker logs kube-controller-manager
docker logs kube-scheduler
```
# RKE2 Server 日志
## RKE2 Server 日志
如果 Rancher 配置的 RKE2 集群无法与 Rancher 通信,你可以在下游集群中的 Server 节点上运行此命令,从而获取 RKE2 Server 日志:
@@ -4,7 +4,7 @@ title: nginx-proxy 故障排除
每个没有 `controlplane` 角色的节点上都部署了 `nginx-proxy` 容器。`nginx-proxy` 基于具有 `controlplane` 角色的可用节点来动态生成 NGINX 配置,从而提供对这些 `controlplane` 角色节点的访问。
# 检查容器是否正在运行
## 检查容器是否正在运行
该容器称为 `nginx-proxy`,它的状态应该是 `Up`。`Up` 后面显示的时间指的是容器运行的时间。
@@ -20,7 +20,7 @@ CONTAINER ID IMAGE COMMAND CREATED
c3e933687c0e rancher/rke-tools:v0.1.15 "nginx-proxy CP_HO..." 3 hours ago Up 3 hours nginx-proxy
```
# 检查生成的 NGINX 配置
## 检查生成的 NGINX 配置
生成的配置包括了具有 `controlplane` 角色的节点的 IP 地址。你可以使用以下命令来检查配置:
@@ -59,7 +59,7 @@ stream {
}
```
# nginx-proxy 容器日志记录
## nginx-proxy 容器日志记录
容器的日志记录可能包含问题的信息。
@@ -4,7 +4,7 @@ title: Worker 节点和通用组件故障排除
本文包括了运行在所有角色节点上的组件,因此适用于每个节点。
# 检查容器是否正在运行
## 检查容器是否正在运行
具有 `worker` 角色的节点上启动了两个容器:
@@ -24,7 +24,7 @@ CONTAINER ID IMAGE COMMAND
a30717ecfb55 rancher/hyperkube:v1.11.5-rancher1 "/opt/rke-tools/en..." 3 hours ago Up 3 hours kubelet
```
# 容器日志记录
## 容器日志记录
容器的日志记录可能包含问题的信息。
@@ -12,8 +12,10 @@ Rancher 使用了以下日志级别:
### 如何配置日志级别
* Kubernetes 安装
#### Kubernetes 安装
* 配置 debug 日志级别
```
$ KUBECONFIG=./kube_config_cluster.yml
$ kubectl -n cattle-system get pods -l app=rancher --no-headers -o custom-columns=name:.metadata.name | while read rancherpod; do kubectl -n cattle-system exec $rancherpod -c rancher -- loglevel --set debug; done
@@ -24,6 +26,7 @@ $ kubectl -n cattle-system logs -l app=rancher -c rancher
```
* 配置 info 日志级别
```
$ KUBECONFIG=./kube_config_cluster.yml
$ kubectl -n cattle-system get pods -l app=rancher --no-headers -o custom-columns=name:.metadata.name | while read rancherpod; do kubectl -n cattle-system exec $rancherpod -c rancher -- loglevel --set info; done
@@ -32,8 +35,10 @@ OK
OK
```
* Docker 安装
#### Docker 安装
* 配置 debug 日志级别
```
$ docker exec -ti <container_id> loglevel --set debug
OK
@@ -41,6 +46,7 @@ $ docker logs -f <container_id>
```
* 配置 info 日志级别
```
$ docker exec -ti <container_id> loglevel --set info
OK