Kubernetes Ressourcen
Pods
Ein Pod in Kubernetes ist ein container mit der Instanz der Applikation welche wir ausführen wollen, in einigen fällen beinhaltet ein Pod zusätzlich zum Applikationscontainer auch noch ein oder mehrere Helper Container, welche weitere aufgaben im selben Pod ausführen. Alle Container in einem Pod haben den selben storage und netzwerkspace.
Example YAML:
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx
Replica Controller
Der Replikations Kontroller ist ein Kontroller, welcher die Anzahl von Applikations instanzen im Kubernetes cluster managed. In einem ReplicaController wird der Pod als Template hinterlegt und anschliessend deployed.
Beseispiels YAML:
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx-rc
labels:
app: nginx
type: webserver
spec:
template:
metadata:
name: nginx-pod
labels:
app: nginx
type: webserver
spec:
containers:
- name: nginx-container
image: nginx
replicas: 3
Replica Set
Ein Replica Set ist ähnlich wie ein Replica Controller, jedoch managed das Replica Set bereits erstellte Pods und erstellt wenn nötig neue wohingegen der Replica Controller für neue Pods genutzt wird. Kurz gesagt, das Replica Set kann bereits existierende Ressourcen Managen, dies geschieht über ein selector field.
Beispiels YAML:
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx-replicaset
labels:
app: nginx
type: webserver
spec:
template:
metadata:
name: nginx-pod
labels:
app: nginx
type: webserver
spec:
containers:
- name: nginx
image: nginx
replicas: 5
selector:
matchLabels:
type: webserver