OrangePi 5 Plus:为 K8s Cilium 定制内核

设备简介

OrangePi 5 Plus 16GB 版本,搭载 Rockchip RK3588 处理器。用于搭建 ARM K8s 集群。

配置

  • SoC: Rockchip RK3588
  • RAM: 16GB LPDDR4X
  • 存储: NVMe SSD
  • 网络: 2.5G 以太网 x2

目标

在 OrangePi 5 Plus 上运行 Kubernetes,使用 Cilium 作为 CNI。

遇到的问题

内核缺少 eBPF 支持

默认内核没有启用 Cilium 需要的 eBPF 功能:

# 检查 eBPF 支持
cilium status
# 报错:缺少必要的内核功能

定制内核编译

1. 获取内核源码

git clone https://github.com/armbian/linux-rockchip.git
cd linux-rockchip

2. 修改配置

需要启用的内核选项:

CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_CGROUP_BPF=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_ACT_BPF=y
CONFIG_BPF_EVENTS=y
CONFIG_NETFILTER_XT_MATCH_BPF=y

3. 编译安装

make -j$(nproc)
make modules_install
make install

Cilium 部署

# 安装 Cilium
helm install cilium cilium/cilium --namespace kube-system

性能表现

  • 8 核心处理多节点通信没问题
  • 16GB 内存足够运行多个 Pod
  • NVMe 存储 I/O 性能优秀

总结

OrangePi 5 Plus 是搭建 ARM K8s 集群的不错选择,但需要定制内核来支持高级网络功能。