Rancher Monitoring Kubernetes Dashboard 显示 No Data 排查记录

在 local 集群中安装 Rancher Monitoring 后,Grafana 中查看 Kubernetes 下的 Dashboard 显示 No data:

  • Kubernetes / Compute Resources / Pod
  • Kubernetes / Compute Resources / Cluster
  • Kubernetes / Compute Resources / Workload

与此同时,Rancher 下的 Pod、Node 等 Dashboard 能正常显示数据。

Read more

Longhorn v1 Data Engine 使用实践

Longhorn 是一款专为 Kubernetes 设计的云原生分布式存储系统,提供简单易用且高可靠的持久化存储能力。

本文基于 Longhorn v1 Data Engine 进行实践。

Read more

RKE2 + Cilium + kubeProxyReplacement + NodeLocalDNS + LRP 使用注意事项

在使用以下配置组合时,不同 RKE2 版本可能会遇到不同问题,本文对已知问题进行总结:

  • RKE2 使用 Cilium CNI
  • Cilium 启用 kubeProxyReplacement
  • 使用 RKE2 CoreDNS 的 nodelocal.enabled 配置开启 NodeLocalDNS
  • 使用 RKE2 CoreDNS 的 nodelocal.use_cilium_lrp 配置创建 Cilium LocalRedirectPolicy(LRP),将集群 DNS 的流量重定向至本节点的 node-local-dns Pod

在 Cilium 完全替代 kube-proxy 后,ClusterIP 流量由 eBPF 在进入 Pod 网络栈前处理,传统 NodeLocalDNS 依赖的 iptables 截获方式不再适用,因此需要使用 LRP。

Read more

通过 ManagedOSImage 升级 Rancher Elemental 节点

ManagedOSImage 资源用于定义需要应用到一组目标集群中各节点的操作系统镜像或镜像版本。

可以使用其来对 Elemental 节点进行 OS 升级,以及升级过程中新配置的下发。

Read more

Rancher Monitoring Node Exporter with Kube RBAC Proxy

通过 Rancher Monitoring 部署的 Node Exporter,默认会监听节点的 9796 端口。

通常情况下,任何能够访问节点 9796 端口的客户端,都可能读取 Node Exporter 暴露的指标数据,这在很多环境中不符合安全要求。

可以通过启用 Kube RBAC Proxy,将 Node Exporter 收口到 127.0.0.1:8100,对外的 9796 端口使用 HTTPS,并通过 Kubernetes TokenReview 和 SubjectAccessReview 进行身份验证与 RBAC 授权。

Read more

Rancher 收集 Profile 文件

Rancher 通过匿名导入 Go 标准库 net/http/pprof,并使用默认 HTTP mux 监听 127.0.0.1:6060。

Profile 文件可用于性能分析。当 Rancher 出现性能问题时,例如 CPU 使用率异常高、内存持续上涨、Goroutine 数量异常增加等,可以通过以下方式收集 Profile 文件进行分析。

Read more

基于 RKE2 与 NVIDIA Tesla P4 的 HAMi 使用实践

HAMi 是一个用于管理 Kubernetes 集群中异构 AI 计算设备的开源平台。其前身为 k8s-vGPU-scheduler,可在多个容器和工作负载之间实现设备共享。

本文基于 RKE2 和 NVIDIA Tesla P4 进行测试,同时使用 GPU Operator 在 GPU 节点上自动安装驱动和 NVIDIA Container Toolkit。

Read more