Skip to content
Snippets Groups Projects
main.yml 2.24 KiB
Newer Older
  • Learn to ignore specific revisions
  • Smaine Kahlouch's avatar
    Smaine Kahlouch committed
    ---
    
    - include: pre-upgrade.yml
    
    Bogdan Dobrelya's avatar
    Bogdan Dobrelya committed
      tags: k8s-pre-upgrade
    
    - name: Copy kubectl from hyperkube container
    
      command: "{{ docker_bin_dir }}/docker run --rm -v {{ bin_dir }}:/systembindir {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }} /bin/cp /hyperkube /systembindir/kubectl"
    
      register: kube_task_result
      until: kube_task_result.rc == 0
      retries: 4
    
      delay: "{{ retry_stagger | random + 3 }}"
    
      changed_when: false
    
    Bogdan Dobrelya's avatar
    Bogdan Dobrelya committed
      tags: [hyperkube, kubectl, upgrade]
    
    - name: Install kubectl bash completion
      shell: "{{ bin_dir }}/kubectl completion bash >/etc/bash_completion.d/kubectl.sh"
      #no_log: true
    
      when: ansible_os_family in ["Debian","RedHat"]
    
    Bogdan Dobrelya's avatar
    Bogdan Dobrelya committed
      tags: kubectl
    
    - name: Set kubectl bash completion file
      file:
        path: /etc/bash_completion.d/kubectl.sh
    
      when: ansible_os_family in ["Debian","RedHat"]
    
    Bogdan Dobrelya's avatar
    Bogdan Dobrelya committed
      tags: [kubectl, upgrade]
    
    - name: Write kube-apiserver manifest
    
      template:
    
        src: manifests/kube-apiserver.manifest.j2
        dest: "{{ kube_manifest_dir }}/kube-apiserver.manifest"
    
      notify: Master | wait for the apiserver to be running
    
    Bogdan Dobrelya's avatar
    Bogdan Dobrelya committed
      tags: kube-apiserver
    
    
    - name: copy kube system namespace manifest
      copy: src=namespace.yml dest={{kube_config_dir}}/{{system_namespace}}-ns.yml
    
      run_once: yes
      when: inventory_hostname == groups['kube-master'][0]
    
    Bogdan Dobrelya's avatar
    Bogdan Dobrelya committed
      tags: apps
    
    - name: Check if kube system namespace exists
      command: "{{ bin_dir }}/kubectl get ns {{system_namespace}}"
    
    ant31's avatar
    ant31 committed
      register: 'kubesystem'
      changed_when: False
    
      failed_when: False
    
    ant31's avatar
    ant31 committed
      run_once: yes
    
    Bogdan Dobrelya's avatar
    Bogdan Dobrelya committed
      tags: apps
    
    ant31's avatar
    ant31 committed
    
    
    - name: Create kube system namespace
      command: "{{ bin_dir }}/kubectl create -f {{kube_config_dir}}/{{system_namespace}}-ns.yml"
    
    ant31's avatar
    ant31 committed
      changed_when: False
    
      when: kubesystem|failed and inventory_hostname == groups['kube-master'][0]
    
    Bogdan Dobrelya's avatar
    Bogdan Dobrelya committed
      tags: apps
    
    ant31's avatar
    ant31 committed
    
    
    - name: Write kube-controller-manager manifest
      template:
        src: manifests/kube-controller-manager.manifest.j2
    
        dest: "{{ kube_manifest_dir }}/kube-controller-manager.manifest"
    
      notify: Master | wait for kube-controller-manager
    
    Bogdan Dobrelya's avatar
    Bogdan Dobrelya committed
      tags: kube-controller-manager
    
    
    - name: Write kube-scheduler manifest
      template:
        src: manifests/kube-scheduler.manifest.j2
    
        dest: "{{ kube_manifest_dir }}/kube-scheduler.manifest"
    
      notify: Master | wait for kube-scheduler
    
    Bogdan Dobrelya's avatar
    Bogdan Dobrelya committed
      tags: kube-scheduler