diff --git a/roles/kubespray_defaults/defaults/main/main.yml b/roles/kubespray_defaults/defaults/main/main.yml index 17289f0db..8fc30ef52 100644 --- a/roles/kubespray_defaults/defaults/main/main.yml +++ b/roles/kubespray_defaults/defaults/main/main.yml @@ -646,8 +646,8 @@ apiserver_loadbalancer_domain_name: "lb-apiserver.kubernetes.local" kube_apiserver_global_endpoint: |- {% if loadbalancer_apiserver is defined -%} https://{{ apiserver_loadbalancer_domain_name }}:{{ loadbalancer_apiserver.port | default(kube_apiserver_port) }} - {%- elif loadbalancer_apiserver_localhost and (loadbalancer_apiserver_port is not defined or loadbalancer_apiserver_port == kube_apiserver_port) -%} - https://localhost:{{ kube_apiserver_port }} + {%- elif loadbalancer_apiserver_localhost -%} + https://localhost:{{ loadbalancer_apiserver_port | default(kube_apiserver_port) }} {%- else -%} https://{{ first_kube_control_plane_address | ansible.utils.ipwrap }}:{{ kube_apiserver_port }} {%- endif %} diff --git a/roles/network_plugin/calico/templates/kubernetes-services-endpoint.yml.j2 b/roles/network_plugin/calico/templates/kubernetes-services-endpoint.yml.j2 index f1e81776e..36c548cc3 100644 --- a/roles/network_plugin/calico/templates/kubernetes-services-endpoint.yml.j2 +++ b/roles/network_plugin/calico/templates/kubernetes-services-endpoint.yml.j2 @@ -5,7 +5,7 @@ metadata: namespace: kube-system name: kubernetes-services-endpoint data: -{% if calico_bpf_enabled %} +{% if calico_bpf_enabled or loadbalancer_apiserver_localhost %} KUBERNETES_SERVICE_HOST: "{{ kube_apiserver_global_endpoint | urlsplit('hostname') }}" KUBERNETES_SERVICE_PORT: "{{ kube_apiserver_global_endpoint | urlsplit('port') }}" {% endif %}