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