Files
home-cluster/bootstrap/templates/ansible/playbooks/cluster-installation.yaml.j2
T
Stephen BonnellandDevin Buhl d105410b6b feat!(kube-vip): Enable flux taking over kube-vip post-deployment. (#1357)
* feat!(kube-vip): Enable flux taking over kube-vip post-deployment.

* Update bootstrap/templates/kubernetes/apps/kube-system/kube-vip/app/kustomization.yaml.j2

* Update bootstrap/templates/kubernetes/apps/kube-system/kube-vip/app/kustomization.yaml.j2

* Update daemonset.yaml.j2

* Update rbac.yaml.j2

* Update bootstrap/templates/kubernetes/apps/kube-system/kustomization.yaml.j2

* Update kustomization.yaml.j2

* Update kustomization.yaml.j2

* Create .mjfilter.py

* Update bootstrap/templates/ansible/playbooks/cluster-installation.yaml.j2

* Update bootstrap/templates/kubernetes/apps/kube-system/kube-vip/ks.yaml.j2

---------

Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-03-06 08:19:51 -05:00

62 lines
1.8 KiB
YAML

---
- name: Cluster Installation
hosts: kubernetes
become: true
gather_facts: true
any_errors_fatal: true
pre_tasks:
- name: Pausing for 5 seconds...
ansible.builtin.pause:
seconds: 5
tasks:
- name: Check if cluster is installed
check_mode: false
ansible.builtin.stat:
path: /etc/rancher/k3s/config.yaml
register: k3s_installed
- name: Ignore manifests templates and urls if the cluster is already installed
when: k3s_installed.stat.exists
ansible.builtin.set_fact:
k3s_server_manifests_templates: []
k3s_server_manifests_urls: []
- name: Prevent downgrades
when: k3s_installed.stat.exists
ansible.builtin.include_tasks: tasks/version-check.yaml
- name: Install Kubernetes
ansible.builtin.include_role:
name: xanmanning.k3s
public: true
vars:
k3s_state: installed
- name: Kubeconfig
ansible.builtin.include_tasks: tasks/kubeconfig.yaml
- name: Wait for custom manifests to rollout
when:
- k3s_primary_control_node
- (k3s_server_manifests_templates | length > 0
or k3s_server_manifests_urls | length > 0)
kubernetes.core.k8s_info:
kubeconfig: /etc/rancher/k3s/k3s.yaml
kind: "{{ item.kind }}"
name: "{{ item.name }}"
namespace: "{{ item.namespace | default('') }}"
wait: true
wait_sleep: 10
wait_timeout: 360
loop:
- { name: cilium, kind: HelmChart, namespace: kube-system }
- { name: kube-vip, kind: DaemonSet, namespace: kube-system }
- name: Cilium
when: k3s_primary_control_node
ansible.builtin.include_tasks: tasks/cilium.yaml
- name: Cruft
when: k3s_primary_control_node
ansible.builtin.include_tasks: tasks/cruft.yaml