mirror of
https://github.com/Dannecron/netology-devops-gw-infra.git
synced 2025-12-25 15:22:36 +03:00
34 lines
1.5 KiB
YAML
34 lines
1.5 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
|
|
- name: Kubectl - initialize inventory
|
|
ansible.builtin.template:
|
|
src: "{{ playbook_dir }}/templates/kubectl/inventory.j2"
|
|
dest: "{{ playbook_dir }}/ansible/kubectl_init/inventory"
|