Wir haben jetzt scheduled jobs in Kubernetes 1.4 - ist es möglich, eine rolling container update (neues Bild) gegen den Cluster mit dieser? Die Grundidee ist, ich möchte eine einfache Möglichkeit, Updates automatisch jedes Intervall ausrollen. Die "traditionelle" Art, Aktualisierungen vorzunehmen, besteht darin, dass der CI einen Webhook auf dem Kube-Master antrifft, aber ich möchte vermeiden, dass Dienste für die Öffentlichkeit zugänglich gemacht werden, sondern nur regelmäßig nach Aktualisierungen suchen.Kubernetes Rolling-Update geplanten Job
Antwort
Ich denke, es ist im Allgemeinen sicher, Ihren Master-Server offenzulegen und Updates von Ihrem CI-System zu senden, aber Sie könnten definitiv einen geplanten Job einrichten, um eine Deployment auf die neueste Version zu aktualisieren. Kubernetes hat ein Konzept mit der Bezeichnung Service Accounts für die Authentifizierung mit der API innerhalb des Clusters und ist gut in kubectl
integriert (d. H. Es verwendet die Dienstkontodaten automatisch zur Authentifizierung). Der Cluster stellt auch einen kubernetes
-Dienst für die Master-API bereit. Sie können also einen Container mit kubectl
und einem Skript bereitstellen und damit die Bereitstellung regelmäßig aktualisieren.
Sie benötigen einen Mechanismus, um herauszufinden, was die neueste Version ist. Vielleicht könnten Sie die neuesten Versionsinformationen in einer Textdatei oder etwas, das in GCS oder S3 geschrieben wurde, speichern und diese Datei abrufen, um die neueste Version zu erhalten.
Sagen Sie bitte eine deploy.yaml wie diese:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: myapp
spec:
template:
spec:
containers:
- name: myapp
image: myapp:<latest-ver>
Und dann können Sie erzeugen und das Deployment in einem Skript aktualisieren, wie so:
#!/bin/sh
wget -o VERSION http://url/to/VERSION
sed "s/<latest-ver>/$(cat VERSION)/" deploy.yaml | kubectl apply -f -
Und bauen, dass in ein Bild und Führen Sie es als Ihren geplanten Job aus.
- 1. Jenkins Groovy geplanten Job, bekommen Link
- 2. Wie wird Kubernetes Deployment mithilfe der "rollingUpdate" -Strategie auf eine frühere Version "erweitert"?
- 3. Konsole hängt beim Löschen Job in Kubernetes
- 4. Failure einen Job in Kubernetes aufgrund erstellen
- 5. Bietet Kubernetes einen gemeinsamen Job-Container?
- 6. Was ist ein Anwendungsfall für Kubernetes Job?
- 7. Müssen Sie den Scheduler nach dem geplanten Job schließen?
- 8. Erstellen Sie einen geplanten Job beim Start mit Express
- 9. Ändern eines Unix-Server-Datums mit einem geplanten Job
- 10. So verwenden Sie die Oracle Apex-Sitzung im geplanten Job
- 11. Ruby auf Schienen geplanten Aufgaben
- 12. Kubernetes Testamentsvollstrecker auf Gitlab ERROR: Job fehlgeschlagen: Bild Pull fehlgeschlagen
- 13. Wie schreibe ich sequentielle Jobs als Kubernetes-Job?
- 14. Workflow Foundation für geplanten Prozess
- 15. Powershell - manuell einen geplanten Auftrag auslösen
- 16. Abbrechen eines geplanten Jobs in Quartz
- 17. So stoppen Sie den geplanten Luftstrom dag
- 18. Rails: ein geplanten Auftrag in Sidekiq abbrechen
- 19. Maximale Anzahl der geplanten Jobs sidekiq
- 20. GetScheduled-Job gibt keinen Job zurück
- 21. Was ist der beste Weg, um einen geplanten Job mit einem Windows-Dienst zu implementieren
- 22. Agenda (Knoten) zu schaffen einzigartige Job ohne Überschreiben der geplanten Zeit
- 23. SQL Server Reporting-Datenbank aktualisiert mit Daten von MySQL von geplanten Job
- 24. Was passiert, wenn ich mitten in einem geplanten Job Code an Heroku drücke?
- 25. Verwirrung darüber, wie Kubernetes Jobs
- 26. Kubernetes löscht keine Pods innerhalb einer gelöschten Implementierung
- 27. Logs Kubernetes Pod nicht angezeigt
- 28. Starten einer remoten geplanten Aufgabe
- 29. Ablaufverfolgung der geplanten Linux-Prozesse
- 30. parse.com - Geplanten Push programmgesteuert abbrechen