Using containers to host applications and other processes has gone mainstream. As more and more workload is moved into containers, management systems are needed to handle the demands of containerized applications at scale.
One of the most popular options for managing container-based workload is Kubernetes.it combines container management automation with an extensible API to create a cloud-native application management powerhouse.
At its core, Kubernetes manages the placement of pods, which can consist of one or more containers, on a Kubernetes cluster node. Additionally, if one of these pods crashes, Kubernetes can create a new instance of it.
If a cluster node is removed, Kubernetes can move any affected workload to a different node in the cluster. On top of that, Kubernetes pods can be scaled to provide more or less throughput to meet scale demands. And these scale operations can be triggered manually
or automatically using Kuberentes horizontal pod auto-scaling.
Finally, if an application needs to be updated, Kubernetes can stagger the update deployment to minimize downtime. Plus, if the update is problematic, Kubernetes can roll back to a previous version. Along with pod management, Kubernetes can also manage container storage and networking. Kubernetes persistent volumes can be used to present data storage to one or more containers.
This configuration allows containers to read and write application data and persist this data across many pod instances. That said, it is also common for an application running in Kubernetes to use cloud-based storage and data systems such as Azure Storage or Azure Cosmos DB for data storage and retrieval.
In regard to networking, Kubernetes network plugins provide capabilities
such as exposing pods to the internet, load balancing traffic across multiple replicas of a pod, network isolation, and policy-driven network security.
These networking plugins also manage communication and name resolution between pods in the Kubernetes cluster. The capabilities of Kubernetes are not limited to the built-in features. Additional capabilities can be created using a variety of methods for extending the Kubernetes API.With this flexibility, operators can be created to perform custom actions such as producing cloud events on pod creation, providing custom pod scheduling logic,
and on-demand provisioning of managed cloud services, just to name a few.
The extension capabilities of Kubernetes make it a great platform on which to build SaaS services.
No comments:
Post a Comment