github.com/jlmeeker/kismatic@v1.10.1-0.20180612190640-57f9005a1f1a/ansible/roles/metrics-server/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 metrics-server.yaml to remote
     8      template:
     9        src: metrics-server.yaml
    10        dest: "{{ kubernetes_spec_dir }}/metrics-server.yaml"
    11  
    12    - name: start metrics-server
    13      command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} apply -f {{ kubernetes_spec_dir }}/metrics-server.yaml
    14  
    15    - block:
    16      - name: wait until metrics-server pods are ready
    17        command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} get deployment metrics-server -n kube-system -o jsonpath='{.status.availableReplicas}'
    18        register: readyReplicas
    19        until: readyReplicas.stdout|int == 1
    20        retries: 24
    21        delay: 10
    22        failed_when: false # We don't want this task to actually fail (We catch the failure with a custom msg in the next task)
    23      - name: fail if any metrics-serverpods are not ready
    24        fail:
    25          msg: "Timed out waiting for metrics-server pods to be in the ready state."
    26        when: readyReplicas.stdout|int != 1
    27      when: run_pod_validation|bool == true