Add version 2.9 preview

This commit is contained in:
Billy Tat
2024-05-28 15:47:56 -07:00
parent 2611f98cbb
commit 1da04754f0
1003 changed files with 151079 additions and 0 deletions
@@ -0,0 +1,11 @@
---
title: 架构
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/integrations-in-rancher/fleet/architecture"/>
</head>
Fleet 可以管理来自 Git 的原始 Kubernetes YAML、Helm Chart、Kustomize 或三者的任何组合的部署。无论来源如何,所有资源都会动态转化为 Helm Chart,并使用 Helm 作为引擎来部署到集群中的所有内容。这为你提供了高度的控制力、一致性和可审计性。Fleet 不仅关注扩展能力,而且还提供高度的控制和可见性,从而让用户准确了解集群上安装的内容。
![架构](/img/fleet-architecture.svg)
@@ -0,0 +1,27 @@
---
title: 使用 Fleet 进行持续交付
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/integrations-in-rancher/fleet"/>
</head>
Fleet 通过集群 Fleet 的供应链协调和管理应用程序的持续交付。Fleet 使用 GitOps 作为一种安全的运营模式,组织供应链,帮助团队及时自信地交付。
## Fleet 和 Rancher
许多用户经常同时管理 10 个以上的集群。鉴于集群的激增,持续交付是 Rancher 的重要组成部分。Fleet 使用 GitOps 确保可靠的持续交付体验,这是一种安全且越来越常见的运营模式。
### 我什么时候应该使用 Fleet?
- 我需要跨地理区域部署我的监控堆栈(例如 Grafana、Prometheus),每个区域都有不同的保留策略。
- 我是一名平台运营商,希望使用可扩展且安全的操作模型(GitOps)为集群配置所有组件。
- 我是一名应用程序开发人员,希望我的最新更改自动进入我的开发环境。
## Fleet 和 Rancher Prime
Fleet 已经作为持续交付工具和 GitOps 引擎深度集成到 Rancher 中。
<!--
- In future, we can have additional value adds like sharding controller (Manage shards for user) or notification controller (Event dispatcher/receiver) for prime customer only.
-->
@@ -0,0 +1,67 @@
---
title: 概述
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/integrations-in-rancher/fleet/overview"/>
</head>
使用 Fleet 进行持续交付是大规模的 GitOps。Fleet 旨在管理多达一百万个集群。它也足够轻量级,对于[单个集群](https://fleet.rancher.io/installation#default-install)也很有效,但当你达到[大规模](https://fleet.rancher.io/installation#configuration-for-multi-cluster)时,它真的会大放异彩。大规模是指单个组织中的大量集群、大量部署或大量团队。
Fleet 是 Rancher 的一个独立项目,可以通过 Helm 安装在任何 Kubernetes 集群上。
## 架构
有关 Fleet 如何运作的信息,请参阅[架构](./architecture)页面。
## 在 Rancher UI 中访问 Fleet
Fleet 预安装在 Rancher 中,并由 Rancher UI 中的**持续交付**选项进行管理。有关持续交付和其他 Fleet 故障排除技巧的更多信息,请参阅[此处](https://fleet.rancher.io/troubleshooting)。
用户可以按照 **gitops** 实践,利用持续交付将应用程序部署到 git 仓库中的 Kubernetes 集群,而无需任何手动操作。
按照以下步骤在 Rancher UI 中访问持续交付:
1. 单击 **☰ > 持续交付**。
1. 在菜单顶部选择命名空间 ,注意以下事项:
- 默认情况下,选择 **fleet-default**,包括通过 Rancher 注册的所有下游集群。
- 你可以切换到 **fleet-local**,它仅包含 **local** 集群,或者你可以创建自己的工作空间,将集群分配和移动到其中。
- 然后,你可以通过单击左侧导航栏上的**集群**来管理集群。
1. 单击左侧导航栏上的 **Gitrepos**,将 gitrepo 部署到当前工作空间的集群中。
1. 选择 [git 仓库](https://fleet.rancher.io/gitrepo-add)和[目标集群/集群组](https://fleet.rancher.io/gitrepo-targets)。你也可以通过单击左侧导航栏中的**集群组**在 UI 中创建集群组。
1. 部署 gitrepo 后,你可以通过 Rancher UI 监控应用程序。
## Windows 支持
有关对具有 Windows 节点的集群的支持的详细信息,请参阅 [Windows 支持](./windows-support)页面。
## GitHub 仓库
Fleet Helm charts 可在[此处](https://github.com/rancher/fleet/releases)获取。
## 在代理后使用 Fleet
有关在代理后面使用 Fleet 的详细信息,请参阅[在代理后使用 Fleet](./use-fleet-behind-a-proxy) 页面。
## Helm Chart 依赖
为了成功部署具有依赖项的 Helm Chart,你必须运行一个手动命令(如下所示),因为用户需要满足依赖列表。如果不执行此操作,继续克隆你的仓库并运行 `helm install`,则会因依赖项丢失而导致安装失败。
git 仓库中的 Helm Chart 必须在 Chart 子目录中包含其依赖。 你必须手动运行 `helm dependencies update $chart` 或在本地运行 `helm dependencies build $chart`,然后将完整的 Chart 目录提交到 git 仓库。请注意,你需要使用适当的参数更新你的命令。
## 故障排除
- **已知问题**:Fleet gitrepos 的 clientSecretName 和 helmSecretName 密文不包含在 [backup-restore-operator](../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/back-up-rancher.md#1-install-the-rancher-backup-operator) 创建的备份或恢复中。一旦有永久的解决方案,我们将更新社区内容。
- **临时解决方法**:默认情况下,用户定义的密文不会在 Fleet 中备份。如果执行灾难恢复或将 Rancher 迁移到新集群,则有必要重新创建密文。要修改 ResourceSet 以包含要备份的额外资源,请参阅文档[此处](https://github.com/rancher/backup-restore-operator#user-flow)。
## 文档
Fleet 文档位于 https://fleet.rancher.io/ 。
@@ -0,0 +1,58 @@
---
title: 在代理后使用 Fleet
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/integrations-in-rancher/fleet/use-fleet-behind-a-proxy"/>
</head>
在本节中,你将学习如何在具有公共 IP 的 Rancher 服务器,以及一个没有公共 IP 但配置为使用代理的 Kubernetes 集群的设置中启用 Fleet。
Rancher 不会与已注册的下游集群建立连接。部署在下游集群上的 Rancher agent 必须能够与 Rancher 建立连接。
要让 Fleet 在代理后工作,你需要为下游集群设置 **Agent 环境变量**。以下是集群级别的配置选项。
你可以通过 Rancher UI 为任何集群类型(包括注册集群和自定义集群)配置这些环境变量。可以在编辑现有集群或配置新集群时添加变量。
对于公共下游集群,[在 Rancher UI 中设置必要的环境变量](#在-rancher-ui-中设置环境变量)就足够了。
对于私有节点或私有集群,则需要在节点上设置环境变量。然后,在配置自定义集群或注册私有集群时,在 Rancher UI 中配置环境变量。有关如何在 K3s 集群中的 Ubuntu 节点上设置环境变量的示例,请参阅[本节](#在私有节点上设置环境变量)。
## 必要的环境变量
为代理添加 Fleet agent 环境变量时,将 <PROXY_IP> 替换为你的私有代理 IP。
| 变量名称 | 值 |
| ------------- | ----------------------------------------------------------------------- |
| `HTTP_PROXY` | http://<PROXY_IP>:8888 |
| `HTTPS_PROXY` | http://<PROXY_IP>:8888 |
| `NO_PROXY` | 127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local |
## 在 Rancher UI 中设置环境变量
要将环境变量添加到现有集群:
1. 单击 **☰ > 集群管理**。
1. 转到要添加环境变量的集群,然后单击 **⋮ > 编辑配置**。
1. 单击**高级选项**。
1. 单击**添加环境变量**。
1. 输入[必要的环境变量](#必要的环境变量)
1. 单击**保存**。
**结果:** Fleet agent 会在代理后工作。
## 在私有节点上设置环境变量
对于私有节点和私有集群,需要在节点本身上设置代理环境变量,并在 Rancher UI 中进行配置。
此示例显示了如何在 K3s 集群中的 Ubuntu 节点上设置环境变量:
```
ssh -o ForwardAgent=yes ubuntu@<public_proxy_ip>
ssh <k3s_ip>
export proxy_private_ip=<private_proxy_ip>
export HTTP_PROXY=http://${proxy_private_ip}:8888
export HTTPS_PROXY=http://${proxy_private_ip}:8888
export NO_PROXY=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
```
@@ -0,0 +1,25 @@
---
title: Windows 支持
---
<head>
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/integrations-in-rancher/fleet/windows-support"/>
</head>
在 Rancher v2.5.6 之前,`agent` 在具有 Windows 节点的下游集群上没有原生的 Windows 清单。这将导致集群的 `agent` pod 运行失败。
如果你从旧版本的 Rancher 升级到 v2.5.6+,你可以在 _下游集群_ 中部署具有以下工作流的可运行的 `agent`:
1. 封锁所有 Windows 节点。
1. 对 `agent` 工作负载应用以下容忍度。
1. 取消所有 Windows 节点的封锁。
1. 删除所有 `agent` pod。使用新的容忍度来创建新 pod。
1. 一旦 `agent` pod 运行,并且 Fleet 的自动更新已启用,它们会更新到兼容 Windows 的 `agent` 版本。
```yaml
tolerations:
- effect: NoSchedule
key: cattle.io/os
operator: Equal
value: linux
```