Nous avons constaté que les ports définis dans notre descriptif de déploiement de daemonset ne sont pas reflétés dans les pods en cours d'exécution. L'image que nous utilisons est NGINX, et nous avons routé ces ports hôtes vers 80 et 8080 :
ports:
- containerPort: 80
hostPort: 30003
- containerPort: 8080
hostPort: 30002
Rien d'anormal là-dedans, et l'historique de déploiement montre que ces ports sont actifs dans le pod :
daemonset.extensions/nginx-licensed avec la révision n°25
Modèle de pod :
Conteneurs :
nginx-licensed :
Image : nginx-licensed:1.0.117
Ports : 80/TCP, 8080/TCP
Ports hôte : 30003/TCP, 30002/TCP
Nous voulions changer le port hôte utilisé et, pour permettre les changements d'infrastructure à être effectués progressivement, nous avons attribué à la fois les anciens et les nouveaux ports hôtes aux mêmes ports de contenu :
ports:
- nom : new80
containerPort: 80
hostPort: 20003
- nom : old80
containerPort: 80
hostPort: 30003
- nom : new8080
containerPort: 8080
hostPort: 20002
- nom : old8080
containerPort: 8080
hostPort: 30002
À ce stade, 'kubectl apply' n'active que les ports 2000x :
daemonset.extensions/nginx-licensed avec la révision n°26
Modèle de pod :
Conteneurs :
nginx-licensed :
Image : nginx-licensed:1.0.119
Ports : 80/TCP, 8080/TCP
Ports hôte : 20003/TCP, 20002/TCP
À noter que si nous redémarrons les pods, les quatre ports deviennent actifs :
daemonset.extensions/nginx-licensed avec la révision n°1
Modèle de pod :
Conteneurs :
nginx-licensed :
Image : nginx-licensed:1.0.119
Ports : 80/TCP, 80/TCP, 8080/TCP, 8080/TCP
Ports hôte : 20003/TCP, 30003/TCP, 20002/TCP, 30002/TCP
Cependant, si nous ne redémarrons pas les pods et essayons de supprimer les pods 3000x, c'est-à-dire ceci :
ports:
- containerPort: 80
hostPort: 20003
- containerPort: 8080
hostPort: 20002
Nous nous retrouvons sans ports de conteneur ! :
daemonset.extensions/nginx-licensed avec la révision n°27
Modèle de pod :
Conteneurs :
nginx-licensed :
Image : nginx-licensed:1.0.119
Ports : 80/TCP, 8080/TCP
Ports hôte : 0/TCP, 0/TCP
Avez-vous une idée de ce qui se passe, ou de ce que nous avons mal fait ? Nous sommes revenus à la version avec quatre ports définis (c'est-à-dire à la fois 2000x et 3000x), et cela a résulté uniquement dans les ports hôtes 2000x actifs.
Cela ressemble-t-il à un bogue ?
Merci !