TC012 What is Kubernetes_01_AO
0 (0 Likes / 0 Dislikes)
>>What is Kubernetes? As you may have noticed,
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.
What is Kubernetes? Well, 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.
So we're hoping that this introduction gives you a solid understanding of using Kubernetes on Azure
and that you're now able to envision some opportunities
for using it to accelerate and improve your own business operations.