102 lines
3.0 KiB
YAML
102 lines
3.0 KiB
YAML
---
|
|
- name: Creates RKE directory on nodes
|
|
file:
|
|
path: "{{ rke_node_directory }}"
|
|
state: directory
|
|
|
|
- name: Create RKE directory
|
|
file:
|
|
path: "{{ rke_directory }}"
|
|
state: directory
|
|
delegate_to: localhost
|
|
run_once: true
|
|
|
|
- name: Check if RKE cluster state file exists
|
|
stat:
|
|
path: "{{ rke_node_directory }}/{{ rke_cluster_name }}.rkestate"
|
|
register: cluster_state_result
|
|
|
|
- name: Check if RKE kubeconfig file exists
|
|
stat:
|
|
path: "{{ rke_node_directory }}/kube_config_{{ rke_cluster_name }}.yaml"
|
|
register: kube_config_result
|
|
|
|
- name: Copy RKE cluster state back to local if it already exists
|
|
fetch:
|
|
src: "{{ rke_node_directory }}/{{ rke_cluster_name }}.rkestate"
|
|
dest: "{{ rke_directory }}/{{ rke_cluster_name }}.rkestate"
|
|
when: cluster_state_result.stat.exists == True
|
|
|
|
- name: Copy RKE kube config if it already exists
|
|
fetch:
|
|
src: "{{ rke_node_directory }}/kube_config_{{ rke_cluster_name }}.yaml"
|
|
dest: "{{ rke_directory }}/kube_config_{{ rke_cluster_name }}.yaml"
|
|
when: kube_config_result.stat.exists == True
|
|
|
|
- name: Create RKE Configs directory
|
|
file:
|
|
path: "{{ rke_directory }}/configs"
|
|
state: directory
|
|
delegate_to: localhost
|
|
run_once: true
|
|
|
|
- name: Install RKE
|
|
get_url:
|
|
dest: "{{ rke_directory }}/rke"
|
|
url: https://github.com/rancher/rke/releases/download/v{{ rke_version }}/rke_linux-amd64
|
|
delegate_to: localhost
|
|
run_once: true
|
|
|
|
- name: Make RKE executable
|
|
file:
|
|
dest: "{{ rke_directory }}/rke"
|
|
mode: +x
|
|
delegate_to: localhost
|
|
run_once: true
|
|
|
|
- name: Put RKE cluster config in place
|
|
template:
|
|
src: ../templates/rke-cluster-deployment.yaml.j2
|
|
dest: "{{ rke_directory }}/rke-cluster-deployment.yaml"
|
|
delegate_to: localhost
|
|
run_once: true
|
|
|
|
- name: Put RKE configs in place
|
|
template:
|
|
src: ../templates/rke-configs/{{ item }}.j2
|
|
dest: "{{ rke_directory }}/configs/{{ item }}"
|
|
with_items:
|
|
- nfs-client-deployment.yaml
|
|
- nfs-client-rbac.yaml
|
|
- nfs-client-storageclass.yaml
|
|
- alertmanager-pvc.yaml
|
|
- alertmanager-configmap.yaml
|
|
- alertmanager-deployment.yaml
|
|
- alertmanager-service.yaml
|
|
- kube-state-metrics-deployment.yaml
|
|
- kube-state-metrics-service.yaml
|
|
- kube-state-metrics-rbac.yaml
|
|
- node-exporter.yaml
|
|
- prometheus-configmap.yaml
|
|
- prometheus-rbac.yaml
|
|
- prometheus-statefulset.yaml
|
|
- prometheus-service.yaml
|
|
- monitoring-ingress.yaml
|
|
delegate_to: localhost
|
|
run_once: true
|
|
|
|
- name: Run RKE
|
|
shell: >
|
|
bash -c "{{ rke_directory }}/rke up --config {{ rke_directory }}/rke-cluster-deployment.yaml"
|
|
delegate_to: localhost
|
|
run_once: true
|
|
|
|
- name: Copy RKE kube config back to nodes after RKE run
|
|
copy:
|
|
src: "{{ rke_directory }}/kube_config_{{ rke_cluster_name }}.yaml"
|
|
dest: "{{ rke_node_directory }}/kube_config_{{ rke_cluster_name }}.yaml"
|
|
|
|
- name: Copy RKE cluster state back to nodes after RKE run
|
|
copy:
|
|
src: "{{ rke_directory }}/{{ rke_cluster_name }}.rkestate"
|
|
dest: "{{ rke_node_directory }}/{{ rke_cluster_name }}.rkestate" |