最近在开发cni网络插件,遇到容器访问service的loadbalancer地址不通。但是访问pod、service、node的地址都是通的。
cni插件无法访问service的loadbalancer ip
kubelet没有container metric指标排查过程
背景: 有两个版本的kubernetes 1.18.20和1.21.8,kubelet使用systemd启动并且相同启动参数,kubernetes v1.21版本中没有容器相关数据,而v1.18版本确有容器相关监控数据。操作系统是centos7。
探索knative里根据路径转发和header转发解决方案
目前knative v1.1.0版本还是基于域名进行转发流量到服务。
而大多数使用场景是:
- 服务对外域名一般都是固定的,而且可能有多个。
- 服务一般都是在域名的某一路径下面,即一个域名由多个服务组成。
- 灰度基于多个header头之间
andor关系。
下面讨论如何实现这些需求
kubelet podConfig--提供kubelet运行pod
kubelet中的podConfig是用来汇聚多个pod来源,对多个pod源中的pod信息进行聚合处理(去重、分析出pod发生的变化)。如果源里的pod发生变化,podConfig会将变化更新聚合,生成各类型的PodUpdate消息发送到PodUpdate通道。
kubernetes里的event事件生成机制
当要排查集群中某个问题时候,一般通过两种方式来排查问题。一种是查看各个组件日志,确定问题;另一个是通过apiserver获取event事件,根据event事件分析出,某个组件做了什么动作。