mirror of
https://github.com/jcwimer/startup-infrastructure
synced 2026-05-18 02:46:48 +00:00
Switched from docker swarm to Kubernetes with rke
This commit is contained in:
70
roles/kubernetes/tasks/deploy-rke.yml
Normal file
70
roles/kubernetes/tasks/deploy-rke.yml
Normal file
@@ -0,0 +1,70 @@
|
||||
---
|
||||
- name: Create RKE directory
|
||||
file:
|
||||
path: "{{ rke_directory }}"
|
||||
state: directory
|
||||
mode: '0774'
|
||||
owner: "{{ standard_user }}"
|
||||
group: "{{ standard_user }}"
|
||||
delegate_to: localhost
|
||||
run_once: 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
|
||||
dest: "{{ rke_directory }}/{{ rke_cluster_name }}.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:
|
||||
- kube-state-metrics-deployment.yaml
|
||||
- kube-state-metrics-service.yaml
|
||||
- kube-state-metrics-rbac.yaml
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
|
||||
- name: Run RKE
|
||||
shell: >
|
||||
bash -c "{{ rke_directory }}/rke up --config {{ rke_directory }}/{{ rke_cluster_name }}.yaml"
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
retries: 5
|
||||
delay: 5
|
||||
register: rke_install
|
||||
until: rke_install.rc == 0
|
||||
|
||||
- name: Set permissions on rke directory
|
||||
file:
|
||||
path: "{{ rke_directory }}"
|
||||
state: directory
|
||||
mode: '0774'
|
||||
owner: "{{ standard_user }}"
|
||||
group: "{{ standard_user }}"
|
||||
recurse: yes
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
@@ -1,74 +1,9 @@
|
||||
---
|
||||
- name: Create RKE directory
|
||||
file:
|
||||
path: "{{ rke_directory }}"
|
||||
state: directory
|
||||
mode: '0774'
|
||||
owner: "{{ standard_user }}"
|
||||
group: "{{ standard_user }}"
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
become: true
|
||||
- name: RKE Pre Tasks
|
||||
import_tasks: pre-rke.yml
|
||||
|
||||
- name: Create RKE Configs directory
|
||||
file:
|
||||
path: "{{ rke_directory }}/configs"
|
||||
state: directory
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
become: true
|
||||
- name: RKE Deploy Kubernetes
|
||||
import_tasks: deploy-rke.yml
|
||||
|
||||
- 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
|
||||
become: true
|
||||
|
||||
- name: Make RKE executable
|
||||
file:
|
||||
dest: "{{ rke_directory }}/rke"
|
||||
mode: +x
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
become: true
|
||||
|
||||
- name: Put RKE cluster config in place
|
||||
template:
|
||||
src: ../templates/rke-cluster-deployment.yaml.j2
|
||||
dest: "{{ rke_directory }}/{{ rke_cluster_name }}.yaml"
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
become: true
|
||||
|
||||
- name: Put RKE configs in place
|
||||
template:
|
||||
src: ../templates/rke-configs/{{ item }}.j2
|
||||
dest: "{{ rke_directory }}/configs/{{ item }}"
|
||||
with_items:
|
||||
- kube-state-metrics-deployment.yaml
|
||||
- kube-state-metrics-service.yaml
|
||||
- kube-state-metrics-rbac.yaml
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
become: true
|
||||
|
||||
- name: Run RKE
|
||||
shell: >
|
||||
bash -c "{{ rke_directory }}/rke up --config {{ rke_directory }}/{{ rke_cluster_name }}.yaml"
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
become: true
|
||||
|
||||
- name: Set permissions on rke directory
|
||||
file:
|
||||
path: "{{ rke_directory }}"
|
||||
state: directory
|
||||
mode: '0774'
|
||||
owner: "{{ standard_user }}"
|
||||
group: "{{ standard_user }}"
|
||||
recurse: yes
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
become: true
|
||||
- name: RKE Post Tasks
|
||||
import_tasks: post-rke.yml
|
||||
@@ -9,4 +9,18 @@
|
||||
copy:
|
||||
src: "{{ rke_directory }}/{{ rke_cluster_name }}.rkestate"
|
||||
dest: "{{ rke_node_directory }}/{{ rke_cluster_name }}.rkestate"
|
||||
become: true
|
||||
become: true
|
||||
|
||||
- name: Create .kube folder in standard users home directory
|
||||
file:
|
||||
path: /home/{{ standard_user }}/.kube
|
||||
state: directory
|
||||
become: true
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Copy kube config to standard users home directory
|
||||
copy:
|
||||
src: "{{ rke_directory }}/kube_config_{{ rke_cluster_name }}.yaml"
|
||||
dest: /home/{{ standard_user }}/.kube/config
|
||||
become: true
|
||||
delegate_to: localhost
|
||||
@@ -41,6 +41,36 @@
|
||||
group: "{{ standard_user }}"
|
||||
become: true
|
||||
|
||||
- name: Create flex volume folder
|
||||
file:
|
||||
path: /usr/libexec/kubernetes/kubelet-plugins/volume/exec
|
||||
state: directory
|
||||
become: true
|
||||
|
||||
- name: Create Rook storage Directory
|
||||
file:
|
||||
path: /var/lib/rook
|
||||
state: directory
|
||||
mode: '0774'
|
||||
become: true
|
||||
when: rook_enabled is defined and rook_enabled | bool == True
|
||||
|
||||
- name: Create Longhorn Storage Directory
|
||||
file:
|
||||
path: /var/lib/rancher/longhorn
|
||||
state: directory
|
||||
mode: '0774'
|
||||
become: true
|
||||
when: longhorn_enabled is defined and longhorn_enabled | bool == True
|
||||
|
||||
- name: Create Longhorn Setting Directory
|
||||
file:
|
||||
path: /var/lib/longhorn-setting
|
||||
state: directory
|
||||
mode: '0774'
|
||||
become: true
|
||||
when: longhorn_enabled is defined and longhorn_enabled | bool == True
|
||||
|
||||
- name: Check if RKE cluster state file exists
|
||||
stat:
|
||||
path: "{{ rke_node_directory }}/{{ rke_cluster_name }}.rkestate"
|
||||
|
||||
Reference in New Issue
Block a user