37 lines
1.4 KiB
YAML
37 lines
1.4 KiB
YAML
---
|
|
- name: "Pre-upgrade | etcd3 upgrade | see if old config exists"
|
|
command: "{{ bin_dir }}/etcdctl --peers={{ etcd_access_addresses }} ls /registry/minions"
|
|
environment:
|
|
ETCDCTL_API: 2
|
|
ETCDCTL_CERT_FILE: "{{ etcd_cert_dir }}/{{ kube_etcd_cert_file }}"
|
|
ETCDCTL_KEY_FILE: "{{ etcd_cert_dir }}/{{ kube_etcd_key_file }}"
|
|
register: old_data_exists
|
|
delegate_to: "{{groups['etcd'][0]}}"
|
|
changed_when: false
|
|
when: kube_apiserver_storage_backend == "etcd3"
|
|
failed_when: false
|
|
|
|
- name: "Pre-upgrade | etcd3 upgrade | use etcd2 unless forced to etcd3"
|
|
set_fact:
|
|
kube_apiserver_storage_backend: "etcd2"
|
|
when: old_data_exists.rc == 0 and not force_etcd3|bool
|
|
|
|
- name: "Pre-upgrade | Delete master manifests"
|
|
file:
|
|
path: "/etc/kubernetes/manifests/{{item}}.manifest"
|
|
state: absent
|
|
with_items:
|
|
- ["kube-apiserver", "kube-controller-manager", "kube-scheduler"]
|
|
register: kube_apiserver_manifest_replaced
|
|
when: (secret_changed|default(false) or etcd_secret_changed|default(false))
|
|
|
|
- name: "Pre-upgrade | Delete master containers forcefully"
|
|
shell: "docker ps -af name=k8s_{{item}}* -q | xargs --no-run-if-empty docker rm -f"
|
|
with_items:
|
|
- ["kube-apiserver", "kube-controller-manager", "kube-scheduler"]
|
|
when: kube_apiserver_manifest_replaced.changed
|
|
register: remove_master_container
|
|
retries: 4
|
|
until: remove_master_container.rc == 0
|
|
delay: 5
|