Recent years have seen Kubernetes emerge as a primary choice for container orchestration. Kubernetes largely targets the cloud environment but new use cases require performant, available and scalable orchestration at the edge. Kubernetes stores all cluster state in etcd, a strongly consistent key-value store. We find that at larger etcd cluster sizes, offering higher availability, write request latency significantly increases and throughput decreases similarly. Coupled with approximately 30% of Kubernetes requests being writes, this directly impacts the request latency and availability of Kubernetes, reducing its suitability for the edge. We revisit the requirement of strong consistency and propose an eventually consistent approach instead. This enables higher performance, availability and scalability whilst still supporting the broad needs of Kubernetes. This aims to make Kubernetes much more suitable for performance-critical, dynamically-scaled edge solutions.
翻译:近年来,Kubernetes成为集装箱管弦的主要选择。Kubernetes主要针对云层环境,但新的使用案例需要在边缘进行性能、可用和可缩放的管弦。Kubernets将所有集状状态都储存在一个高度一致的关键值仓库内。我们发现,在较大的组群大小,提供更高的可用性、写请求的延时率大幅上升和吞吐量同样减少。加上大约30%的Kubernetes请求正在撰写,这直接影响了Kubernetes请求的延时率和可用性,降低了其对边缘的适宜性。我们重新审视了强烈一致性的要求,并提出了最终一致的方法。这可以提高性能、可用性和可缩放性,同时仍然支持Kubernets的广泛需求。这旨在使Kubernetes更适合对性要求的、动态缩放的边缘解决方案。