committed by
Kubernetes Prow Robot
7 changed files with 77 additions and 68 deletions
Unified 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