一次openelb-can_reach配置导致的故障排查
背景 问题 解决 dive deeper 参考 背景 openelb配置阶段需要配置一个EIP Custom Resource对象,作为LB ip的IP池。 在EIP对象的spec里,有一个字段叫做interface,需要配置openelb相应arp请求的网卡。通常配置和eip对应的网卡名称即可。 但是在kubernetes集群中,有时会出现多个node同一网段对应的网卡名称不一样的情况。因此
背景 问题 解决 dive deeper 参考 背景 openelb配置阶段需要配置一个EIP Custom Resource对象,作为LB ip的IP池。 在EIP对象的spec里,有一个字段叫做interface,需要配置openelb相应arp请求的网卡。通常配置和eip对应的网卡名称即可。 但是在kubernetes集群中,有时会出现多个node同一网段对应的网卡名称不一样的情况。因此
意外发现 bug分析 为什么是/ 灾后重建 参考 意外发现 3月8日,我在google搜索etcd相关的信息,一个网页标题吸引了我的注意力,按照通常对这种标题党内容的认知,大概率里面不会有什么有用的信息,但是还是忍不住好奇心点了进去一探究竟。 结果没想到这个贴子里提到的bug恰好也存在于我司使用的kubekey版本中。 bug分析 简单概括这个bug的引发原因,也是一句看起来标题党的内容:一
需求 实现 参考 需求 修改了kube-scheduler(1.21)代码,需要编译新的二进制。并且由于使用的容器方式部署,最好直接生成镜像。 实现 #脚本会从这个环境变量获取镜像的tag,且必须符合语义化版本号规则 export KUBE_GIT_VERSION=v1.21.5 KUBE_BUILD_PLATFORMS=linux/amd64 KUBE_BUILD_CONFORMANCE=n
背景 解决思路 k8s调度器资源管理代码分析 启动时的资源扣减 调度结果确定后的资源扣减 方案3实现 参考 背景 项目中使用了内核的Isolcpus功能隔离CPU核心,然后通过扩展调度器和修改kubelet,实现了特定pod对隔离CPU的独享绑定使用。 但是最近发现一个设计之初没考虑到的大问题: 我们使用注解来标记pod对隔离cpu的需求,但是数量还是沿用了k8s默认的QOS体系。即扩展调
背景 项目内CRD 非项目内CRD step by step guide 代码框架 镜像构建 集群部署 验证 总结:证书问题 参考 背景 kubebuilder对webhook的支持主要基于同样用kubebuilder构建的CRD,而对于非kubebuilder项目内构建的类型,还是需要一些work around来实现webhook的构建。 项目内CRD 对于kubebuilder项目生成
问题描述 问题复现 定位分析 尝试解决 综合解决方案 参考 问题描述 kubekey部署Kubernetes集群时,高可用方案可以选择使用kubeVip实现。 其原理类似于keepalived+lvs,在每个master node上跑一个pod,通过leader election实现vip的绑定和故障转移。 同时类似于kube-proxy的service的实现,用ipvs实现api