Kubernetes学习(hostPort劫持了我的请求)
最近排查了一个kubernetes中使用了hostport后遇到比较坑的问题,奇怪的知识又增加了.
最近排查了一个kubernetes中使用了hostport后遇到比较坑的问题,奇怪的知识又增加了.
最近发生一件很诡异的事情, 某个ns下的pods会莫名其妙地被删了, 困扰了好一阵子,排查后发现问题的起因还是挺有意思。
AI场景跟大多数的业务不太一样的是: 网络端需要尽可能地靠近,对于大多数业务来说,为了保证其可用性,一般副本都会分散地部署在不同node,而AI业务通常伴随着海量的数据交换,一个job中的多个pod需要协同处理,如果分散在多个node上,task间的任务交换的快慢就得依赖于网络的传输的快慢,而如果是在一台node上的话,那就没有这部分的消耗,一个job中的pods如何做到尽可能地调度在同一台机器上呢, kube-batch除了能够支持poggroup外,也是能够支持的podaffinit的.
前面记录的都是在现有的集群中如何基于infiniband实现集群中的pod同时能够拥有两个网络, 其中一些实现细节并没有展开,个人觉得还是有必要再总结总结.
这次把sriov+infinitband部署期间遇到的问题做一个总结,给有需要的同学做个参考.
上回简单介绍了下技术背景,这次真正进入实践阶段,之前提到过,sriov是需要硬件支持, 一般开启sriov需要在IBOS中进行设置,这个根据服务器型号不同而操作不同, 具体可参考官网.
在HPC场景下,底层网络的性能直接影响最终的结果,HPC往往会伴随海量的数据交换,特别是在跨Node之间,10Gb的以太网网络传输肯定要比100Gb的IB网络传输慢,本人所负责的训练平台也是如此,在一次训练过程中,GPU存在海量数据交换,虽然是在GPU之间,但本质还是通过网络进行传输,但是以太网的传输在HPC场景下往往显得不那么高效,因此可以通过RDMA或者如果预算够的话,通过硬件IB实现数据交换,能大大提高训练质量
在HPC场景下,底层网络的性能直接影响最终的结果,HPC往往会伴随海量的数据交换,特别是在跨Node之间,10Gb的以太网网络传输肯定要比100Gb的IB网络传输慢,本人所负责的训练平台也是如此,在一次训练过程中,GPU存在海量数据交换,虽然是在GPU之间,但本质还是通过网络进行传输,但是以太网的传输在HPC场景下往往显得不那么高效,因此可以通过RDMA或者如果预算够的话,通过硬件IB实现数据交换,能大大提高训练质量
kong在v1.3的版本原生支持了grpc协议, 这里说说使用kong来代理多个grpc请求.
最近由于业务需要,在做一些关于国产化相关的事情,需要将平台从x86架构迁移到arm64上run起来,最重要的环节则在于镜像都需要rebuild一遍,在这个过程中还是碰到一些问题,拿出来分享一下,希望对其他人会有所帮助.