使用 K8S 几年后,这些技术专家有话要说( 十 )

虎牙直播高级开发工程师王玉君分析了虎牙直播应用 K8S 的背景以及目前实践的一些思考。虎牙现在有一些 K8S 集群是搭建在公有云平台上的,目前用到了腾讯云、阿里云、AWS。对比这三家,腾讯云 TKE 可以大幅节约成本。比如说一台虚拟机上跑 10 个容器和跑 30 个容器是有本质差别的。虎牙当时也实践了不同的平台,在腾讯云 TKE 上,一台虚拟机可以跑到将近 40 个容器,它还可以提供更多的密度。

通常情况下,K8S 如果直接提供给业务方,API 等方面用起来不是很方便,包括一些 CI/CD 的流程,如果没有把业务打通,用户是不愿意迁移上来的,因为要考虑自己的应用性成本,包括后期的部署,一些变更的成本等。虎牙一站式服务可以实现从代码编译到部署,所有的环节都帮助用户在页面上实现,用户只要在页面上点一下,就可以在很短的时间内把新版本发布。

之前有用户不愿意上云,担心业务被其他人影响。虎牙使用了TC 限速策略,做了一些容器的限速,有稍微的改动。如下图所示,左边底下这些三角形是容器,出向限速在左边,右边是入向限速,底下蓝色的方框是 TC 的模块。如果这个网卡是 1000M,左边这个图有两个方块,虎牙做了一些优化。因为机房用 BGP 的模式,要保证它有一个独享的带宽,不能被其它所干扰,否则对路由有影响。右边这部分就通过 filter 分给不同的容器,然后有一些不同的策略。右边这一块只是限出不限入,也是用开源的方案,通过一个网卡转发,网卡数据包进来,再出去,通过限制网卡的出速,相当于限制了容器进来的速度。

推荐阅读