本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

Harvester节点驱动程序

Harvester节点驱动程序,类似于Docker Machine驱动程序,用于在SUSE Virtualization集群中配置虚拟机,并且Rancher使用它来启动和管理Kubernetes集群。

在由节点驱动程序托管的节点池上安装Kubernetes的一个好处是,如果某个节点与集群失去连接,Rancher可以自动创建另一个节点加入集群,以确保节点池的数量符合预期。 此外,Harvester节点驱动程序默认与Harvester云提供商集成,提供内置负载均衡器支持以及从裸机集群到来宾Kubernetes集群的存储直通,以获得本地存储性能。

在本节中,您将学习如何配置Rancher以使用Harvester节点驱动程序启动和管理Kubernetes集群。

Harvester节点驱动程序仅支持云镜像。这是因为ISO 映像通常需要额外的设置,这会干扰干净的部署(无需用户干预),并且它们通常不在云环境中使用。

Harvester节点驱动程序

从Rancher `v2.6.3`开始,Harvester节点驱动程序默认启用。您可以前往*集群管理* > 驱动程序 > *节点驱动程序*页面检查Harvester节点驱动程序的状态。

edit-node-driver

当Harvester节点驱动程序启用时,您可以在SUSE Virtualization集群上创建Kubernetes集群并从Rancher管理它们。

harvester-node-driver
  • 请参考 Rancher下游集群支持矩阵以获取其支持的RKE2版本和来宾操作系统版本。

  • 对Harvester节点驱动程序配置所做的更改不会被保留。任何应用的修改将在重新启动Rancher容器时重置。

  • 从Harvester节点驱动程序v0.6.3开始,已从后端移除`qemu-guest-agent`的自动注入。如果您使用的镜像不包含`qemu-guest-agent`软件包,您仍然可以通过`userdata`配置安装它。否则,集群将无法成功部署。

     #cloud-config
     package_update: true
     packages:
     - qemu-guest-agent
     runcmd:
     - - systemctl
       - enable
       - '--now'
       - qemu-guest-agent.service

已知问题

当相应的API词元过期时,Rancher失去管理或扩展来宾集群的能力。

问题: #5827

描述:Rancher 使用嵌入式身份验证令牌的 kubeconfigs 来在 SUSE Virtualization 上配置来宾 Kubernetes 集群。当这些词元过期时,Rancher 将失去对相应 Rancher 管理的来宾 Kubernetes 集群执行管理操作的能力。此问题仅影响在 SUSE Virtualization 上运行并使用在安装或升级到 Rancher v2.8.x 后创建的云凭据的来宾 Kubernetes 集群,该版本将 kubeconfig-default-token-ttl-minutes 设置以及 auth-token-max-ttl-minutes 设置分别减少到 30 天和 90 天。

状态:有一个 临时解决方法 可用。

上次更新:2024-05-21

RKE2 Kubernetes 集群

K3s Kubernetes 集群

拓扑扩展约束

在您的来宾 Kubernetes 集群中,您可以使用 拓扑扩展约束 来管理工作负载在节点之间的分布,考虑到例如区域和可用区等故障域因素。这有助于实现 SUSE Virtualization 集群资源的高可用性和高效资源利用。

对于 v1.25.x 之前的 RKE2 版本,支持拓扑标签同步功能的最低要求版本如下:

最低要求 RKE2 版本

>= v1.24.3+rke2r1

>= v1.23.9+rke2r1

>= v1.22.12+rke2r1

此外,对于自定义安装,Harvester 云提供程序版本应为 >= v0.1.4

将拓扑标签同步到来宾集群节点

在集群安装期间,Harvester 节点驱动程序将自动帮助将拓扑标签从虚拟机节点同步到来宾集群节点。目前,仅支持 regionzone 拓扑标签。

  1. 在 SUSE Virtualization 节点上配置拓扑标签,路径为 主机 > 编辑配置 > 标签 页面。例如,添加拓扑标签如下:

    topology.kubernetes.io/region: us-east-1
    topology.kubernetes.io/zone: us-east-1a
    node add affinity labels
  2. 使用启用 Harvester 云提供程序的 Harvester 节点驱动程序创建下游 RKE2 集群。我们建议添加 节点亲和性规则,以防止节点在虚拟机重建后漂移到其他区域。

    create rke2 harvester cluster 3
  3. 集群准备好后,请确认这些拓扑标签已成功同步到来宾 Kubernetes 集群上的节点。

  4. 现在在您的来宾 Kubernetes 集群上部署工作负载,您应该能够使用 拓扑扩展约束 来管理它们。

对于 Harvester 云提供程序 >= v0.2.0,当虚拟机(对应于来宾节点)进行迁移或更新时,SUSE Virtualization 节点上的拓扑标签将自动重新同步。

对于 Harvester 云提供程序 < v0.2.0,标签同步仅在来宾节点初始化期间发生。为了防止节点漂移到不同的区域或可用区,我们建议在集群配置期间添加 节点亲和性规则。这将允许您在重建后仍然在同一区域调度虚拟机。