KubernetesDevOpsDockerCloud
Kubernetes for Developers: Getting Started
·15 min read
Kubernetes for Developers: Getting Started
As a developer, understanding Kubernetes can significantly improve your deployment workflows. This guide covers the essentials you need to know.
Core Concepts
Pods
The smallest deployable unit in Kubernetes:apiVersion: v1
kind: Pod
metadata:
name: my-app
spec:
containers:
- name: app
image: my-app: 1.0.0
ports:
- containerPort: 3000Deployments
Manage replicas and rolling updates: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
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "256Mi"
cpu: "200m"Services
Expose your application:apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
selector:
app: my-app
ports:
- port: 80
targetPort: 3000
type: ClusterIPHealth Checks
Always implement liveness and readiness probes:
livenessProbe:
httpGet:
path: /health
port: 3000
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 3000
initialDelaySeconds: 5
periodSeconds: 5ConfigMaps and Secrets
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
DATABASE_HOST: "postgres.default.svc.cluster.local"
LOG_LEVEL: "info"
---
apiVersion: v1
kind: Secret
metadata:
name: app-secrets
type: Opaque
data:
DATABASE_PASSWORD: cGFzc3dvcmQxMjM= # base64 encodedKubernetes has a steep learning curve, but mastering it will make you a more effective developer in modern cloud environments.