工作笔记 · 2023年5月30日 0

kubernetes ,ingress ,traefik

背景

公司装的kubernetes 是1.14 ,版本比较低,因为是之前的运维搞的一个版本,也不知道有没有什么特别的考虑,还有对于现在 整个 jenkins的发布都已经成型,也不好随便更换,所以必须沿用这个版本

突然的状况

某一天测试环境的服务器宕机,我们是用一个物理机虚拟了N个虚拟机,物理机宕机,导致所有虚拟机宕机,重启物理机,虚拟机的服务要逐一排查,最后发现ingress traefik 没有启动,导致 有一套系统无法运行

学习到的知识

keepalived

这个软件非常牛逼,c语言写的,部署好以后,可以在服务器的网卡附加一个ip,master-backup 主从漂移虚拟ip几乎做到秒级别

ingress

ingress是kubernetes的一个总体概念,有控制方和规则使用方

先说新版本的traefik 2.x以后的,已经采用了ingress router 实现路由机制,但是低版本的k8s不支持,因为k8s的标准api 资源里面没有 ingress router,所以还是采用了traefik的1.7版本

部署traefik的步骤 ,由于是低版本部署,先rbac,deployment方式部署—hostNetwork=true, 增加要给ui的ignress,,最后,创建项目的ingress

traefik的 1.x版本和 2.x版本 的 部署yaml脚本 的配置项有很大的差异,,,官方文档,各种教学视频,都没有一个能做个对比说明,大部分都是说2.0版本的

而且2.0版本的 的官方 的 yaml 文档 有 crd,rbac,deployment 等等yaml,但是要配合k8s 起码1.19+的版本,起码我这个 1.14不行

说实话。。。traefik的官网的yaml说明估计 还算正确,照着做估计没问题,可惜版本不兼容

还有个 控制器是 nginx的 版本,应该nginx的版本估计也是 我采用的 k8s版本低,也是各种配置完成后的无法实现。。很郁闷

小小的心得:一个新的知识,或许要每天看别人怎么介绍,,哪怕是版本不一样,也要去看,求同存异的总结。