In Rancher 2.5 is nu standaard Fleet opgenomen om Multi-Cluster beheer eenvoudiger te maken voor wat betreft Continuous Delivery. Lees dit artikel voor meer informatie en een tweetal voorbeelden om apps uit te rollen.
Categoriearchief: Deployment
Forceer een Kubernetes Deployment re-deploy
Soms wil je een re-deploy doen van de pods in een Kubernetes deployment.
Er is geen nieuwe versie van de image dus een ‘set image’ is hier dan niet van toepassing.
Het opschalen met ‘scale’ up en dan weer down geeft geen garantie dat de nieuwe pods blijven draaien. Ook wil je geen onderbreking in de bereikbaarheid van de deployment dus schalen naar 0 is geen optie (de strategy zal het wellicht ook niet toestaan).
Dus de enige optie is een ‘redeploy label‘ in de deployment patchen en dat ziet er alsvolgt uit:
$ kubectl -n your-namespace patch deployment your-deployment -p "{\"spec\": {\"template\": {\"metadata\": { \"labels\": { \"redeploy\": \"$(date +%s)\"}}}}}"
Als je een watch op de pods zet zie je de nieuwe pods ge-deployed worden.
$ kubectl get pods -w
Have fun!
Kubernetes deployment zonder code
Rancher is een populair beheersprogramma voor Kubernetes clusters. Ook kan met de Rancher Server GUI een nieuwe deployment uitgerold worden zonder dat er ook maar één regel yaml-code hoeft te worden geschreven. Hoe? Kijk hier maar voor een voorbeeld!
Chaos in Kubenetes
Kubernetes maakt gebruik van deployments waarmee pods (daar waar de containers in zitten) herstart kunnen worden als zij vastlopen, teveel computer resources gebruiken, of een updated versie krijgen, enz. Dat is de kracht van K8S!
Maar kan elke applicatie er wel tegen om opnieuw ge-deployed te worden? Wat als er niets aan de hand is en de applicatie pas na lange tijd gaat herstarten? Bij NetFlix dachten de engineers in 2011 dat er een applicatie moest komen die applicaties willekeurig, expres, gaat herstarten, en ze noemden dit ‘Chaos Monkey‘.
Lees verderUpdate GitLab
Al een tijdje stond in de GUI van GitLab de melding:
dus het volgende commando ingegeven:
sudo yum install -y gitlab-ce
Hierna verscheen de melding:
gitlab preinstall: Your version of PostgreSQL is no longer supported. Please upgrade your PostgreSQL version. gitlab preinstall: Check https://docs.gitlab.com/omnibus/update/#updating-gitlab-10-0-or-newer for details.
Dus… eerst PostgreSQL updaten:
sudo gitlab-ctl pg-upgrade
en daarna de GitLab update zelf:
sudo yum install -y gitlab-ce
Hierna is GitLab nu versie 8.17.2 vervangen door versie10.5.4!
Puppet versus Ansible
Voor mijn MusicPlayers heb ik zowel Puppet als Ansible gebruikt, onafhankelijk van elkaar en ik zal proberen hier de pro’s en con’s van beide deployment methodieken uit de doeken te doen. Althans, voor zover ik heb gezien en van toepassing is op mijn projecten.