Kubernetes is a container management system that has many automated functionalities. Those functionalities are managed by configuring objects and resources in the control plane. Since most objects change their state depending on other objects' states, a change propagates to other objects in a chain. As cluster availability is influenced by the time required for these cascading changes, it is essential to make the propagations measurable and shed light on the behavior of the Kubernetes control plane. However, it is not easy because each object constantly monitors other objects' status and acts autonomously in response to their changes to play its role. In this paper, we propose a measurement system that outputs objects' change logs published from the API server in the control plane and assists in analyzing the time of cascading changes between objects by utilizing the relationships among resources. With a practical change scenario, our system is confirmed that it can measure change propagation times within a cascading change. Also, measurements on the system itself showed it has a small CPU and memory footprint.
翻译:Kubernetes是一种容器管理系统,具有许多自动化功能。这些功能通过配置控制平面中的对象和资源进行管理。由于大多数对象的状态依赖于其他对象的状态,因此一个变化会以链式方式传播到其他对象。由于集群可用性受这些级联变化所需时间的影响,因此有必要使传播过程可测量,并揭示Kubernetes控制平面的行为特征。然而,这并不容易,因为每个对象会持续监控其他对象的状态,并根据其变化自主行动以发挥自身作用。本文提出了一种测量系统,该系统输出控制平面中API服务器发布的变更日志,并利用资源间的关系辅助分析对象间级联变化的时间。通过实际的变化场景,验证了该系统能够测量级联变化中的变化传播时间。同时,对系统本身的测量结果表明,其CPU和内存占用较小。