Dynamic throughput capacity resource management for a container system by a distributed storage system
An example method for dynamic throughput capacity resource management for a container system by a storage system comprises providing, by a container storage management system, a volume for use by a containerized application of a container system, the volume deployed on a node of the container system; determining, by the container storage management system, that the containerized application is consuming below a threshold level of resources; and reducing, by the container storage management system and based on the determining, a capacity of a resource associated with an input/output (I/O) throughput rate capacity to the volume.
1 . A method comprising:
providing, by a container storage management system, a volume for use by a containerized application of a container system;
determining, by the container storage management system, that the containerized application is consuming below a threshold level of resources at a first time;
reducing, by the container storage management system and based on the determining that the containerized application is consuming below the threshold level of resources and based on determining that an additional containerized application is consuming more than an additional threshold level of resources, a first capacity of a resource associated with an input/output (I/O) throughput rate capacity to the volume;
increasing, based on the reducing the capacity of the resource to the volume, a second capacity of the resource associated with an additional I/O throughput rate capacity to an additional volume provided for use by the additional containerized application of the container system;
determining, at a second time subsequent to the first time, that the containerized application is consuming more resources than at the first time; and
increasing, based on the determining that the containerized application is consuming more resources, a third capacity of the resource associated with the I/O throughput rate capacity to the volume.
2 . The method of claim 1 , wherein:
the volume is deployed on a node of the container system; and
the resource associated with the I/O throughput rate capacity comprises a resource on a kernel of the node that affects the I/O throughput rate capacity to the volume.
3 . The method of claim 1 , wherein the resource associated with the I/O throughput rate capacity comprises a resource on the container system and associated with the containerized application.
4 . The method of claim 1 , wherein the reducing the first capacity of the resource is further based on an I/O operation rate to the volume.
5 . The method of claim 1 , further comprising directing, based on the determining, the container system to reduce an additional capacity of an additional resource on the container system and associated with the containerized application.
6 . A system comprising:
one or more memories storing computer-executable instructions; and
one or more processors to execute the computer-executable instructions to perform a process comprising:
providing a volume for use by a containerized application of a container system;
determining a change in a level of resources being consumed by the containerized application at a first time;
adjusting, based on the determining the change in the level of resources being consumed by the containerized application and based on determining an additional change in an additional level of resources being consumed by an additional containerized application, a first capacity of a resource associated with an input/output (I/O) throughput rate capacity to the volume;
directing, based on the adjusting the capacity of the resources associated with the I/O throughput rate capacity to the volume, the container system to adjust a second capacity of the resource associated with an additional I/O throughput rate capacity to an additional volume provided for use by the additional containerized application of the container system;
determining, at a second time subsequent to the first time, that the containerized application is consuming more resources than at the first time; and
directing, based on the determining that the containerized application is consuming more resources, the container system to adjust a third capacity of the resource associated with the I/O throughput rate capacity to the volume.
7 . The system of claim 6 , wherein:
the determining the change in the level of resources being consumed comprises determining that the containerized application is consuming above a threshold level of resources; and
the adjusting the capacity of the resources comprises increasing the capacity of the resource associated with the I/O throughput rate capacity to the volume.
8 . The system of claim 6 , wherein:
the determining the change in the level of resources being consumed comprises determining that the containerized application is consuming below a threshold level of resources; and
the adjusting the capacity of the resources comprises reducing the capacity of the resource to the volume.
9 . The system of claim 8 , wherein:
the determining that the containerized application is consuming below the threshold level of resources is at a first time; and
the process further comprises:
determining, at a second time subsequent to the first time, that the containerized application is consuming more resources than at the first time; and
increasing, based on the determining that the containerized application is consuming more resources, an additional capacity of the resource associated with the I/O throughput rate capacity to the volume.
10 . The system of claim 6 , wherein:
the volume is deployed on a node of the container system; and
the resource associated with the I/O throughput rate capacity comprises a resource on a kernel of the node that affects the I/O throughput rate capacity to the volume.
11 . The system of claim 6 , wherein the resource associated with the I/O throughput rate capacity comprises a resource on the container system and associated with the containerized application.
12 . The system of claim 6 , wherein the adjusting the capacity of the resource is further based on an I/O operation rate to the volume.
13 . A non-transitory, computer-readable medium storing computer instructions that, when executed, direct one or more processors of one or more computing devices to perform a process comprising:
providing a volume for use by a containerized application of a container system;
determining that the containerized application is consuming below a threshold level of resources;
reducing, based on the determining that the containerized application is consuming below the threshold level of resources and based on determining that an additional containerized application is consuming more than an additional threshold level of resources, a first capacity of a resource associated with an input/output (I/O) throughput rate capacity to the volume;
increasing, based on the reducing the capacity of the resource to the volume, a second capacity of the resource associated with an additional I/O throughput rate capacity to an additional volume provided for use by the additional containerized application of the container system;
determining, at a second time subsequent to the first time, that the containerized application is consuming more resources than at the first time; and
increasing, based on the determining that the containerized application is consuming more resources, a third capacity of the resource associated with the I/O throughput rate capacity to the volume.
14 . The computer-readable medium of claim 13 , wherein:
the volume is deployed on a node of the container system; and
the resource associated with the I/O throughput rate capacity comprises a resource on a kernel of the node that affects the I/O throughput rate capacity to the volume.