基于 RKE2 与 NVIDIA Tesla P4 的 HAMi 使用实践
HAMi 是一个用于管理 Kubernetes 集群中异构 AI 计算设备的开源平台。其前身为 k8s-vGPU-scheduler,可在多个容器和工作负载之间实现设备共享。
本文基于 RKE2 和 NVIDIA Tesla P4 进行测试,同时使用 GPU Operator 在 GPU 节点上自动安装驱动和 Nvidia Container Toolkit。
基于 RKE2 与 NVIDIA Tesla P4 的 HAMi 使用实践
HAMi 是一个用于管理 Kubernetes 集群中异构 AI 计算设备的开源平台。其前身为 k8s-vGPU-scheduler,可在多个容器和工作负载之间实现设备共享。
本文基于 RKE2 和 NVIDIA Tesla P4 进行测试,同时使用 GPU Operator 在 GPU 节点上自动安装驱动和 Nvidia Container Toolkit。
RKE2 通过 fake-gpu-operator 使用 HAMi
fake-gpu-operator 可以在 CPU 节点上模拟 nvidia.com/gpu 资源。在没有真实 GPU 的情况下,可以用于了解 HAMi 组件组成,并验证 GPU Pod 的调度流程。
参考资料:https://project-hami.io/zh/tutorials/labs/local-fake-gpu
通过 Rancher 创建的 RKE2 和 K3s 集群支持开启 Authorized Cluster Endpoint(ACE)。
开启 ACE 后,用户可以通过集群 API Server 的 FQDN 直接访问下游集群,而无需经过 Rancher 代理转发。
Rancher Monitoring Pushprox 端口监听问题
Rancher Monitoring 会通过 PushProx 获取 kube-controller-manager、kube-scheduler 等 Kubernetes 组件的 Metrics。
其中,9369 端口是 pushprox-client 在启用 hostNetwork 后默认监听的 Metrics 端口。默认情况下,可以通过节点 IP 和该端口访问 PushProx 的 Metrics。
NeuVector 包含用于 Manager(控制台/UI 访问)、Controller(REST API、内部通信)、Enforcer(内部通信)和 Scanner(内部通信)的通信加密证书。
NeuVector v5.4.2 及更高版本要求在使用 NeuVector 前生成/替换内部证书。2025 年 3 月之后,NeuVector v5.4.2 之前的版本也要求在使用 NeuVector 前生成/替换内部证书。
参考文档:https://open-docs.neuvector.com/5.4/deploying/production/internal
Rancher 生成 kubeconfig 使用 FQDN 时出现报错问题
通过 Rancher 创建的 RKE、RKE2、K3s 集群均支持开启 Authorized Cluster Endpoint(ACE)。开启 ACE 后,Rancher 生成的 kubeconfig 可以将上下文切换为 FQDN,从而直接访问下游 RKE、RKE2 或 K3s 集群,无需通过 Rancher 进行代理转发。
开启 ACE 后,下游集群会在 cattle-system 命名空间中运行 kube-api-auth 服务。当 kubeconfig 上下文切换为 FQDN 时,集群 API Server 会通过 kube-api-auth 作为 Webhook 进行身份验证。
在实际环境中,集群可能同时使用多个泛域名,例如:
*.warnerchen.com*.avatar-poc.k8s.warnerchen.com不同泛域名需要绑定不同的 TLS 证书。基于 RKE2 默认集成的 Traefik,并启用 Kubernetes Gateway API,可以通过配置多个 listener 来实现按域名匹配证书。
RKE2 安装脚本在基于 YUM 的操作系统上,默认会采用 RPM 方式安装 rke2-server。由于 Kylin 中缺少 container-selinux 依赖包,会导致 rke2-server 安装失败:


NeuVector 通过 Response Rules 抑制告警
NeuVector 默认内置了一些网络规则。当这些规则被命中并触发告警时,某些告警可能不会提供 Review Rule 按钮用于直接加白。如果该告警属于误报(即应用的正常行为),就可能持续产生大量告警,从而造成告警噪音。

Rancher Elemental 升级报错 error calling index: index of untyped nil
通过 Rancher UI 升级 Elemental 的时候(Helm Upgrade),出现如下报错:

删除手动创建的 Channel,就能正常完成升级。