Kubernetes automates the deployment of containerized applications on server infrastructures (and in the cloud). Services (or microservices) are packaged in Pods and placed on Virtual Machines (Nodes). In scenarios involving several interconnected high-traffic (i.e. high-affinity) services, determining which services to colocate within the same Node influences both the application’s execution time and operational costs. The proposed scheduling policy takes a placement decision based on fuzzy clustering. In addition to placing high-affinity services in the same Node, high-affinity services can run in more than one instance (Pods) in different Nodes. Experimental results show that fuzzy scheduling achieves up to 30% response time savings and up to 90% savings in Egress traffic compared to deployment with the default Kubernetes scheduler, without significantly impacting operational costs.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Scheduling High-Affinity Services in Kubernetes

  • Vasileios Skevakis,
  • Euripides G. M. Petrakis

摘要

Kubernetes automates the deployment of containerized applications on server infrastructures (and in the cloud). Services (or microservices) are packaged in Pods and placed on Virtual Machines (Nodes). In scenarios involving several interconnected high-traffic (i.e. high-affinity) services, determining which services to colocate within the same Node influences both the application’s execution time and operational costs. The proposed scheduling policy takes a placement decision based on fuzzy clustering. In addition to placing high-affinity services in the same Node, high-affinity services can run in more than one instance (Pods) in different Nodes. Experimental results show that fuzzy scheduling achieves up to 30% response time savings and up to 90% savings in Egress traffic compared to deployment with the default Kubernetes scheduler, without significantly impacting operational costs.