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