github.com/jlmeeker/kismatic@v1.10.1-0.20180612190640-57f9005a1f1a/ansible/roles/nginx-ingress/tasks/main.yaml (about) 1 --- 2 - name: create /etc/kubernetes/specs directory 3 file: 4 path: "{{ kubernetes_spec_dir }}" 5 state: directory 6 7 8 - name: copy nginx-ingress-rbac.yaml to remote 9 template: 10 src: nginx-ingress-rbac.yaml 11 dest: "{{ kubernetes_spec_dir }}/nginx-ingress-rbac.yaml" 12 - name: create nginx-ingress-rbac resources 13 command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} apply -f {{ kubernetes_spec_dir }}/nginx-ingress-rbac.yaml 14 15 - name: copy default-backend.yaml to remote 16 template: 17 src: default-backend.yaml 18 dest: "{{ kubernetes_spec_dir }}/default-backend.yaml" 19 20 - name: get the name of the default-backend pod running on this node 21 command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} get pods -l=name=default-http-backend --template {%raw%}'{{range .items}}{{if eq .spec.nodeName{%endraw%} "{{ inventory_hostname|lower }}"{%raw%}}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}'{%endraw%} -n kube-system 22 register: pod_name 23 when: upgrading is defined and upgrading|bool == true 24 25 - name: start default-backend serivce 26 command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} apply -f {{ kubernetes_spec_dir }}/default-backend.yaml 27 28 - name: delete default-backend pod running on this node 29 command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} delete pod {{ pod_name.stdout }} -n kube-system --now 30 when: pod_name is defined and pod_name.stdout is defined and pod_name.stdout != "" 31 32 - name: copy nginx-ingress-controller.yaml to remote 33 template: 34 src: nginx-ingress-controller.yaml 35 dest: "{{ kubernetes_spec_dir }}/nginx-ingress-controller.yaml" 36 37 - name: get the name of the ingress pod running on this node 38 command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} get pods -l=name=ingress --template {%raw%}'{{range .items}}{{if eq .spec.nodeName{%endraw%} "{{ inventory_hostname|lower }}"{%raw%}}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}'{%endraw%} -n kube-system 39 register: pod_name 40 when: upgrading is defined and upgrading|bool == true 41 42 - name: start nginx-ingress-controller serivce 43 command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} apply -f {{ kubernetes_spec_dir }}/nginx-ingress-controller.yaml 44 register: out 45 46 - name: delete ingress pod running on this node 47 command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} delete pod {{ pod_name.stdout }} -n kube-system --now 48 when: pod_name is defined and pod_name.stdout is defined and pod_name.stdout != "" 49 50 - block: 51 - name: get the name of the ingress pod running on this node 52 command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} get pods -l=name=ingress --template {%raw%}'{{range .items}}{{if eq .spec.nodeName{%endraw%} "{{ inventory_hostname|lower }}"{%raw%}}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}'{%endraw%} -n kube-system 53 register: pod_name 54 until: pod_name is defined and pod_name.stdout is defined and pod_name.stdout != "" 55 retries: 20 56 delay: 6 57 58 - name: wait until pod is in "Running" state 59 command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} get pods {{ pod_name.stdout }} -o=jsonpath='{.status.phase}' -n kube-system 60 register: readyPods 61 until: readyPods.stdout == "Running" 62 retries: 20 63 delay: 6 64 when: run_pod_validation|bool == true