J'ai deux déploiements kubernetes : backend et frontend. Le déploiement frontend dépend des déploiements backend. Cela signifie qu'une fois que les pods de déploiement du backend sont prêts, les pods du frontend doivent être créés. Comment puis-je spécifier cela dans le yaml de déploiement ?
Réponse
Trop de publicités?La solution que vous recherchez est Init container . Pod peut avoir un ou plusieurs conteneurs Init et ils s'exécutent l'un après l'autre avant que les conteneurs Pod principaux ne soient démarrés. Il faut savoir que chaque conteneur Init s'exécute jusqu'à son terme.
Vous pouvez donc utiliser les conteneurs Init pour vérifier la disponibilité de vos applications back-end. Voici un exemple :
apiVersion: v1
kind: Pod
metadata:
name: front-end
labels:
app: front-end
spec:
containers:
- name: front-end
image: node:boron
initContainers:
- name: init-backend
image: busybox
command: ['sh', '-c', 'until <put check condition for your back-end>; do echo waiting for back-end; sleep 2; done;']
Pour plus d'informations, vous pouvez consulter la documentation .