2016-05-27 17:55:52 +08:00
|
|
|
---
|
2017-02-18 05:22:34 +08:00
|
|
|
- set_fact:
|
|
|
|
kube_apiserver_count: "{{ groups['kube-master'] | length }}"
|
|
|
|
|
|
|
|
- set_fact:
|
|
|
|
kube_apiserver_address: "{{ ip | default(ansible_default_ipv4['address']) }}"
|
|
|
|
|
|
|
|
- set_fact:
|
|
|
|
kube_apiserver_access_address: "{{ access_ip | default(kube_apiserver_address) }}"
|
|
|
|
|
|
|
|
- set_fact:
|
|
|
|
is_kube_master: "{{ inventory_hostname in groups['kube-master'] }}"
|
|
|
|
|
|
|
|
- set_fact:
|
|
|
|
first_kube_master: "{{ hostvars[groups['kube-master'][0]]['access_ip'] | default(hostvars[groups['kube-master'][0]]['ip'] | default(hostvars[groups['kube-master'][0]]['ansible_default_ipv4']['address'])) }}"
|
|
|
|
|
2016-07-13 23:13:47 +08:00
|
|
|
- set_fact:
|
2016-09-28 19:05:08 +08:00
|
|
|
loadbalancer_apiserver_localhost: false
|
2016-11-22 02:36:05 +08:00
|
|
|
when: loadbalancer_apiserver is defined
|
2017-02-18 05:22:34 +08:00
|
|
|
|
2016-07-13 23:13:47 +08:00
|
|
|
- set_fact:
|
|
|
|
kube_apiserver_endpoint: |-
|
2016-12-27 23:39:00 +08:00
|
|
|
{% if not is_kube_master and loadbalancer_apiserver_localhost|default(false) -%}
|
|
|
|
https://localhost:{{ nginx_kube_apiserver_port|default(kube_apiserver_port) }}
|
2016-07-13 23:13:47 +08:00
|
|
|
{%- elif is_kube_master and loadbalancer_apiserver is not defined -%}
|
|
|
|
http://127.0.0.1:{{ kube_apiserver_insecure_port }}
|
|
|
|
{%- else -%}
|
|
|
|
{%- if loadbalancer_apiserver is defined and loadbalancer_apiserver.port is defined -%}
|
|
|
|
https://{{ apiserver_loadbalancer_domain_name|default('lb-apiserver.kubernetes.local') }}:{{ loadbalancer_apiserver.port|default(kube_apiserver_port) }}
|
|
|
|
{%- else -%}
|
|
|
|
https://{{ first_kube_master }}:{{ kube_apiserver_port }}
|
|
|
|
{%- endif -%}
|
|
|
|
{%- endif %}
|
|
|
|
|
2017-02-18 05:22:34 +08:00
|
|
|
- set_fact:
|
|
|
|
etcd_address: "{{ ip | default(ansible_default_ipv4['address']) }}"
|
|
|
|
|
|
|
|
- set_fact:
|
|
|
|
etcd_access_address: "{{ access_ip | default(etcd_address) }}"
|
|
|
|
|
|
|
|
- set_fact:
|
|
|
|
etcd_peer_url: "https://{{ etcd_access_address }}:2380"
|
|
|
|
|
|
|
|
- set_fact:
|
|
|
|
etcd_client_url: "https://{{ etcd_access_address }}:2379"
|
|
|
|
|
|
|
|
- set_fact:
|
|
|
|
etcd_authority: "127.0.0.1:2379"
|
|
|
|
|
|
|
|
- set_fact:
|
|
|
|
etcd_endpoint: "https://{{ etcd_authority }}"
|
|
|
|
|
2016-05-27 17:55:52 +08:00
|
|
|
- set_fact:
|
|
|
|
etcd_access_addresses: |-
|
2016-10-21 19:59:27 +08:00
|
|
|
{% for item in groups['etcd'] -%}
|
2016-12-02 07:37:59 +08:00
|
|
|
https://{{ hostvars[item]['access_ip'] | default(hostvars[item]['ip'] | default(hostvars[item]['ansible_default_ipv4']['address'])) }}:2379{% if not loop.last %},{% endif %}
|
2016-05-27 17:55:52 +08:00
|
|
|
{%- endfor %}
|
2017-02-18 05:22:34 +08:00
|
|
|
|
|
|
|
- set_fact:
|
2016-12-27 23:39:00 +08:00
|
|
|
etcd_access_endpoint: "{% if etcd_multiaccess|default(true) %}{{ etcd_access_addresses }}{% else %}{{ etcd_endpoint }}{% endif %}"
|
2017-02-18 05:22:34 +08:00
|
|
|
|
2016-05-27 17:55:52 +08:00
|
|
|
- set_fact:
|
|
|
|
etcd_member_name: |-
|
|
|
|
{% for host in groups['etcd'] %}
|
|
|
|
{% if inventory_hostname == host %}{{"etcd"+loop.index|string }}{% endif %}
|
|
|
|
{% endfor %}
|
2017-02-18 05:22:34 +08:00
|
|
|
|
2016-10-21 19:39:58 +08:00
|
|
|
- set_fact:
|
|
|
|
etcd_peer_addresses: |-
|
|
|
|
{% for item in groups['etcd'] -%}
|
2016-11-09 18:44:41 +08:00
|
|
|
{{ "etcd"+loop.index|string }}=https://{{ hostvars[item].access_ip | default(hostvars[item].ip | default(hostvars[item].ansible_default_ipv4['address'])) }}:2380{% if not loop.last %},{% endif %}
|
2016-10-21 19:39:58 +08:00
|
|
|
{%- endfor %}
|
2017-02-18 05:22:34 +08:00
|
|
|
|
2016-05-27 17:55:52 +08:00
|
|
|
- set_fact:
|
|
|
|
is_etcd_master: "{{ inventory_hostname in groups['etcd'] }}"
|
2017-02-18 05:22:34 +08:00
|
|
|
|
2016-06-24 20:25:16 +08:00
|
|
|
- set_fact:
|
|
|
|
etcd_after_v3: etcd_version | version_compare("v3.0.0", ">=")
|
2017-02-18 05:22:34 +08:00
|
|
|
|
2016-06-24 20:25:16 +08:00
|
|
|
- set_fact:
|
|
|
|
etcd_container_bin_dir: "{% if etcd_after_v3 %}/usr/local/bin/{% else %}/{% endif %}"
|
2017-02-18 05:22:34 +08:00
|
|
|
|
2016-12-09 00:48:54 +08:00
|
|
|
- set_fact:
|
|
|
|
peer_with_calico_rr: "{{ 'calico-rr' in groups and groups['calico-rr']|length > 0 }}"
|
2017-02-06 20:58:54 +08:00
|
|
|
|
|
|
|
- include: set_resolv_facts.yml
|
|
|
|
tags: [bootstrap-os, resolvconf, facts]
|