Container Orchestration with Kubernetes
⏱
3 mins remaining
Kubernetes Hello World
A brief overview of various compute controllers in Kubernetes:
- ReplicaSet: Ensures a specified number of replica Pods are running at all times.
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: my-replicaset
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: my-image
- Deployment: Manages the deployment and scaling of a set of Pods.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: my-image
- StatefulSet: Maintains a set of stateful Pods with stable network identities.
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: my-statefulset
spec:
replicas: 3
serviceName: "my-statefulset"
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: my-image
- Jobs: Manages the execution of a finite task or batch job.
apiVersion: batch/v1
kind: Job
metadata:
name: my-job
spec:
template:
spec:
containers:
- name: my-container
image: my-image
backoffLimit: 4
- CronJob: Runs Jobs on a repeating schedule.
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: my-cronjob
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: my-container
image: my-image
successfulJobsHistoryLimit: 3