Ivaan Information Technology
Kubernetes for Beginners
← Back to Blog
Tech Insights

Kubernetes for Beginners

✍By K.K Grover
🗓May 25, 2026
⏱5 min read

Kubernetes (often written K8s) is an open-source system that runs and manages containers across a group of machines. You describe the state you want, such as "run three copies of this web app", and Kubernetes keeps reality matching that description. It restarts crashed containers, spreads load, and rolls out new versions without downtime.

Do you need it?

Kubernetes solves coordination problems that appear with many services, many machines and frequent releases. A single web app with a database runs well on a managed platform such as Render, Fly.io, Railway or AWS App Runner at a lower learning cost. Consider Kubernetes when you run a dozen or more services, need fine control over networking and scaling, or must avoid dependence on one platform's deployment model.

The core objects

  • Pod: the smallest unit. It wraps one or more containers that share a network address and storage.
  • Deployment: declares how many pod replicas to run and handles rolling updates and rollbacks.
  • Service: gives a set of pods a stable internal address and load-balances across them.
  • Ingress: routes outside HTTP and HTTPS traffic to services by hostname or path.
  • ConfigMap and Secret: store configuration and sensitive values apart from the container image.
  • Namespace: splits one cluster into logical areas such as staging and production.

A first deployment

Save this as app.yaml. It runs three replicas of a container and exposes them inside the cluster:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  replicas: 3
  selector:
    matchLabels: { app: web }
  template:
    metadata:
      labels: { app: web }
    spec:
      containers:
        - name: web
          image: myregistry/web:1.0.0
          ports: [{ containerPort: 3000 }]
          resources:
            requests: { cpu: "100m", memory: "128Mi" }
            limits: { memory: "256Mi" }
          readinessProbe:
            httpGet: { path: /health, port: 3000 }
---
apiVersion: v1
kind: Service
metadata:
  name: web
spec:
  selector: { app: web }
  ports: [{ port: 80, targetPort: 3000 }]

Apply it with kubectl apply -f app.yaml. Check progress with kubectl get pods and read logs with kubectl logs deployment/web.

Probes and resources

A readiness probe tells Kubernetes when a pod can receive traffic. A liveness probe tells it when to restart a stuck container. Resource requests reserve capacity for scheduling, and limits cap usage. Set both for every container. Pods without them cause noisy-neighbor problems and unpredictable evictions.

Updating without downtime

Change the image tag and apply the file again. The Deployment starts new pods, waits for readiness, and removes old pods in steps. If the new version fails, kubectl rollout undo deployment/web returns to the previous one. Use specific version tags. The latest tag makes it impossible to know what is running.

Scaling

The Horizontal Pod Autoscaler adds or removes replicas based on CPU, memory or custom metrics. A cluster autoscaler adds machines when pods cannot be scheduled. Start with a fixed replica count and add autoscaling after you observe your traffic pattern.

Run it locally first

Practice on kind, minikube or Docker Desktop's built-in cluster. When you move to production, use a managed service: Amazon EKS, Google GKE or Azure AKS. Running the control plane yourself takes real operational effort that rarely pays off for small teams.

Habits that prevent trouble

  • Keep manifests in Git and deploy through a pipeline or a GitOps tool such as Argo CD or Flux.
  • Use Helm or Kustomize to avoid copying YAML between environments.
  • Store secrets in an external manager and avoid committing them.
  • Apply network policies and run containers as a non-root user.
  • Collect logs and metrics from day one with Prometheus and Grafana or a hosted equivalent.

Common questions

Is Kubernetes worth learning for a small team?

Learn the concepts, since containers, health checks and declarative configuration appear across modern infrastructure. Adopt the platform itself only when you have the scale and the people to operate it. Many small teams run well on managed container services such as AWS ECS, Google Cloud Run or Azure Container Apps, which give you containers without cluster administration.

How much does a Kubernetes cluster cost?

Managed control planes cost roughly 70 to 75 US dollars a month per cluster on EKS, and GKE and AKS have their own pricing tiers, plus the cost of worker machines, load balancers and storage. Small clusters at several hundred dollars a month are common. Right-size node pools and use autoscaling to avoid paying for idle capacity.

What is the difference between Docker and Kubernetes?

Docker packages an application and its dependencies into a container image and runs containers on one machine. Kubernetes schedules and manages containers across many machines, handling restarts, scaling and networking. They work together: you build an image with Docker or another builder, and Kubernetes runs it.

How do I debug a pod that will not start?

Run kubectl describe pod NAME and read the Events section, then kubectl logs NAME --previous for the last crash. Frequent causes include a wrong image name, a missing secret, a failing readiness probe, and requested resources that no node can supply.

Where do databases fit?

Run databases as managed services such as RDS, Cloud SQL or MongoDB Atlas when you can. Stateful workloads on Kubernetes need persistent volumes, backups and careful upgrades, which adds risk for a small team.

Our DevOps engineers set up clusters, pipelines and monitoring for teams that want Kubernetes without the learning curve. Ask us whether your project needs it or a simpler platform.

Explore Our Services

Need help putting this into practice? See our web, mobile and AI development services, browse projects we have delivered, read the FAQs, or contact our team.