* Change to FQCN with ansible-lint fixer Since ansible-base 2.10 (later ansible-core), FQCN is the new way to go. Updated .ansible-lint with a production profile and removed fqcn in skip_list. Updated .yamllint with rules needed. Ran ansible-lint --fix=all, then manually applied some minor changes. * Changed octal value in molecule/ipv6/prepare.yml
69 lines
1.8 KiB
YAML
69 lines
1.8 KiB
YAML
---
|
|
- name: Pre tasks
|
|
hosts: all
|
|
pre_tasks:
|
|
- name: Verify Ansible is version 2.11 or above. (If this fails you may need to update Ansible)
|
|
ansible.builtin.assert:
|
|
that: ansible_version.full is version_compare('2.11', '>=')
|
|
msg: >
|
|
"Ansible is out of date. See here for more info: https://docs.technotim.live/posts/ansible-automation/"
|
|
|
|
- name: Prepare Proxmox cluster
|
|
hosts: proxmox
|
|
gather_facts: true
|
|
become: true
|
|
environment: "{{ proxy_env | default({}) }}"
|
|
roles:
|
|
- role: proxmox_lxc
|
|
when: proxmox_lxc_configure
|
|
|
|
- name: Prepare k3s nodes
|
|
hosts: k3s_cluster
|
|
gather_facts: true
|
|
environment: "{{ proxy_env | default({}) }}"
|
|
roles:
|
|
- role: lxc
|
|
become: true
|
|
when: proxmox_lxc_configure
|
|
- role: prereq
|
|
become: true
|
|
- role: download
|
|
become: true
|
|
- role: raspberrypi
|
|
become: true
|
|
- role: k3s_custom_registries
|
|
become: true
|
|
when: custom_registries
|
|
|
|
- name: Setup k3s servers
|
|
hosts: master
|
|
environment: "{{ proxy_env | default({}) }}"
|
|
roles:
|
|
- role: k3s_server
|
|
become: true
|
|
|
|
- name: Setup k3s agents
|
|
hosts: node
|
|
environment: "{{ proxy_env | default({}) }}"
|
|
roles:
|
|
- role: k3s_agent
|
|
become: true
|
|
|
|
- name: Configure k3s cluster
|
|
hosts: master
|
|
environment: "{{ proxy_env | default({}) }}"
|
|
roles:
|
|
- role: k3s_server_post
|
|
become: true
|
|
|
|
- name: Storing kubeconfig in the playbook directory
|
|
hosts: master
|
|
environment: "{{ proxy_env | default({}) }}"
|
|
tasks:
|
|
- name: Copying kubeconfig from {{ hostvars[groups[group_name_master | default('master')][0]]['ansible_hostname'] }}
|
|
ansible.builtin.fetch:
|
|
src: "{{ ansible_user_dir }}/.kube/config"
|
|
dest: ./kubeconfig
|
|
flat: true
|
|
when: ansible_hostname == hostvars[groups[group_name_master | default('master')][0]]['ansible_hostname']
|