Kubernetes is used to orchestrate container systems. The open source platform automates the setup, operation and scaling of containerized applications as example with docker.
Kubernetes summarizes container images, their configuration and the number of instances required in deployments, according to the linguistic usage of the orchestration system. Kubernetes automatically monitors the parameters of a deployment. The tool ensures that the desired number of containers runs at all times. Kubernetes distributes changes to the software or configuration with a rollout. This process can be paused, continued and undone by callback.
It uses the containers of a deployment independently where the corresponding resources are available. The user can define minimum and maximum values of resource usage (computing time, storage space) for the containers in order to give the orchestration tool a framework.
Numerous options for permanent data storage (persistent storage)
Containers are stateless. For the permanent storage of configuration and user data, Kubernetes offers interfaces to numerous services such as EBS from Amazon Web Services or Google Cloud Platform.
Kubernetes enables automatic adaptation of the container system to changing loads and available computer resources by automatically scaling the container usage. In order to meet growing requirements, it is therefore sufficient to provide appropriate resources. The application does not have to be adapted for this. An increase in performance of the application can thus be carried out completely transparently for the customer.
An important role is the High availability features for trouble-free operation. Container technology provides an excellent basis for redundant resource deployment. With Cluster Federation, Kubernetes extends these capabilities to entire container systems.