Skip to main content
Stepwik
Stepwik StudioYour AI Powered Workspace for everything
Start Exploring
AI RewriteAI Powered Writer
SubdomainConnect to your personal domain
Stepwik StudioAI Powered All in one editor
AI Chrome ExtensionConvert any webpage into a lab
Team ManagementEnterprise ready team management
CoAuthor SharingAdd CO Authors to your labs
AI Codelab GenerationGenerate codelabs from GitHub, PDF, and Slides
Custom APIsCreate custom APIs
Stepwik MCPConnect AI editors to Stepwik
Realtime CollaborationsCollab in real-time with your teammates
StepflowAICreate quick labs using snapshots
AnalyticsComprehensive data analysis
Solutions
StartupsFor Small to mid size teams
EnterpriseFor Mid to large scale teams
Non-ProfitsFor Non-Profits, Individuals and NGOs
Use Cases
Developer RelationsProduct OnboardingMeetups & BootcampsUniversity CoursesSee All
Resources
DocsDocumentation
CompareCompare
SupportGet in touch with our team
FAQFrequently asked questions
Explore
Vulnerability DisclosureRelease NotesCareersAbout Us
Enterprise
Pricing
Contact
Schedule A DemoExploreLogin
Back to blog

Blog

kubernetesdevopsinfrastructureengineering

Kubernetes for App Developers: What You Actually Need to Know

Most Kubernetes tutorials are written for platform engineers. This one is for the developer who just wants to ship their app without becoming a YAML expert.

Kishan Patel

Kishan Patel

Co-Founder & CTO

May 22, 20268 min read

The Problem with Most Kubernetes Tutorials

They start with clusters. They explain control planes, etcd, API servers. By the time they get to deploying something, you've already closed the tab.

You don't need to understand how Kubernetes works internally to use it well. You need to understand the four or five concepts that map directly to your daily work.

This post covers exactly those concepts, nothing more.

Concept 1: A Pod Is the Smallest Unit

A Pod is one or more containers that run together on the same node and share network and storage. In practice, most Pods contain a single container.

yaml
apiVersion: v1
kind: Pod
metadata:
  name: my-app
spec:
  containers:
    - name: app
      image: my-app:1.0.0
      ports:
        - containerPort: 3000

You almost never create Pods directly. You create Deployments that manage Pods for you.

Concept 2: A Deployment Manages Your Pods

A Deployment says: "I want 3 replicas of this Pod, always." Kubernetes figures out how to make that true and keep it true.

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: app
          image: my-app:1.0.0
          ports:
            - containerPort: 3000

When you push a new image, you update image: my-app:2.0.0 and Kubernetes rolls it out without downtime.

Concept 3: A Service Gives Your App a Stable Address

Pods come and go. Their IP addresses change. A Service gives your Deployment a stable DNS name that other services can use.

yaml
apiVersion: v1
kind: Service
metadata:
  name: my-app
spec:
  selector:
    app: my-app
  ports:
    - port: 80
      targetPort: 3000

Now other services in the cluster can reach your app at http://my-app.

Concept 4: ConfigMaps and Secrets for Configuration

Never put configuration in your container image. Use ConfigMaps for non-sensitive config and Secrets for passwords and API keys.

yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: my-app-config
data:
  DATABASE_HOST: postgres-service
  LOG_LEVEL: info

Reference them in your Deployment:

yaml
envFrom:
  - configMapRef:
      name: my-app-config
  - secretRef:
      name: my-app-secrets

Concept 5: Resource Requests and Limits

Tell Kubernetes how much CPU and memory your app needs. This lets the scheduler make good decisions and prevents one misbehaving app from starving others.

yaml
resources:
  requests:
    cpu: "100m"
    memory: "128Mi"
  limits:
    cpu: "500m"
    memory: "512Mi"

100m means 0.1 CPU cores. Start conservative and tune based on actual usage.

The Workflow That Matters

bash
# Build and push your image
docker build -t my-app:2.0.0 .
docker push my-app:2.0.0

# Update your deployment
kubectl set image deployment/my-app app=my-app:2.0.0

# Watch the rollout
kubectl rollout status deployment/my-app

# Something wrong? Roll back instantly
kubectl rollout undo deployment/my-app

That's it. That's 90% of your daily Kubernetes workflow.

The rest (Ingress, HPA, PersistentVolumes) you can learn as you need it. But if you understand Pods, Deployments, Services, ConfigMaps, and resource limits, you can ship and maintain a production application on Kubernetes today.

All articlesTry Stepwik free
Stepwik

One platform, purpose-built paths for every growth stage

LinkedInX [Twitter]Instagram

Solutions

  • Startups
  • Enterprise
  • Non Profits / Community

Company

  • About us
  • Careers
  • Brand Kit
  • Support
  • Pricing

Resource

  • Docs
  • Release notes
  • Use cases
  • Compare
  • Vulnerability Disclosure

Compare

  • Google Codelabs
  • Killercoda
  • Instruqt
  • Skillable
  • Cloudshare
  • Mintlify
  • Educative
Use your preferred LLM to explore Stepwik
OpenAIClaudeGeminiGrokPerplexity
Privacy & PolicyTerms & Conditions
© Stepwik. Techferment. All Rights Reserved. 2026