mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-02-21 05:00:13 -03:30
Use api lookup for kubelet hostname when using cloudprovider (#1686)
The value cannot be determined properly via local facts, so checking k8s api is the most reliable way to look up what hostname is used when using a cloudprovider.
This commit is contained in:
@@ -6,6 +6,13 @@
|
||||
enabled: yes
|
||||
failed_when: false
|
||||
|
||||
- name: Calico | Get kubelet hostname
|
||||
shell: >-
|
||||
kubectl get node -o custom-columns='NAME:.metadata.name,INTERNAL-IP:.status.addresses[?(@.type=="InternalIP")].address'
|
||||
| egrep "[[:space:]]{{ ansible_all_ipv4_addresses | join('[[:space:]]|[[:space:]]') }}[[:space:]]*$" | cut -d" " -f1
|
||||
register: calico_kubelet_name
|
||||
when: cloud_provider is defined
|
||||
|
||||
- name: Calico | Write Calico cni config
|
||||
template:
|
||||
src: "cni-calico.conf.j2"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "calico-k8s-network",
|
||||
{% if cloud_provider is defined %}
|
||||
"nodename": "{{ inventory_hostname }}",
|
||||
"nodename": "{{ calico_kubelet_name.stdout }}",
|
||||
{% else %}
|
||||
"nodename": "{{ ansible_hostname }}",
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user