Files
semaphore/kubernetes.yml
2023-11-23 16:59:38 +01:00

53 lines
1.5 KiB
YAML

---
- name: Main playbook for Kubernetes cluster
hosts: kubernetes
become: true
roles:
- { role: ansible-role-linux-kubernetes, tags: [setup-cluster] }
- { role: geerlingguy.helm, tags: helm, when: inventory_hostname in groups['kubemaster'],
}
tasks:
- name: Add kubectl alias and completion only on master nodes
ansible.builtin.lineinfile:
path: "{{ item.path }}"
regexp: "{{ item.regexp }}"
state: "{{ item.state|default('present') }}"
line: "{{ item.line|default(omit) }}"
loop: "{{ kubernetes_alias_bashrc }}"
when:
- inventory_hostname in groups['kubemaster']
tags:
- kubernetes
# pip install kubernetes
- block:
- name: Download manifest on master
ansible.builtin.get_url:
url: "{{ item.url }}"
dest: "~/{{ item.url.split('/') | last }}"
mode: '0664'
run_once: true
loop: "{{ kubernetes_app }}"
- name: Create namespace
kubernetes.core.k8s:
name: "{{ item.namespace }}"
api_version: v1
kind: Namespace
state: present
loop: "{{ kubernetes_app }}"
- name: Apply manifest
kubernetes.core.k8s:
namespace: "{{ item.namespace }}"
state: present
src: "~/{{ item.url.split('/') | last }}"
loop: "{{ kubernetes_app }}"
when:
- inventory_hostname in groups['kubemaster']
- kubernetes_init_app
tags:
- kubernetes