--- - name: Hosts | populate inventory into hosts file blockinfile: dest: /etc/hosts block: |- {% for item in (groups['k8s-cluster'] + groups['etcd'] + groups['calico-rr']|default([]))|unique -%}{{ hostvars[item]['access_ip'] | default(hostvars[item]['ip'] | default(hostvars[item]['ansible_default_ipv4']['address'])) }}{% if (item != hostvars[item]['ansible_hostname']) %} {{ hostvars[item]['ansible_hostname'] }} {{ hostvars[item]['ansible_hostname'] }}.{{ dns_domain }}{% endif %} {{ item }} {{ item }}.{{ dns_domain }} {% endfor %} state: present create: yes backup: yes marker: "# Ansible inventory hosts {mark}" - name: Hosts | populate kubernetes loadbalancer address into hosts file lineinfile: dest: /etc/hosts regexp: ".*{{ apiserver_loadbalancer_domain_name }}$" line: "{{ loadbalancer_apiserver.address }} {{ apiserver_loadbalancer_domain_name| default('lb-apiserver.kubernetes.local') }}" state: present backup: yes when: - loadbalancer_apiserver is defined - loadbalancer_apiserver.address is defined - apiserver_loadbalancer_domain_name is defined - name: Hosts | localhost ipv4 in hosts file lineinfile: dest: /etc/hosts line: "127.0.0.1 localhost localhost.localdomain" regexp: '^127.0.0.1.*$' state: present backup: yes - name: Hosts | localhost ipv6 in hosts file lineinfile: dest: /etc/hosts line: "::1 localhost6 localhost6.localdomain" regexp: '^::1.*$' state: present backup: yes