Optimal pod management to meet defined target objectives
Optimal pod management is provided. A pod-warm component located on a host node is directed to trigger generation of a pod snapshot image of a pod in an optimal state running on the host node in response to determining that the pod has attained the optimal state. An input is received to instantiate a second instance of the pod on the host node in response to detecting that one or more of a plurality of pod performance metrics have exceeded a corresponding maximum pod performance metric threshold level. The pod-warm component located on the host node is directed to instantiate the second instance of the pod fully warm in the optimal state on the host node using the pod snapshot image of the pod to decrease startup time of the pod and increase performance of the host node.
1 . A computer-implemented method for optimal pod management, the computer-implemented method comprising:
generating, by a computer, a group of pod performance curves corresponding to a pod of a host node on a pod optimization graph based on analysis of pod performance metrics that correspond to the pod, wherein the pod optimization graph shows a relationship between time and pod activation;
selecting, by the computer, certain pod performance curves of the group of pod performance curves to form a set of pod performance curves based on predicted service request load and defined target objectives corresponding to the pod;
generating, by the computer, a plurality of performance curves corresponding to the pod based on the set of pod performance curves;
determining, by the computer, an optimal state of the pod that meets the defined target objectives corresponding to the pod based on a path of maximum energy with minimum noise closest to all of the plurality of performance curves for the pod;
directing, by the computer, a pod-warm component located on the host node to trigger generation of a pod snapshot image of the pod in the optimal state running on the host node for instantiation of the pod on the host node in response to determining that the pod attained the optimal state;
receiving, by the computer, an input to instantiate a second instance of the pod on the host node in response to detecting that one or more of a plurality of pod performance metrics have exceeded a corresponding maximum pod performance metric threshold level; and
directing, by the computer, the pod-warm component located on the host node to instantiate the second instance of the pod fully warm in the optimal state on the host node using the pod snapshot image of the pod to decrease startup time of the pod and increase performance of the host node.
2 . The computer-implemented method of claim 1 , further comprising:
receiving, by the computer, the plurality of pod performance metrics corresponding to the pod running on the host node from the pod-warm component located on the host node; and
determining, by the computer, that the pod has attained the optimal state based on analyzing the plurality of pod performance metrics corresponding to the pod received from the pod-warm component located on the host node.
3 . The computer-implemented method of claim 1 , further comprising:
performing, by the computer, the analysis of the pod performance metrics corresponding to operation of a microservice provided by a containerized application running in the pod of the host node received from the pod-warm component.
4 . The computer-implemented method of claim 1 , further comprising:
generating, by the computer, a look ahead projection of time points on the pod optimization graph that intersect with each performance curve of the plurality of performance curves corresponding to the pod at different points in time, each of the time points that intersects with each of the plurality of performance curves corresponding to the pod at the different points in time form a plurality of pod performance intersections corresponding to the plurality of performance curves on the pod optimization graph.
5 . The computer-implemented method of claim 4 , further comprising:
selecting, by the computer, a set of pod performance intersections from the plurality of pod performance intersections corresponding to the plurality of performance curves for the pod that corresponds to a shape approximate representing a global activation gradient for the pod; and
determining, by the computer, an energy level of each pod performance intersection of the set of pod performance intersections corresponding to the plurality of performance curves for the pod that corresponds to the shape approximate representing the global activation gradient for the pod based on Kalman filtering.
6 . The computer-implemented method of claim 5 , further comprising:
generating, by the computer, a look ahead curve that traces the path of maximum energy with minimum noise closest to all of the plurality of performance curves for the pod based on the energy level determined for each pod performance intersection of the set of pod performance intersections corresponding to the plurality of performance curves; and
performing, by the computer, recursive curve fitting of the look ahead curve over a time period to decrease curve fitment error to identify the path of maximum energy with minimum noise closest to all of the plurality of performance curves for the pod.
7 . A computer system for optimal pod management, the computer system comprising:
a communication fabric;
a storage device connected to the communication fabric, wherein the storage device stores program instructions; and
a processor connected to the communication fabric, wherein the processor executes the program instructions to:
generate a group of pod performance curves corresponding to a pod of a host node on a pod optimization graph based on analysis of pod performance metrics that correspond to the pod, wherein the pod optimization graph shows a relationship between time and pod activation;
select certain pod performance curves of the group of pod performance curves to form a set of pod performance curves based on predicted service request load and defined target objectives corresponding to the pod;
generate a plurality of performance curves corresponding to the pod based on the set of pod performance curves;
determine an optimal state of the pod that meets the defined target objectives corresponding to the pod based on a path of maximum energy with minimum noise closest to all of the plurality of performance curves for the pod;
direct a pod-warm component located on the host node to trigger generation of a pod snapshot image of the pod in the optimal state running on the host node for instantiation of the pod on the host node in response to determining that the pod attained the optimal state;
receive an input to instantiate a second instance of the pod on the host node in response to detecting that one or more of a plurality of pod performance metrics have exceeded a corresponding maximum pod performance metric threshold level; and
direct the pod-warm component located on the host node to instantiate the second instance of the pod fully warm in the optimal state on the host node using the pod snapshot image of the pod to decrease startup time of the pod and increase performance of the host node.
8 . The computer system of claim 7 , wherein the processor further executes the program instructions to:
receive the plurality of pod performance metrics corresponding to the pod running on the host node from the pod-warm component located on the host node; and
determine that the pod has attained the optimal state based on analyzing the plurality of pod performance metrics corresponding to the pod received from the pod-warm component located on the host node.
9 . The computer system of claim 7 , wherein the processor further executes the program instructions to:
perform the analysis of the pod performance metrics corresponding to operation of a microservice provided by a containerized application running in the pod of the host node received from the pod-warm component.
10 . The computer system of claim 7 , wherein the processor further executes the program instructions to:
generate a look ahead projection of time points on the pod optimization graph that intersect with each performance curve of the plurality of performance curves corresponding to the pod at different points in time, each of the time points that intersects with each of the plurality of performance curves corresponding to the pod at the different points in time form a plurality of pod performance intersections corresponding to the plurality of performance curves on the pod optimization graph.
11 . A computer program product for optimal pod management, the computer program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to:
generate a group of pod performance curves corresponding to a pod of a host node on a pod optimization graph based on analysis of pod performance metrics that correspond to the pod, wherein the pod optimization graph shows a relationship between time and pod activation;
select certain pod performance curves of the group of pod performance curves to form a set of pod performance curves based on predicted service request load and defined target objectives corresponding to the pod;
generate a plurality of performance curves corresponding to the pod based on the set of pod performance curves;
determine an optimal state of the pod that meets the defined target objectives corresponding to the pod based on a path of maximum energy with minimum noise closest to all of the plurality of performance curves for the pod;
direct a pod-warm component located on the host node to trigger generation of a pod snapshot image of the pod in the optimal state running on the host node for instantiation of the pod on the host node in response to determining that the pod attained the optimal state;
receive an input to instantiate a second instance of the pod on the host node in response to detecting that one or more of a plurality of pod performance metrics have exceeded a corresponding maximum pod performance metric threshold level; and
direct the pod-warm component located on the host node to instantiate the second instance of the pod fully warm in the optimal state on the host node using the pod snapshot image of the pod to decrease startup time of the pod and increase performance of the host node.
12 . The computer program product of claim 11 , wherein the program instructions further cause the computer to:
receive the plurality of pod performance metrics corresponding to the pod running on the host node from the pod-warm component located on the host node; and
determine that the pod has attained the optimal state based on analyzing the plurality of pod performance metrics corresponding to the pod received from the pod-warm component located on the host node.
13 . The computer program product of claim 11 , wherein the program instructions further cause the computer to:
perform the analysis of the pod performance metrics corresponding to operation of a microservice provided by a containerized application running in the pod of the host node received from the pod-warm component.
14 . The computer program product of claim 11 , wherein the program instructions further cause the computer to:
generate a look ahead projection of time points on the pod optimization graph that intersect with each performance curve of the plurality of performance curves corresponding to the pod at different points in time, each of the time points that intersects with each of the plurality of performance curves corresponding to the pod at the different points in time form a plurality of pod performance intersections corresponding to the plurality of performance curves on the pod optimization graph.
15 . The computer program product of claim 14 , wherein the program instructions further cause the computer to:
select a set of pod performance intersections from the plurality of pod performance intersections corresponding to the plurality of performance curves for the pod that corresponds to a shape approximate representing a global activation gradient for the pod; and
determine an energy level of each pod performance intersection of the set of pod performance intersections corresponding to the plurality of performance curves for the pod that corresponds to the shape approximate representing the global activation gradient for the pod based on Kalman filtering.
16 . The computer program product of claim 15 , wherein the program instructions further cause the computer to:
generate a look ahead curve that traces the path of maximum energy with minimum noise closest to all of the plurality of performance curves for the pod based on the energy level determined for each pod performance intersection of the set of pod performance intersections corresponding to the plurality of performance curves; and
perform recursive curve fitting of the look ahead curve over a time period to decrease curve fitment error to identify the path of maximum energy with minimum noise closest to all of the plurality of performance curves for the pod.