committed by
Kubernetes Prow Robot
7 changed files with 77 additions and 68 deletions
Split View
Diff Options
-
2extra_playbooks/upgrade-only-k8s.yml
-
3roles/kubernetes/master/defaults/main.yml
-
70roles/kubernetes/master/tasks/kubeadm-setup.yml
-
33roles/kubernetes/master/tasks/kubeadm-upgrade.yml
-
33roles/kubernetes/master/tasks/kubeadm-version.yml
-
2roles/kubernetes/master/tasks/pre-upgrade.yml
-
2upgrade-cluster.yml
@ -0,0 +1,33 @@ |
|||
--- |
|||
- name: kubeadm | Upgrade first master |
|||
command: >- |
|||
timeout -k 600s 600s |
|||
{{ bin_dir }}/kubeadm |
|||
upgrade apply -y {{ kube_version }} |
|||
--config={{ kube_config_dir }}/kubeadm-config.yaml |
|||
--ignore-preflight-errors=all |
|||
--allow-experimental-upgrades |
|||
--allow-release-candidate-upgrades |
|||
--etcd-upgrade=false |
|||
--force |
|||
register: kubeadm_upgrade |
|||
# Retry is because upload config sometimes fails |
|||
retries: 3 |
|||
when: inventory_hostname == groups['kube-master']|first |
|||
failed_when: kubeadm_upgrade.rc != 0 and "field is immutable" not in kubeadm_upgrade.stderr |
|||
notify: Master | restart kubelet |
|||
|
|||
- name: kubeadm | Upgrade other masters |
|||
command: >- |
|||
timeout -k 600s 600s |
|||
{{ bin_dir }}/kubeadm |
|||
upgrade apply -y {{ kube_version }} |
|||
--config={{ kube_config_dir }}/kubeadm-config.yaml |
|||
--ignore-preflight-errors=all |
|||
--allow-experimental-upgrades |
|||
--allow-release-candidate-upgrades |
|||
--etcd-upgrade=false |
|||
register: kubeadm_upgrade |
|||
when: inventory_hostname != groups['kube-master']|first |
|||
failed_when: kubeadm_upgrade.rc != 0 and "field is immutable" not in kubeadm_upgrade.stderr |
|||
notify: Master | restart kubelet |
@ -0,0 +1,33 @@ |
|||
--- |
|||
- name: gets the kubeadm version |
|||
command: "{{ bin_dir }}/kubeadm version -o short" |
|||
register: kubeadm_output |
|||
|
|||
- name: sets kubeadm api version to v1alpha1 |
|||
set_fact: |
|||
kubeadmConfig_api_version: v1alpha1 |
|||
when: kubeadm_output.stdout is version('v1.11.0', '<') |
|||
|
|||
- name: sets kubeadm api version to v1alpha2 |
|||
set_fact: |
|||
kubeadmConfig_api_version: v1alpha2 |
|||
when: |
|||
- kubeadm_output.stdout is version('v1.11.0', '>=') |
|||
- kubeadm_output.stdout is version('v1.12.0', '<') |
|||
|
|||
- name: sets kubeadm api version to v1alpha3 |
|||
set_fact: |
|||
kubeadmConfig_api_version: v1alpha3 |
|||
when: |
|||
- kubeadm_output.stdout is version('v1.12.0', '>=') |
|||
- kubeadm_output.stdout is version('v1.13.0', '<') |
|||
|
|||
- name: sets kubeadm api version to v1beta1 |
|||
set_fact: |
|||
kubeadmConfig_api_version: v1beta1 |
|||
when: kubeadm_output.stdout is version('v1.13.0', '>=') |
|||
|
|||
- name: kubeadm | Create kubeadm config |
|||
template: |
|||
src: "kubeadm-config.{{ kubeadmConfig_api_version }}.yaml.j2" |
|||
dest: "{{ kube_config_dir }}/kubeadm-config.yaml" |
Write
Preview
Loading…
Cancel
Save