Browse Source
fix: use super-admin.conf for kube-vip on first master when it exists (#11422)
* fix: use super-admin.conf for kube-vip when it exists
* Mathieu Parent add as co-author
Co-authored-by: Mathieu Parent <math.parent@gmail.com>
* template change for readability
* fix lint error
---------
Co-authored-by: Mathieu Parent <math.parent@gmail.com>
pull/11442/head
Selçuk Arıbalı
3 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
27 additions and
1 deletions
-
roles/kubernetes/node/tasks/loadbalancer/kube-vip.yml
-
roles/kubernetes/node/templates/manifests/kube-vip.manifest.j2
|
|
@ -6,6 +6,32 @@ |
|
|
|
- kube_proxy_mode == 'ipvs' and not kube_proxy_strict_arp |
|
|
|
- kube_vip_arp_enabled |
|
|
|
|
|
|
|
- name: Kube-vip | Check if super-admin.conf exists |
|
|
|
stat: |
|
|
|
path: "{{ kube_config_dir }}/super-admin.conf" |
|
|
|
failed_when: false |
|
|
|
changed_when: false |
|
|
|
register: stat_kube_vip_super_admin |
|
|
|
|
|
|
|
- name: Kube-vip | Check if kubeadm has already run |
|
|
|
stat: |
|
|
|
path: "/var/lib/kubelet/config.yaml" |
|
|
|
get_attributes: no |
|
|
|
get_checksum: no |
|
|
|
get_mime: no |
|
|
|
register: kubeadm_already_run |
|
|
|
|
|
|
|
- name: Kube-vip | Set admin.conf |
|
|
|
set_fact: |
|
|
|
kube_vip_admin_conf: admin.conf |
|
|
|
|
|
|
|
- name: Kube-vip | Set admin.conf for first Control Plane |
|
|
|
set_fact: |
|
|
|
kube_vip_admin_conf: super-admin.conf |
|
|
|
when: |
|
|
|
- inventory_hostname == groups['kube_control_plane'] | first |
|
|
|
- (stat_kube_vip_super_admin.stat.exists and stat_kube_vip_super_admin.stat.isreg) or (not kubeadm_already_run.stat.exists ) |
|
|
|
|
|
|
|
- name: Kube-vip | Write static pod |
|
|
|
template: |
|
|
|
src: manifests/kube-vip.manifest.j2 |
|
|
|
|
|
@ -119,6 +119,6 @@ spec: |
|
|
|
hostNetwork: true |
|
|
|
volumes: |
|
|
|
- hostPath: |
|
|
|
path: /etc/kubernetes/admin.conf |
|
|
|
path: /etc/kubernetes/{{kube_vip_admin_conf}} |
|
|
|
name: kubeconfig |
|
|
|
status: {} |