--- - name: Set no_proxy to all assigned cluster IPs and hostnames set_fact: no_proxy_prepare: >- {%- if loadbalancer_apiserver is defined -%} {{ apiserver_loadbalancer_domain_name| default('') }}, {{ loadbalancer_apiserver.address | default('') }}, {%- endif -%} {%- if no_proxy_exclude_workers | default(false) -%} {% set cluster_or_master = 'kube_control_plane' %} {%- else -%} {% set cluster_or_master = 'k8s_cluster' %} {%- endif -%} {%- for item in (groups[cluster_or_master] + groups['etcd']|default([]) + groups['calico_rr']|default([]))|unique -%} {{ hostvars[item]['access_ip'] | default(hostvars[item]['ip'] | default(fallback_ips[item])) }}, {%- if item != hostvars[item].get('ansible_hostname', '') -%} {{ hostvars[item]['ansible_hostname'] }}, {{ hostvars[item]['ansible_hostname'] }}.{{ dns_domain }}, {%- endif -%} {{ item }},{{ item }}.{{ dns_domain }}, {%- endfor -%} {%- if additional_no_proxy is defined -%} {{ additional_no_proxy }}, {%- endif -%} 127.0.0.1,localhost,{{ kube_service_addresses }},{{ kube_pods_subnet }},svc,svc.{{ dns_domain }} delegate_to: localhost connection: local delegate_facts: yes become: no run_once: yes - name: Populates no_proxy to all hosts set_fact: no_proxy: "{{ hostvars.localhost.no_proxy_prepare }}" proxy_env: "{{ proxy_env | combine({ 'no_proxy': hostvars.localhost.no_proxy_prepare, 'NO_PROXY': hostvars.localhost.no_proxy_prepare }) }}"