Microservice scheduling
A method for containerized workload scheduling can include determining a network state for a first hypervisor in a virtual computing cluster (VCC). The method can further include determining a network state for a second hypervisor. Containerized workload scheduling can further include deploying a container to run a containerized workload on a virtual computing instance (VCI) deployed on the first hypervisor or the second hypervisor based, at least in part, on the determined network state for the first hypervisor and the second hypervisor.
1. A method for containerized workload scheduling, comprising:
determining, at a scheduling agent of a virtual computing cluster (VCC), a network state for:
a first hypervisor in the VCC; and
a second hypervisor in the VCC;
wherein the network state is based at least in part on information derived from network traffic of the VCC;
determining a latency associated with execution of an application corresponding to the containerized workload; and
deploying, by the scheduling agent, a container to run a containerized workload on a virtual computing instance (VCI) deployed on the first hypervisor or the second hypervisor based, at least in part, on the determined network state for the first hypervisor and the second hypervisor and on a determination that the latency associated with execution of the application has exceeded a threshold application latency value.
2. The method of claim 1 , further comprising determining a network state for the first hypervisor and the second hypervisor using a data collection agent running on the first hypervisor or the second hypervisor.
3. The method of claim 1 , wherein determining the network state for the first hypervisor and the second hypervisor further comprises determining a tunnel state corresponding to at least one of the first hypervisor and the second hypervisor, and wherein deploying the container on the VCI is further based, at least in part, on the determined tunnel state for the first hypervisor and the second hypervisor.
4. The method of claim 1 , wherein deploying the container on the VCI is further based, at least in part, on a determination that a containerized workload ranking score generated by a data collection agent running on the first hypervisor or the second hypervisor is lower for the hypervisor on which the VCI is deployed.
5. The method of claim 1 , wherein deploying the container on the VCI is further based, at least in part, on a determination that a ratio of elephant flows to mice flows executed in the VCC falls within a predetermined range.
6. The method of claim 1 , wherein determining the network state for the first hypervisor and the second hypervisor further comprises determining interference information corresponding to non-containerized resources running in the VCC, and wherein deploying the container on the first hypervisor or the second hypervisor is further based, at least in part, on the determined interference information.
7. A method for containerized workload scheduling, comprising:
determining, at a scheduling agent of a virtual computing cluster (VCC), a network state for:
a first hypervisor in the VCC; and
a second hypervisor in the VCC;
wherein the network state is based at least in part on information derived from network traffic of the VCC, wherein the determining the network state for the first hypervisor and the second hypervisor further comprises:
determining interference information corresponding to noncontainerized resources running in the VCC; and
deploying, by the scheduling agent, a container to run a containerized workload on a virtual computing instance (VCI) deployed on the first hypervisor or the second hypervisor based, at least in part, on the determined network state for the first hypervisor and the second hypervisor and on the determined interference information.
8. The method of claim 7 , further comprising determining a network state for the first hypervisor and the second hypervisor using a data collection agent running on the first hypervisor or the second hypervisor.
9. The method of claim 7 , wherein determining the network state for the first hypervisor and the second hypervisor further comprises determining a tunnel state corresponding to at least one of the first hypervisor and the second hypervisor, and wherein deploying the container on the VCI is further based, at least in part, on the determined tunnel state for the first hypervisor and the second hypervisor.
10. The method of claim 7 , wherein deploying the container on the VCI is further based, at least in part, on a determination that a containerized workload ranking score generated by a data collection agent running on the first hypervisor or the second hypervisor is lower for the hypervisor on which the VCI is deployed.
11. The method of claim 7 , wherein deploying the container on the VCI is further based, at least in part, on a determination that a ratio of elephant flows to mice flows executed in the VCC falls within a predetermined range.
12. The method of claim 7 , further comprising determining a latency associated with execution of an application corresponding to the containerized workload, wherein deploying the container on the VCI is further based, at least in part, on a determination that the latency associated with execution of the application has exceeded a threshold application latency value.
13. A method for containerized workload scheduling, comprising:
determining, at a scheduling agent of a virtual computing cluster (VCC), a network state for:
a first hypervisor in the VCC; and
a second hypervisor in the VCC;
wherein the network state is based at least in part on information derived from network traffic of the VCC, wherein the determining the network state for the first hypervisor and the second hypervisor further comprises:
determining a tunnel state corresponding to at least one of the first hypervisor and the second hypervisor; and
deploying, by the scheduling agent, a container to run a containerized workload on a virtual computing instance (VCI) deployed on the first hypervisor or the second hypervisor based, at least in part, on the determined tunnel state for the first hypervisor and the second hypervisor.
14. The method of claim 13 , further comprising determining a network state for the first hypervisor and the second hypervisor using a data collection agent running on the first hypervisor or the second hypervisor.
15. The method of claim 13 , wherein deploying the container on the VCI is further based, at least in part, on a determination that a containerized workload ranking score generated by a data collection agent running on the first hypervisor or the second hypervisor is lower for the hypervisor on which the VCI is deployed.
16. The method of claim 13 , wherein deploying the container on the VCI is further based, at least in part, on a determination that a ratio of elephant flows to mice flows executed in the VCC falls within a predetermined range.
17. The method of claim 13 , further comprising determining a latency associated with execution of an application corresponding to the containerized workload, wherein deploying the container on the VCI is further based, at least in part, on a determination that the latency associated with execution of the application has exceeded a threshold application latency value.
18. The method of claim 13 , wherein determining the network state for the first hypervisor and the second hypervisor further comprises determining interference information corresponding to non-containerized resources running in the VCC, and wherein deploying the container on the first hypervisor or the second hypervisor is further based, at least in part, on the determined interference information.