Workloads
Pods are Ephemeral
If a pod dies it will not be re-scheduled
For that we turn to Controllers
that generate pods
Controllers
- Deployments
- Replica Set
- Daemon Set
- Statefulset
- Jobs
Sample Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: echo-deployment
labels:
app: echo
spec:
replicas: 1
selector:
matchLabels:
app: echo
template:
metadata:
labels:
app: echo
spec:
containers:
- name: echo
image: k8s.gcr.io/echoserver:1.4
ports:
- name: web
containerPort: 8080
protocol: TCP
Create a file named deployment.yaml
with the above contents
k apply -f deployment.yaml
k delete pod echo-deployment-xxxxx
k port-forward deployment/echo-deployment 8080:8080
k scale deployment/echo-deployment --replicas=5
k get endpoints echosvc