What is Kubernetes?
A container orchestration system
Kubernetes is a container orchestration system that automates the deployment, scaling, and management of containers — often Docker containers — across multiple machines. It handles scheduling, load balancing, self-healing, and rolling updates. In short, Kubernetes manages and coordinates many containers to keep applications running reliably at scale.
Kubernetes also allows you to run workloads declaratively using YAML files. In other words, you can define all the hardware and configuration resources needed for a workload within a YAML file, then apply it to any Kubernetes environment to run that workload — without manually managing configuration details.
Joyful Thoughts
This section shares James Joy’s perspective on this technology as it applies to Industrial Automation.
Kubernetes is the ultimate server hardware management platform. Historically, industrial software — and HMI platform solutions in particular — have been orchestrated in very rudimentary ways. Typically, you would purchase multiple physical servers or use VMWare if you were fancy, and then rely on the basic redundancy provided by the software supplier — if you used redundancy at all. Hardware failures, operating system corruption, obsolescence, and software bugs were constant challenges.
Kraken, our open-source approach to SCADA, relies heavily on the power of Kubernetes as a robust platform to solve many of these long-standing issues with SCADA servers.