Skip to main content

Grundgerüst Kubernetes Deployment YAML-Datei

apiVersion: apps/v1
kind: Deployment
metadata:
  name: <deployment name>
  namespace: <namespace angeben>
  annotations:
    author: Phillip <mail@phillipunzen.de>

spec:
  replicas: 3
  strategy:
    type: <Typ> RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
  selector:
    matchLabels:
      app: <app-name>
  template:
    metadata:
      labels:
        app: <app-name>
      annotations:
        author: Phillip <mail@phillipunzen.de>
    spec:
      containers:
      - name: <pod name>
        image: <docker-image:tag>
        env:
        - name: KEY
          value: VALUE
        ports:
        - name: http
          containerPort: <Port im Container>
        resources:
          requests: # Minimum an Hardware
            cpu: "250m" # => 1/4 CPU Kern für den Container
            memory: "256Mi" 
          limits: 
            cpu: "1000m" # => 1 CPU Kern für den Container
            memory: "512Mi" # => Wenn mehr benötigt, dann wird Container neugestartet
        readinessProbe: # Healthcheck auf HTTP
          httpGet:
            path: /
            port: http
          initialDelaySeconds: 10 # Zeitraum zwischen Checks
        livenessProbe:
          httpGet:
            path: /
            port: http
          initialDelaySeconds: 10 # Zeitraum zwischen Checks