Basis van cloud en containers
In een Kubernetes-Deployment wordt het containerimage in de Pod-template veranderd in een nieuwe versie. Welke beschrijving van wat er gebeurt met de standaardupdatestrategie (RollingUpdate) is juist?
- AEr wordt een nieuwe ReplicaSet gemaakt, en Pods van de nieuwe versie worden toegevoegd terwijl Pods van de oude versie worden verwijderd. De oude ReplicaSet blijft met 0 Pods bestaan voor een rollback
- BHet containerimage in de draaiende Pods wordt ter plaatse door de nieuwe versie vervangen zonder de Pods opnieuw te maken; de IP-adressen en de namen van de Pods veranderen dus niet
- CAlle Pods van de oude versie worden in één keer verwijderd en daarna worden de Pods van de nieuwe versie samen gemaakt; de dienst staat dus tijdens de update tijdelijk stil
Antwoord en toelichting tonen
Antwoord: A. Er wordt een nieuwe ReplicaSet gemaakt, en Pods van de nieuwe versie worden toegevoegd terwijl Pods van de oude versie worden verwijderd. De oude ReplicaSet blijft met 0 Pods bestaan voor een rollback
Als de Pod-template verandert, maakt een Deployment een ReplicaSet voor de nieuwe template en vermindert het, terwijl het nagaat dat nieuwe Pods gereed zijn, geleidelijk de Pods van de oude ReplicaSet. Een bepaald aantal Pods blijft dus tijdens de update aanvragen verwerken. De oude ReplicaSet wordt met 0 Pods bewaard, zodat kubectl rollout undo naar de vorige versie kan terugkeren. De strategie die eerst alle Pods verwijdert en ze dan opnieuw maakt, is Recreate; die wordt alleen gebruikt als ze expliciet wordt opgegeven.