一次metallb lb ip不通问题排查

问题表现 初步排查 进一步排查 破案 分析 总结 参考 问题表现 有一个三节点的k8s集群,根据业务网络规划,除了每台机器上一张网卡给k8s用,还需要为每台机器配置网桥和另一块网卡。 其中一个节点的netplan配置如下所示: network: version: 2 renderer: networkd ethernets: # k8s用的网卡 ens3:

- 阅读全文 -

metallb代码梳理-layer2模式

背景 初始化 核心逻辑 免费arp arp reply 选node 网卡过滤 updateInterfaces 如何知道哪个speaker在代理arp 参考 背景 本文主要梳理metallb layer2模式下ipv4的相关代码,旨在理解其工作流程。本文的代码分析以v0.13.10版本作为目标。 初始化 metallb部署后,如果使用的是layer2模式,那么核心起作用的有两个容器,一

- 阅读全文 -

openelb-layer2模式service中断问题

问题表现 排查:切入 排查:为什么能通 排查:为什么不通 排查:arp表项中端口错误 关于交换机 进一步思考 问题1 问题2[TBC] 问题3 问题解决 参考 来自你的消息: 来自 ChatGPT 的消息: 问题表现 openelb部署配置了layer2模式,在开发环境一切正常。 来到生产环境后,测试反馈lb service有时能ping通,有时又ping不通 排查:切入 首先服务不是

- 阅读全文 -

为何statefulset管理的pod会卡在pending状态

问题 代码 最新版本 workaround 进一步思考 再进一步 参考 问题 接到测试同事反馈的一个小问题: 创建一个statefulset,container resource req明显过大,超过任何节点的allocatable值,此时pod会卡在pending状态 edit上述statefuleset,将resource req改为合理的显然可调度的值 此时预期pending pod会

- 阅读全文 -

kubernetes-client总结

代码库 client-go RESTclient Clientset DynamicClient DiscoveryClient controller-runtime里的client client-gen kubeconfig 参考 代码库 k8s.io/client-go:本文以0.25.3为例 k8s.io/apimachinery:公共数据结构 client-go RES

- 阅读全文 -

一次openelb多网卡配置问题导致的奇怪现象排查

问题 排查 代码分析 解决 启示 参考 问题 3节点集群,每个节点有多块网卡。部署了openelb,并配置了和node同网段的IP池供LB使用。 接到测试同事反映,集群里的lb service分到的ip有的可以ping通并访问业务,但是有的却不能ping通。 排查 一开始怀疑ip冲突,在交换机上确认后发现不能访问的ip并没有被占用。 于是在同网段的其他机器上安装了arp-scan,扫描下arp

- 阅读全文 -