在 Rancher 中设置 Kubernetes 集群
Rancher 允许你通过 Rancher UI 来创建集群,从而简化了集群的创建流程。Rancher 提供了多种启动集群的选项。你可以选择最适合你的用例的选项。
本节默认你已对 Docker 和 Kubernetes 有一定的了解。如果你需要了解 Kubernetes 组件如何协作,请参见 Kubernetes 概念。
有关 Rancher Server 配置集群的方式,以及使用什么工具来创建集群的详细信息,请参阅产品架构。
不同类型集群的管理功能
下表总结了每一种类型的集群和对应的可编辑的选项和设置:
操作 | Rancher 启动的 Kubernetes 集群 | EKS, GKE 和 AKS 集群1 | 其他托管的 Kubernetes 集群 | 非 EKS 或 GKE 注册集群 |
---|---|---|---|---|
使用 kubectl 和 kubeconfig 文件来访问集群 | ✓ | ✓ | ✓ | ✓ |
管理集群成员 | ✓ | ✓ | ✓ | ✓ |
编辑和升级集群 | ✓ | ✓ | ✓ | ✓2 |
管理节点 | ✓ | ✓ | ✓ | ✓3 |
管理持久卷和存储类 | ✓ | ✓ | ✓ | ✓ |
管理项目、命名空间和工作负载 | ✓ | ✓ | ✓ | ✓ |
使用应用目录 | ✓ | ✓ | ✓ | ✓ |
配置工具 (Alerts, Notifiers, Monitoring, Logging, Istio) | ✓ | ✓ | ✓ | ✓ |
运行安全扫描 | ✓ | ✓ | ✓ | ✓ |
轮换证书 | ✓ | ✓ | ||
备份 和 恢复 Rancher 启动的集群 | ✓ | ✓ | ✓4 | |
在 Rancher 无法访问集群时清理 Kubernetes 组件 | ✓ | |||
配置 Pod 安全策略 | ✓ | ✓ |
注册的 EKS、GKE 和 AKS 集群与从 Rancher UI 创建的 EKS、GKE 和 AKS 集群的可用选项一致。不同之处是,从 Rancher UI 中删除已注册的集群后,集群不会被销毁。
无法编辑已注册的集群的集群配置选项,K3s 和 RKE2 集群除外。
Rancher UI 为已注册的集群节点提供了封锁、清空和编辑节点的功能。
对于使用 etcd 作为 controlplane 的注册集群,必须在 Rancher UI 之外手动创建快照以用于备份和恢复。
在托管的 Kubernetes 提供商中设置集群
在这种情况下,Rancher 不会配置 Kubernetes,因为它是由 Google Kubernetes Engine (GKE)、Amazon Elastic Container Service for Kubernetes 或 Azure Kubernetes Service 等提供商安装的。
如果你使用 Kubernetes 提供商,例如 Google GKE,Rancher 将与对应的云 API 集成,允许你从 Rancher UI 为托管集群创建和管理 RBAC。
详情请参阅托管 Kubernetes 集群。
使用 Rancher 启动 Kubernetes
在你自己的节点上配置 Kubernetes 时,Rancher 使用 Rancher Kubernetes Engine (RKE) 作为库。RKE 是 Rancher 自己的轻量级 Kubernetes 安装程序。
在 RKE 集群中,Rancher 管理 Kubernetes 的部署。这些集群可以部署在任何裸机服务器、云提供商或虚拟化平台上。
这些节点可以通过 Rancher 的 UI 动态配置,该 UI 调用 Docker Machine 在各种云提供商上启动节点。
如果你已经有一个想要添加到 RKE 集群的节点,你可以通过在节点上运行 Rancher Agent 容器将节点添加到集群中。
有关详细信息,请参阅 RKE 集群。
在基础设施提供商中启动 Kubernetes 并配置节点
Rancher 可以在 Amazon EC2、DigitalOcean、Azure 或 vSphere 等基础设施提供商中动态配置节点,然后在节点上安装 Kubernetes。
使用 Rancher,你可以基于节点模板创建节点池。此模板定义了要在云提供商中启动的节点的参数。
使用由基础设施提供商托管的节点的一个好处是,如果一个节点与集群失去连接,Rancher 可以自动替换它,从而维护集群配置。
Rancher UI 中状态为 Active 的主机驱动决定了可用于创建节点模板的云提供商。
如需更多信息,请参阅基础设施提供商托管的节点。
在现有自定义节点上启动 Kubernetes
在设置这种类型的集群时,Rancher 会在现有的自定义节点上安装 Kubernetes,从而创建一个自定义集群。
你可以使用任何节点,在 Rancher 中创建一个集群。
这些节点包括本地裸机服务器、云托管虚拟机或本地虚拟机。
注册现有集群
集群注册功能取代了导入集群的功能。
注册 EKS 集群的优点更多。在大多数情况下,注册的 EKS 集群和在 Rancher 中创建的 EKS 集群在 Rancher UI 中的处理方式相同(除了删除)。
删除在 Rancher 中创建的 EKS 集群后,该集群将被销毁。删除在 Rancher 中注册的 EKS 集群时,它与 Rancher Server 会断开连接,但它仍然存在。你仍然可以像在 Rancher 中注册之前一样访问它。
详情请参见本页面。
以编程方式创建集群
通过 Rancher 以编程方式部署 Kubernetes 集群的最常见方法是使用 Rancher 2 Terraform Provider。详情请参见使用 Terraform 创建集群。
你可以使用 Terraform 创建或导入 EKS、GKE、AKS 集群和 RKE 集群。