diff --git a/roles/upgrade/tasks/main.yml b/roles/upgrade/tasks/main.yml new file mode 100644 index 0000000..1eff9c2 --- /dev/null +++ b/roles/upgrade/tasks/main.yml @@ -0,0 +1,71 @@ +--- +# tasks file for upgrade + +- name: Add Google Cloud Repo Key + shell: curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - + +- name: Add Kubernetes to Available apt Sources + template: + src: kubernetes.list + dest: /etc/apt/sources.list.d/kubernetes.list + owner: root + group: root + mode: 0644 + +- name: apt-get update + apt: + update_cache: yes + autoclean: yes + autoremove: yes + +- name: Upgrade kubeadm + apt: + name: "{{ item }}" + state: latest + with_items: + - kubeadm + delegate_to: master + +#- name: Determine latest stable version of Kubernetes +# uri: +# url: https://dl.k8s.io/release/stable.txt +# return_content: yes +# register: stable_ver +- name: Determine latest stable version of Kubernetes + shell: curl -sSL https://dl.k8s.io/release/stable.txt + register: stable_ver + +- name: Upgrade cluster with kubeadm + shell: "kubeadm upgrade apply -y {{ stable_ver.stdout }}" + delegate_to: master + +- name: Cordon Hosts + shell: "kubectl cordon {{ inventory_hostname }}" + delegate_to: master + tags: cordon + +- name: Drain Hosts + shell: "kubectl drain {{ inventory_hostname }} --ignore-daemonsets" + delegate_to: master + ignore_errors: yes + tags: drain + +- name: Upgrade Y'all + apt: + name: "{{ item }}" + state: latest + with_items: + - kubelet + - kubectl + tags: + - kubelet + - kubectl + +- name: Uncordon Hosts + shell: "kubectl uncordon {{ inventory_hostname }}" + delegate_to: master + tags: uncordon + +- name: Show Nodes + shell: kubectl get nodes + delegate_to: master \ No newline at end of file diff --git a/roles/upgrade/templates/kubernetes.list b/roles/upgrade/templates/kubernetes.list new file mode 100644 index 0000000..afbf3e6 --- /dev/null +++ b/roles/upgrade/templates/kubernetes.list @@ -0,0 +1 @@ +deb http://apt.kubernetes.io/ kubernetes-xenial main \ No newline at end of file diff --git a/upgrade.yml b/upgrade.yml new file mode 100644 index 0000000..80d455a --- /dev/null +++ b/upgrade.yml @@ -0,0 +1,3 @@ +- hosts: all + roles: + - upgrade \ No newline at end of file