环境
3节点master 8c 16g,4节点node 8c 32g
k8s 1.18.8 etcd 3.5.0
使用kubemark 模拟400节点,集群pod数量4000+,观察etcd,master压力及响应情况
Kubemark介绍
kubemark是K8S官方给出的性能测试工具,能够利用相当小的资源,模拟出一个大规模K8S集群。其主要架构如图所示:需要一个外部 K8S集群(external cluster,需要带有worker节点)以及一套完整的kubemark master控制面(可以是单节点也可以是多节点),即另外一个 K8S集群(kubemark集群),但是该只有master节点,没有worker节点。我们需要在external cluster中部署运行hollow pod,这些pod会主动向kubemark集群中的master注册,成为kubemark集群中的 hollow node(虚拟节点)。然后我们就可以在kubemark集群中进行性能测试。虽然与真实集群的稍微有点误差,不过可以代表真实集群的数据。
Kubemark准备
本次测试不使用两个集群,使用同一集群进行测试
1、 下载指定版本k8s源码
2、 Yum安装go环境,默认go1.16.13
3、 编译kubemark二进制文件
./hack/build-go.sh cmd/kubemark/ 输出在_output/bin/目录下,复制二进制文件到/kuber