使用K8s部署 ikuai-exporter,监控爱快 A100-P,对接 Prometheus+Grafana 实现可视化监控。实现家庭网络监控
ikuai
软路由系统 (iKuai OS)
免费使用的专业级路由系统,可安装在 x86/ARM 架构设备上 (如老旧电脑、工控机)被誉为 "软路由三件套" 之一 (与 OpenWrt、RouterOS 齐名),在国内市场占有率高
本次我使用的是ikuai企业级A100-P作为演示

效果图展示如下

前提条件
目前爱快路由器支持mib,即可以通过snmp_exporter进行监控数据,我这里选择更简单的Exporter,只需要对接用户名密码及地址即可
- Kubernetes 1.29.9
- iKuai 系统
作者项目地址https://github.com/tossp/ikuai-exporter/
安装ikuai exporter
本次安装namespace为tools
这里使用Kubernetes安装,我将用户名和密码放在secret中
Secret 需要使用base64加密
#用户名
echo -n "admin" | base64
密码
echo -n "123456"| base64
将加密的密码及用户名放到Secret中
apiVersion: v1
kind: Secret
metadata:
name: ikuai-exporter-secret
namespace: tools # 统一命名空间为tools
labels:
app: ikuai-exporter
type: Opaque
data:
# 以下为示例编码值,需替换为你实际账号密码的Base64编码
IK_USER: YWRtaW4= # "admin" 的Base64编码(echo -n "admin" | base64)
IK_PWD: ***** # "路由器密码" 的Base64编码(echo -n "Haomima123.." | base64)
创建Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: ikuai-exporter
namespace: tools
labels:
app: ikuai-exporter
spec:
replicas: 1
selector:
matchLabels:
app: ikuai-exporter
template:
metadata:
labels:
app: ikuai-exporter
spec:
containers:
- name: ikuai-exporter
image: tossp/ikuai-exporter:1.2
imagePullPolicy: IfNotPresent
# 环境变量配置:非敏感变量直接定义,敏感变量从Secret读取
env:
- name: IK_URL
value: "http://192.168.21.1" # 直接嵌入爱快地址
- name: IK_USER
valueFrom:
secretKeyRef:
name: ikuai-exporter-secret # 关联上面创建的Secret
key: IK_USER
- name: IK_PWD
valueFrom:
secretKeyRef:
name: ikuai-exporter-secret
key: IK_PWD
# 健康检查(建议保留)
livenessProbe:
httpGet:
path: /metrics
port: 9090
initialDelaySeconds: 10
periodSeconds: 30
readinessProbe:
httpGet:
path: /metrics
port: 9090
initialDelaySeconds: 5
periodSeconds: 10
# 资源限制(按需调整)
resources:
requests:
cpu: 10m
memory: 32Mi
limits:
cpu: 50m
memory: 64Mi
ports:
- containerPort: 9090
name: metrics
protocol: TCP
创建svc
apiVersion: v1
kind: Service
metadata:
name: ikuai-exporter
namespace: tools
labels:
app: ikuai-exporter
spec:
type: ClusterIP # 仅集群内访问,需外部访问可改为NodePort/LoadBalancer
selector:
app: ikuai-exporter
ports:
- name: metrics
port: 9090
targetPort: metrics
protocol: TCP
创建所有文件
root@k8s-master-01:~/ikuai-exporter# kubectl apply -f .
deployment.apps/ikuai-exporter created
secret/ikuai-exporter-secret created
service/ikuai-exporter created
查看Pod和SVC状态
root@k8s-master-01:~/ikuai-exporter# kubectl get pod,svc -n tools|grep ikuai
pod/ikuai-exporter-568f7d6d97-4tvvr 0/1 Running 0 14s
service/ikuai-exporter ClusterIP 10.96.1.165 <none> 9459/TCP 14s
查看启动Pod日志
root@k8s-master-01:~/ikuai-exporter# kubectl logs -f -n tools ikuai-exporter-6d6588d899-zfkvz
2025/12/23 02:22:14 iKuai Exporter v1.1.3
2025/12/23 02:22:14 exporter v1.1.3 started at :9090
2025/12/23 02:22:20 session timeout: try to login
2025/12/23 02:22:20 successfully login, re-try to meter states

如果镜像拉取失败,可以考虑使用abcdocker提供镜像加速地址https://i4t.com/dockerproxy
访问http://svc:9090/metrics 就可以看到数据,代表Exporter启动成功

scrape_configs:
- job_name: 'ikuai_exporter'
scrape_interval: 2s
scrape_timeout: 2s
relabel_configs:
- source_labels: [__address__]
target_label: instance
- target_label: __address__
replacement: 10.96.1.165:9090 # exporter地址,写内网svc
static_configs:
- targets:
- 192.168.21.1
最后效果图如下

接下来重载Prometheus,就可以看到ikuai-exporter

Grafana 模板导入
接下来我们导入Grafana模板
ID22756



最终效果图













