introduction
Kubernetes (K8s) has rapidly become the de facto standard for deploying, scaling and managing containerized applications; its flexibility, scalability and strong community support have been the foundation of modern infrastructure from startups to tech giants.
why kubernetes?
The Kubernetes provides a platform for running applications in containers, abstracting away the core hardware and cloud provider of software; key reasons why it is widely adopted include: “The most important thing about this system is that its application runs on an integrated platform (i.e., one-to-one framework) to run apps in container environments.”
- Portability: Run workloads anywhere—on-premises, in the cloud, or hybrid environments.
- Scalability: Effortlessly scale applications up or down based on demand.
- Self-healing: Automatically restarts failed containers and reschedules them as needed.
- Declarative configuration: Manage infrastructure as code using YAML manifests.
- Ecosystem: Rich ecosystem of tools, extensions, and integrations.
kubernetes in the real world
Organizations use Kubernetes to:
- Deploy microservices architectures
- Enable continuous deployment and GitOps workflows
- Standardize infrastructure across teams and environments
- Improve reliability and uptime
It is even easier to adopt, as managed Kubernetes services are provided by Cloud providers such as AWS (EKS), Google Cloud (GKE) and Azure (AKS).
managed kubernetes solutions by cloud provider
Most large providers provide managed services for the control plane, upgrades and much of the operational overhead required by you if you want to run Kubernetes in the cloud.
- AWS: Amazon Elastic Kubernetes Service (EKS), Kops (for self-managed clusters), Rancher (multi-cloud and on-prem management)
- Google Cloud: Google Kubernetes Engine (GKE)
- Azure: Azure Kubernetes Service (AKS)
- OVHcloud: OVH Managed Kubernetes Service
- DigitalOcean: DigitalOcean Kubernetes
- IBM Cloud: IBM Cloud Kubernetes Service
- Oracle Cloud: Oracle Container Engine for Kubernetes (OKE)
It is easier to deploy, scale and manage Kubernetes clusters in production; these services help you focus on your applications rather than infrastructure management.
how to start learning kubernetes locally with kind
Getting started with Kubernetes doesn’t require a cloud account or expensive hardware. kind (Kubernetes IN Docker) lets you run Kubernetes clusters locally using Docker containers.
prerequisites
installing kind
On macOS, you can install kind with Homebrew:
| |
Or download a release from the kind GitHub releases.
creating a local cluster
| |
This command spins up a Kubernetes cluster in Docker. You can interact with it using kubectl (install via brew install kubectl if needed).
deploying your first app
How can you install a simple “Hello World” app (using Nginx) on your local kind cluster and access it from your browser?
Create a deployment:
1kubectl create deployment hello-world --image=nginxExpose it as a service:
1kubectl expose deployment hello-world --port=80 --type=NodePortGet the service details:
1kubectl get service hello-worldYou’ll see output similar to:
1 2NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-world NodePort 10.96.123.45 <none> 80:31234/TCP 1mThe number after the colon (e.g.,
31234) is the NodePort.Access the app in your browser:
Since kind runs your cluster in Docker, you can access the service using
localhostand the NodePort:- Open your browser and go to: http://localhost:31234 (replace
31234with your actual NodePort)
- Open your browser and go to: http://localhost:31234 (replace
If your app is running, you should see the Nginx welcome page.
cleaning up
To delete the cluster:
| |
conclusion
Modern infrastructure is based on the foundation of modern infrastructure: teams can build, deploy and scale applications with confidence; tools like kind are used to learn Kubernetes in your local machine today—no cloud account required. Mastering K8s opens doors for DevOps, cloud-native development (and scalable architectures) and other technologies such as those that require it."