Deployment

Das Deployment ist die letzte Instanz der Einrichtung von Containern innerhalb von Kubernetes. Nachdem Namespaces, Services und Volumes definiert wurden, kann die Umgebung deployt werden. Beim Thema Volumes liegt es an einem selbst, welche Form gewählt wird. Es ist möglich eine eigene Konfigurationsdatei zu erstellen, die ein Storage/Volumes erstellt und das Deployment sind dort anbindet, oder es wird im Deployment direkt die Volumedefinition vorgenommen. Ich persönlich empfehle die einzelnen Komponenten getrennt aufzubauen. Natürlich setzt das eine klare Struktur voraus, sonst gibt es Schwierigkeiten in den Abhängigkeiten zwischen Services, Volumes und Deployments.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: dependency-tracker
  namespace: dependencytracker
  labels:
    app: dependency-tracker
spec:
  replicas: 1
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: dependency-tracker
  template:
    metadata:
      labels:
        app: dependency-tracker
    spec:
      initContainers:
      - name: dtrack-apiserver
        image: dependencytrack/apiserver
        ports:
        - containerPort: 8081
        volumeMounts:
        - name: pvc-dependency-tracker
          mountPath: "/data"
        resources:
          requests:
            memory: "8192Mi"
          limits:
            memory: "12288Mi"
            
      containers:
      - name: dtrack-frontend
        image: dependencytrack/frontend
        ports:
        - containerPort: 8080
        env:
        - name: API_BASE_URL
          value: "http://localhost:8081"
          
      volumes:
      
      - name: pvc-dependency-tracker
        emptyDir: {}

Was this helpful?

0 / 0