189ce380bd
* Add unique annotation on coredns deployment and only remove existing deployment if annotation is missing.
* Ignore errors when gathering coredns deployment details to handle case where it doesn't exist yet
* Remove run_once, deletegate_to and add to when statement
(cherry picked from commit 0cc1726781
)
32 lines
1 KiB
YAML
32 lines
1 KiB
YAML
---
|
|
- name: Kubernetes Apps | Register coredns deployment annotation `createdby`
|
|
shell: "{{ bin_dir }}/kubectl get deploy -n kube-system coredns -o jsonpath='{ .spec.template.metadata.annotations.createdby }'"
|
|
register: createdby_annotation
|
|
changed_when: false
|
|
ignore_errors: true
|
|
when:
|
|
- dns_mode in ['coredns', 'coredns_dual']
|
|
- inventory_hostname == groups['kube-master'][0]
|
|
|
|
- name: Kubernetes Apps | Delete kubeadm CoreDNS
|
|
kube:
|
|
name: "coredns"
|
|
namespace: "kube-system"
|
|
kubectl: "{{ bin_dir }}/kubectl"
|
|
resource: "deploy"
|
|
state: absent
|
|
when:
|
|
- dns_mode in ['coredns', 'coredns_dual']
|
|
- inventory_hostname == groups['kube-master'][0]
|
|
- createdby_annotation.stdout != 'kubespray'
|
|
|
|
- name: Kubernetes Apps | Delete kubeadm Kube-DNS service
|
|
kube:
|
|
name: "kube-dns"
|
|
namespace: "kube-system"
|
|
kubectl: "{{ bin_dir }}/kubectl"
|
|
resource: "svc"
|
|
state: absent
|
|
when:
|
|
- dns_mode in ['coredns', 'coredns_dual']
|
|
- inventory_hostname == groups['kube-master'][0]
|