Managing workload requests on Kubernetes clusters based on dynamic requests to a cloud provider and methods and systems for the same
AssigneeT-Mobile USA, Inc.
InventorJustin Carl Hopper
Life of this patent
Estimating the term…
Abstract
Systems and methods for management of workloads within container orchestration systems associated with cloud systems are disclosed herein. A first request for at least one additional node from a cloud provider can be transmitted. Based on the first request, a first set of one or more node addresses can be received. Control plane network connections between control plane nodes can be configured. A workload processing request can be received. Based on generating an estimate of required resources for the workload processing request, a second request for at least one additional node can be transmitted. Based on receiving a second plurality of node identifiers, a worker node group can be configured.
Claims20
A system for flexibly managing workloads on Kubernetes clusters, the system comprising:
- a non-transitory, computer-readable medium storing instructions that are executable by one or more processors;
- and
- a first node provisioned by a cloud provider, designated as a control plane node, and configured to:
- prior to receiving a workload processing request:
- receive, from a user device, a cluster generation request comprising cluster creation information including at least one of (1) a number of nodes requested, (2) a node-type request, or (3) cluster storage requirements;
- determine that the cluster generation request is missing information for cluster creation;
- in response to determining that the cluster generation request is missing information, generate a user request for the user device to request the missing information;
- transmit, based on the cluster generation request and the missing information responsive to the user request, a first request for at least one additional node provisioned by the cloud provider,
- wherein the first request includes at least one of:
- a certificate, a request for a node load-balancer, one or more binaries, or control plane network connection information;
- receive, from the cloud provider, a first set of one or more node addresses identifying available nodes that are provisioned by the cloud provider based on the first request;
- provision a control plane node group comprising the first node and nodes with addresses corresponding to the first set of one or more node addresses;
- configure control plane network connections between control plane nodes of the control plane node group including the first node;
- receive, via the one or more processors, the workload processing request, wherein the workload processing request comprises an indication of one or more requested processes;
- generate an estimate of required resources for the workload processing request;
- based on the generated estimate of required resources for the workload processing request, transmit, to the cloud provider, a second request for at least one worker node,
- wherein the second request for at least one worker node comprises the estimate of required resources;
- and
- based on receiving, from the cloud provider and in response to the second request, a second plurality of node addresses, generate a worker node group using an operating system image,
- wherein the worker node group enables processing at least some of the requested processes of the workload processing request, and wherein nodes of the worker node group are associated with the second plurality of node addresses.
A system for flexibly managing workloads using a cloud services manager, the system comprising:
- a first node comprising a hardware or virtual machine associated with at least one of memory, storage, or computational power, wherein the first node is provisioned by a cloud provider, is external to a control plane node group, and is configured to:
- prior to receiving a workload processing request:
- receive, from a user device, a cluster generation request comprising cluster creation information including at least one of (1) a number of nodes requested, (2) a node-type request, or (3) cluster storage requirements;
- determine that the cluster generation request is missing information for cluster creation;
- in response to determining that the cluster generation request is missing information, generate a user request for the user device to request the missing information;
- transmit, based on the cluster generation request and the missing information responsive to the user request, a first request for at least one additional node from the cloud provider,
- wherein the first request includes at least one of:
- a certificate, a request for a node load-balancer, one or more binaries, or control plane network connection information;
- based on the first request, receive, from the cloud provider, a first set of one or more node addresses identifying available nodes;
- configure control plane network connections between control plane nodes of the control plane node group not including the first node,
- wherein the control plane node group comprises the nodes with addresses corresponding to the first set of one or more node addresses;
- receive the workload processing request,
- wherein the workload processing request comprises an indication of requested processes to be executed;
- based on generating an estimate of required resources for the workload processing request, transmit, to the cloud provider, a second request for at least one worker node,
- based on receiving, from the cloud provider and in response to the second request, a second plurality of node addresses, generate a worker node group using an operating system image,
- wherein nodes of the worker node group are associated with the second plurality of node addresses.
A method performed by a first node comprising a hardware or virtual machine associated with at least one of memory, storage, or computational power, the method comprising:
- prior to receiving a workload processing request:
- receiving, from a user device, a cluster generation request comprising cluster creation information including at least one of (1) a number of nodes requested, (2) a node-type request, or (3) cluster storage requirements;
- determining that the cluster generation request is missing information for cluster creation;
- in response to determining that the cluster generation request is missing information, generating a user request for the user device to request the missing information;
- transmitting, based on the cluster generation request and the missing information responsive to the user request, a first request for at least one node from a cloud provider,
- wherein the first request includes at least one of:
- a certificate, a request for a node load-balancer, one or more binaries, or control plane network connection information;
- based on the first request, receiving, from the cloud provider, a first set of one or more node identifiers identifying available nodes;
- configuring control plane network connections between control plane nodes of a control plane node group not including the first node,
- wherein the control plane node group comprises nodes with addresses corresponding to the first set of one or more node identifiers;
- receiving the workload processing request,
- wherein the workload processing request comprises an indication of requested processes to be executed;
- transmitting, to the cloud provider, a second request for at least one worker node using a generated estimate of required resources for the workload processing request;
- configuring, based on the generated estimate, a worker node group to process workloads using a second plurality of node identifiers received from the cloud provider,
- wherein nodes of the worker node group are associated with the second plurality of node identifiers.
Dependencies are inferred from the claim text.