- helm diff -n $namespace upgrade jira-exporter jira-exporter --values jira-exporter/values.yaml --allow-unreleased
--set ingress.tls[0].hosts[0]="jira-prometheus-exporter.cloud"
--set ingress.hosts[0].host="jira-prometheus-exporter.cloud"
--set image.tag=$VERSION
--set secretstore=$secretstore
--set secretstore_role=$secretstore_role
--set sa_role=$sa_role
--set env=$ENV
- helm upgrade --install jira-exporter jira-exporter -f jira-exporter/values.yaml -n $namespace --create-namespace $DRYRUN
--set ingress.tls[0].hosts[0]="jira-prometheus-exporter.cloud"
--set ingress.hosts[0].host="jira-prometheus-exporter.cloud"
--set image.tag=$VERSION
--set secretstore=$secretstore
--set secretstore_role=$secretstore_role
--set sa_role=$sa_role
--set env=$ENV
Da ingress eine Map ist muss dieser auch entsprechend gesetzt werden.
kubectl rollout restart deployment/subgraph-pbf
Synopsis
Manage the rollout of one or many resources.
Valid resource types include:
- deployments
- daemonsets
- statefulsets
kubectl rollout SUBCOMMAND
Examples
# Rollback to the previous deployment
kubectl rollout undo deployment/abc
# Check the rollout status of a daemonset
kubectl rollout status daemonset/foo
# Restart a deployment
kubectl rollout restart deployment/abc
# Restart deployments with the 'app=nginx' label
kubectl rollout restart deployment --selector=app=nginx
Hier wird erst eine Liste von PIDs erstellt denen dann 50% CPU zugewiesen wird.
ps faux | grep '/usr/local/bin/node --' | awk '{print $2}' | xargs -I{} cpulimit -p {} -l 50
git reset --soft HEAD^
Diese Command kann wiederholt werden im weitere Commits zu resetten.
git reset --soft HEAD^^^
Hier werden die letzten 3 Commits resetted
helm upgrade --install jira-exporter -f jira-exporter/values.yaml jira-exporter
helm create NAME
GitOps ist ein Ansatz für die Verwaltung von Infrastruktur- und Anwendungsdeklarationen in einer Kubernetes- oder Cloud-native-Umgebung. Im Wesentlichen bedeutet GitOps, dass das gesamte Systemzustandsmanagement und die Bereitstellung von Anwendungen in einem Git-Repository verwaltet werden.
Hier sind einige Kernkonzepte von GitOps:
- Git als Single Source of Truth: Alle Änderungen an der Infrastruktur und den Anwendungen werden in einem Git-Repository verfolgt. Dieses Repository fungiert als einzige Quelle der Wahrheit für den Zustand des Systems.
- Declarative Configuration: Die Infrastruktur- und Anwendungsdeklarationen werden in einer deklarativen Sprache (z.B. YAML) geschrieben, was bedeutet, dass sie den gewünschten Endzustand beschreiben, nicht die Schritte, um dorthin zu gelangen.
- Automatisierung durch Continuous Deployment: Änderungen, die in das Git-Repository eingecheckt werden, lösen automatisierte Bereitstellungsprozesse aus. Diese Prozesse aktualisieren den tatsächlichen Systemzustand, um mit dem im Git-Repository definierten Zustand übereinzustimmen.
- Observability und Monitoring: GitOps-Systeme bieten in der Regel Mechanismen zur Überwachung des Systemzustands und zur Erfassung von Metriken, um sicherzustellen, dass das System den gewünschten Zustand beibehält.
- Rollback-Fähigkeit: Da der Systemzustand in Git gespeichert ist, ist es einfach, zu früheren Versionen zurückzukehren, wenn ein Problem auftritt.
Durch die Nutzung von GitOps können Entwickler und Betriebsteams eine konsistente und effiziente Methode zur Verwaltung von Infrastruktur und Anwendungen implementieren, die stark auf Automatisierung und Best Practices für die Versionskontrolle setzt.
helm template hpa ingress-nginx -f ingress-nginx/values.yaml
- hpa = Name
- ingress-nginx = Verzeichnis mit dem Chart
- -f Datei mit Values
kubectl get --raw "/apis/external.metrics.k8s.io/v1beta1/namespaces/*/nginx_ingress_controller_per_second" | jq .
Dieser Modus wird verwendet, wenn Traffic flapping erwartet wird oder die Anzahl der Pods nicht zu früh verkleinert werden soll, weil späte Lastspitzen erwartet werden.
Erstelle einen HPA mit der folgender Konfiguration:
behavior:
scaleDown:
stabilizationWindowSeconds: 600
policies:
- type: Pods
value: 5
periodSeconds: 600