bedcca922c
Each node can have 3 IPs. 1. ansible_default_ip4 - whatever ansible things is the first IPv4 address usually with the default gw. 2. ip - An address to use on the local node to bind listeners and do local communication. For example, Vagrant boxes have a first address that is the NAT bridge and is common for all nodes. The second address/interface should be used. 3. access_ip - An address to use for node-to-node access. This is assumed to be used by other nodes to access the node and may not be actually assigned on the node. For example, AWS public ip that is not assigned to node. This updates the places addresses are used to use either ip or access_ip and walk up the list to find an address.
35 lines
1.3 KiB
YAML
35 lines
1.3 KiB
YAML
---
|
|
- name: Hosts | populate inventory into hosts file
|
|
lineinfile:
|
|
dest: /etc/hosts
|
|
regexp: "^{{ hostvars[item]['access_ip'] | default(hostvars[item]['ip'] | default(hostvars[item].ansible_default_ipv4.address)) }} {{ item }}$"
|
|
line: "{{ hostvars[item]['access_ip'] | default(hostvars[item]['ip'] | default(hostvars[item].ansible_default_ipv4.address)) }} {{ item }}"
|
|
state: present
|
|
backup: yes
|
|
when: hostvars[item].ansible_default_ipv4.address is defined
|
|
with_items: groups['all']
|
|
|
|
- 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 and 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
|