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
parent
commit
e43e08c7d1
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
2 changed files with 27 additions and 1 deletions
  1. 26
      roles/kubernetes/node/tasks/loadbalancer/kube-vip.yml
  2. 2
      roles/kubernetes/node/templates/manifests/kube-vip.manifest.j2

26
roles/kubernetes/node/tasks/loadbalancer/kube-vip.yml

@ -6,6 +6,32 @@
- kube_proxy_mode == 'ipvs' and not kube_proxy_strict_arp - kube_proxy_mode == 'ipvs' and not kube_proxy_strict_arp
- kube_vip_arp_enabled - 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 - name: Kube-vip | Write static pod
template: template:
src: manifests/kube-vip.manifest.j2 src: manifests/kube-vip.manifest.j2

2
roles/kubernetes/node/templates/manifests/kube-vip.manifest.j2

@ -119,6 +119,6 @@ spec:
hostNetwork: true hostNetwork: true
volumes: volumes:
- hostPath: - hostPath:
path: /etc/kubernetes/admin.conf
path: /etc/kubernetes/{{kube_vip_admin_conf}}
name: kubeconfig name: kubeconfig
status: {} status: {}
Loading…
Cancel
Save