Files
netology-devops-gw-infra/kubespray_init.yml

30 lines
1.3 KiB
YAML

---
- name: Initialize kubespray configuration
hosts: all
gather_facts: false
tasks:
- name: Terraform - get current state
ansible.builtin.command:
chdir: "{{ playbook_dir }}/terraform"
cmd: terraform show -json
register: terraform_current_state
- name: Terraform - set node ips from state
set_fact:
kube_control_node_host={{ terraform_current_state.stdout|from_json|json_query('values.outputs.cluster_ips.value.external[0]') }}
kube_worker_1_node_host={{ terraform_current_state.stdout|from_json|json_query('values.outputs.cluster_ips.value.external[1]') }}
kube_worker_2_node_host={{ terraform_current_state.stdout|from_json|json_query('values.outputs.cluster_ips.value.external[2]') }}
- name: Kubespray - initialize inventory
ansible.builtin.template:
src: "{{ playbook_dir }}/templates/kubespray/inventory.ini.j2"
dest: "{{ playbook_dir }}/ansible/kubespray/inventory.ini"
- name: Kubespray - get source code
ansible.builtin.git:
repo: "https://github.com/kubernetes-sigs/kubespray.git"
dest: "{{ playbook_dir }}/vendor/kubespray"
version: "{{ kubespray_version }}"
- name: Kubespray - install requirements
ansible.builtin.pip:
chdir: "{{ playbook_dir }}/vendor/kubespray"
requirements: requirements.txt