github.com/jlmeeker/kismatic@v1.10.1-0.20180612190640-57f9005a1f1a/ansible/roles/kube-proxy/tasks/main.yaml (about)

     1  ---
     2    - name: create /etc/kubernetes/specs directory
     3      file:
     4        path: "{{ kubernetes_spec_dir }}"
     5        state: directory
     6  
     7    - name: copy kube-proxy.yaml to remote
     8      template:
     9        src: kube-proxy.yaml
    10        dest: "{{ kubernetes_spec_dir }}/kube-proxy.yaml"
    11        owner: "{{ kubernetes_owner }}"
    12        group: "{{ kubernetes_group }}"
    13        mode: "{{ kubernetes_service_mode }}"
    14  
    15    # Used during upgrades:
    16    # 1) figure out the pod name running on the node with --template (find the pod with nodeName == inventory_hostname)
    17    # 2) apply the new DS
    18    # 3) shutdown the existing pod and wait
    19    - name: get the name of the kube-proxy pod running on this node
    20      command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} get pods -l=k8s-app=kube-proxy --template {%raw%}'{{range .items}}{{if eq .spec.nodeName{%endraw%} "{{ inventory_hostname|lower }}"{%raw%}}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}'{%endraw%} -n kube-system
    21      register: pod_name
    22      when: upgrading is defined and upgrading|bool == true
    23  
    24    - name: start kube-proxy
    25      command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} apply -f {{ kubernetes_spec_dir }}/kube-proxy.yaml
    26      run_once: true
    27  
    28    - name: delete kube-proxy 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      # wait for pod to shutdown
    33    - name: wait until the kube-proxy pod running on this node is deleted
    34      command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} get pods {{ pod_name.stdout }} --ignore-not-found=true -n kube-system
    35      register: poddeleted
    36      until: poddeleted|success and poddeleted.stdout == ""
    37      retries: 20
    38      delay: 6
    39      when: pod_name is defined and pod_name.stdout is defined and pod_name.stdout != ""
    40  
    41    - name: label nodes for kube-proxy
    42      command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} label --overwrite nodes --selector kubernetes.io/hostname={{ inventory_hostname|lower }} kismatic/kube-proxy=true
    43      
    44    - name: get the name of the kube-proxy pod running on this node
    45      command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} get pods -l=k8s-app=kube-proxy --template {%raw%}'{{range .items}}{{if eq .spec.nodeName{%endraw%} "{{ inventory_hostname|lower }}"{%raw%}}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}'{%endraw%} -n kube-system
    46      register: pod_name
    47      until: pod_name is defined and pod_name.stdout is defined and pod_name.stdout != ""
    48      retries: 20
    49      delay: 6
    50  
    51    - name: wait until pod is in "Running" state
    52      command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} get pods {{ pod_name.stdout }} -o=jsonpath='{.status.phase}' -n kube-system
    53      register: readyPods
    54      until: readyPods.stdout == "Running"
    55      retries: 20
    56      delay: 6