Kubernetes¶
Labels und Selektoren¶
Objekte nach Label gruppieren
Befehlsbeispiele¶
Pod erstellen¶
Deployment erstellen¶
YAML generieren¶
Pod erstellen¶
erzeugt folgende AusgabeapiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: nginx
name: nginx
spec:
containers:
- image: nginx
name: nginx
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Always
Deployment erstellen¶
erzeugt folgende Ausgabe:apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: nginx
name: nginx
spec:
replicas: 4
selector:
matchLabels:
app: nginx
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: nginx
spec:
containers:
- image: nginx
name: nginx
resources: {}
Service erstellen¶
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
run: alpine
name: redis-service
namespace: falco
spec:
ports:
- port: 6379
protocol: TCP
targetPort: 6379
selector:
run: alpine
status:
loadBalancer: {}
Imperativer und Deklarativer Stil¶
In Kubernetes können sowohl deklarative als auch imperative Methoden verwendet werden.
Imperative Beispiele¶
kubectl run --image=nginx nginx
kubectl create deployment --image=nginx nginx
kubectl expose deployment nginx --port 80
kubectl edit deployment nginx
kubectl scale deployment nginx --replicas=5
kubectl set image deployment nginx nginx=nginx:1.18
kubectl create -f nginx.yaml
kubectl replace -f nginx.yaml
kubectl delete -f nginx.yaml
Deklarative Beispiele¶
Man verwaltet direkt Dateien und nur Dateien. Änderungen an der Umgebung werden ausschließlich durch das Anwenden von Dateien vorgenommen, nicht durch eines der obigen imperativen Beispiele.