Prometheus监控Calico网络CNI¶
Calico网络 是Kubernetes上常用的CNI,在生产环境中也有很多应用。官方提供了 Monitor Calico component metrics 结合到 Prometheus 中进行监控: 通过calico的metrics获取Calico组件的健康度:
组件:
Felix
: 运行在每台实现网络策略(network policy)的主机上,Felix
是Calico的大脑Typha
: 一组可选pod,扩展了Felix
以扩展Calico节点和数据存储之间的流量kube-controllers
: 控制器组件,负责各种控制平面功能,例如资源垃圾收集以及和Kubernetes API之间同步
可以配置 Felix
, Typha
和/或 kube-congrollers
来提供metrics给Prometheus
准备工作¶
可以使用 kubectl
或 calicoctl
来修改 Calico网络 配置:
注意,要使用
kubectl
来配置calico
,必须在集群运行一个calico
API Server,这样 API Server会允许你管理projectcalico.org/v3
api组的资源。可以任何能够访问Calico数据存储的网络节点上使用
calicoctl
来管理projectcalico.org/v3
API组
配置¶
使用以下两个命令之一完成 Felix
Metrics 激活:
(我没有采用该方法)使用 安装kubectl 激活
Felix
metrics:kubectl patch felixconfiguration default --type merge --patch '{"spec":{"prometheusMetricsEnabled": true}}'
使用
calicoctl
激活Felix
metrics:calicoctl patch felixconfiguration default --patch '{"spec":{"prometheusMetricsEnabled": true}}'
注意,直接执行 calicoctl get felixconfiguration
会提示需要明确 etcd - 分布式kv存储 endpoints ,所以实际操作应该采用以下命令检查:
calicoctl get felixconfiguration