# Manifest-Dateien # Grundgerüst Kubernetes Namespace YAML-Datei ```yaml apiVersion: v1 kind: Namespace meta: name: einnamespace labels: # Maschinen auswertbar author: phillip name: app1 : annotations: # Menschen auswertbar author: Phillip ``` # Manifest Dateien anwenden oder löschen Um Manifest-Dateien in Kubernetes anzuwenden oder zu aktualisieren, verwenden wir den folgenden Befehl: ```bash kubectl apply -f ``` Um Manifest-Dateien aus dem Kubernetes Cluster zu entfernen, verwenden wir den folgenden Befehl: ```bash kubectl delete -f ``` # Grundgerüst Kubernetes Deployment YAML-Datei ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: namespace: annotations: author: Phillip spec: replicas: 3 strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 0 selector: matchLabels: app: template: metadata: labels: app: annotations: author: Phillip spec: containers: - name: image: env: - name: KEY value: VALUE ports: - name: http containerPort: 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 ``` # Grundgerüst Kubernetes Service YAML-Datei ```yaml apiVersion: v1 kind: Service metadata: name: namespace: ... spec: selector: #Selektor definieren app: ports: - name: http port: 80 targetPort: http (targetPort Namen aus dem Deployment) type: ``` # Service Externer-Zugriff Typ
ClusterIpInnerhalb des Clusters
NodePortPort wird auf einem Port der Nodes geöffnet
LoadBalancerVerteilt die Anfragen auf die Pods (Liegt außerhalb des Kubernetes Clusters) => Kostet in der Cloud extra
# Grundgerüst Kubernetes Ingress YAML-Datei ``` apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: namespace: spec: ingressClassName: nginx rules: - host: website.domain.de http: paths: - path: / pathType: Prefix backend: service: name: port: name: http ```