Blog CP2i Ansible,Automatisation,Kubernetes Attendre la fin d’un deploiement K8s avec Ansible

Attendre la fin d’un deploiement K8s avec Ansible

Pour attendre la fin d’un déploiement Kubernetes, on pourrait être tenté d’utiliser les options « wait » et « wait_conidition ». Cependant, ces options posent problème lorsque le playbook de déploiement est lancé plusieurs fois.

Afin de régler ce soucis, il suffit de rajouter une étape dans notre tâche comme suit (exemple de longhorn):

- name: Wait until longhorn is up
  kubernetes.core.k8s_info:
    kubeconfig: "{{ kubeconfig_file }}"
    api_version: v1
    kind: Pod
    namespace: "{{ longhorn_namespace }}"
  register: pod_list
  until: pod_list|json_query('resources[*].status.phase')|unique == ["Running"]Langage du code : JavaScript (javascript)

Ainsi, tant que les pods du namespace ne sont pas tous en statut Running, la tâche ne poursuivra pas son cours.

Jespère que cela vous aura été utile !

Répondre

En lien avec cet article