50 lines
1.5 KiB
YAML
50 lines
1.5 KiB
YAML
---
|
|
- name: Kubernetes Apps | Wait for kube-apiserver
|
|
uri:
|
|
url: "{{ kube_apiserver_endpoint }}/healthz"
|
|
validate_certs: false
|
|
client_cert: "{{ kube_apiserver_client_cert }}"
|
|
client_key: "{{ kube_apiserver_client_key }}"
|
|
register: result
|
|
until: result.status == 200
|
|
retries: 10
|
|
delay: 6
|
|
when: inventory_hostname == groups['kube_control_plane'][0]
|
|
|
|
- name: Set role node label to empty list
|
|
set_fact:
|
|
role_node_labels: []
|
|
|
|
- name: Node label for nvidia GPU nodes
|
|
set_fact:
|
|
role_node_labels: "{{ role_node_labels + ['nvidia.com/gpu=true'] }}"
|
|
when:
|
|
- nvidia_gpu_nodes is defined
|
|
- nvidia_accelerator_enabled | bool
|
|
- inventory_hostname in nvidia_gpu_nodes
|
|
|
|
- name: Set inventory node label to empty list
|
|
set_fact:
|
|
inventory_node_labels: []
|
|
|
|
- name: Populate inventory node label
|
|
set_fact:
|
|
inventory_node_labels: "{{ inventory_node_labels + ['%s=%s' | format(item.key, item.value)] }}"
|
|
loop: "{{ node_labels | d({}) | dict2items }}"
|
|
when:
|
|
- node_labels is defined
|
|
- node_labels is mapping
|
|
|
|
- debug: # noqa name[missing]
|
|
var: role_node_labels
|
|
- debug: # noqa name[missing]
|
|
var: inventory_node_labels
|
|
|
|
- name: Set label to node
|
|
command: >-
|
|
{{ kubectl }} label node {% if kube_override_hostname %}{{ kube_override_hostname }}{% else %}{{ inventory_hostname }}{% endif %} {{ item }} --overwrite=true
|
|
loop: "{{ role_node_labels + inventory_node_labels }}"
|
|
delegate_to: "{{ groups['kube_control_plane'][0] }}"
|
|
changed_when: false
|
|
...
|