v1.0.5
This commit is contained in:
parent
d844bd3933
commit
cff19d90ad
8
.gitmodules
vendored
8
.gitmodules
vendored
@ -1,18 +1,18 @@
|
|||||||
[submodule "roles/ericomeehan.eom"]
|
[submodule "roles/ericomeehan.eom"]
|
||||||
path = roles/ericomeehan.eom
|
path = roles/ericomeehan.eom
|
||||||
url = git@git.eom.dev:eom/ansible-role-eom.git
|
url = git@git.eom.dev:DevOps/ansible-role-eom.git
|
||||||
[submodule "roles/ericomeehan.debian"]
|
[submodule "roles/ericomeehan.debian"]
|
||||||
path = roles/ericomeehan.debian
|
path = roles/ericomeehan.debian
|
||||||
url = git@git.eom.dev:eom/ansible-role-debian.git
|
url = git@git.eom.dev:DevOps/ansible-role-debian.git
|
||||||
[submodule "roles/ericomeehan.gondwana"]
|
[submodule "roles/ericomeehan.gondwana"]
|
||||||
path = roles/ericomeehan.gondwana
|
path = roles/ericomeehan.gondwana
|
||||||
url = git@git.eom.dev:eom/ansible-role-gondwana.git
|
url = git@git.eom.dev:eom/ansible-role-gondwana.git
|
||||||
[submodule "roles/ericomeehan.ericomeehan"]
|
[submodule "roles/ericomeehan.ericomeehan"]
|
||||||
path = roles/ericomeehan.ericomeehan
|
path = roles/ericomeehan.ericomeehan
|
||||||
url = git@git.eom.dev:eom/ansible-role-ericomeehan.git
|
url = git@git.eom.dev:eric/ansible-role-ericomeehan.git
|
||||||
[submodule "roles/ericomeehan.nvidia_driver"]
|
[submodule "roles/ericomeehan.nvidia_driver"]
|
||||||
path = roles/ericomeehan.nvidia_driver
|
path = roles/ericomeehan.nvidia_driver
|
||||||
url = git@git.eom.dev:eom/ansible-role-nvidia-driver.git
|
url = git@git.eom.dev:DevOps/ansible-role-nvidia-driver.git
|
||||||
[submodule "roles/ericomeehan.kraken-bot"]
|
[submodule "roles/ericomeehan.kraken-bot"]
|
||||||
path = roles/ericomeehan.kraken-bot
|
path = roles/ericomeehan.kraken-bot
|
||||||
url = git@git.eom.dev:kraken/ansible-role-kraken-bot.git
|
url = git@git.eom.dev:kraken/ansible-role-kraken-bot.git
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
# Group vars for Kubernetes control plane nodes
|
# Group vars for Kubernetes control plane nodes
|
||||||
kubernetes_role: control_plane
|
kubernetes_role: control_plane
|
||||||
|
helm_version: 'v3.16.3'
|
||||||
open_ports:
|
open_ports:
|
||||||
- interface: any
|
- interface: any
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
|
1
host_vars/alpha-worker-10.yaml
Normal file
1
host_vars/alpha-worker-10.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
name: alpha-worker-10
|
1
host_vars/alpha-worker-11.yaml
Normal file
1
host_vars/alpha-worker-11.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
name: alpha-worker-11
|
1
host_vars/alpha-worker-12.yaml
Normal file
1
host_vars/alpha-worker-12.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
name: alpha-worker-12
|
1
host_vars/alpha-worker-4.yaml
Normal file
1
host_vars/alpha-worker-4.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
name: alpha-worker-4
|
1
host_vars/alpha-worker-5.yaml
Normal file
1
host_vars/alpha-worker-5.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
name: alpha-worker-5
|
1
host_vars/alpha-worker-6.yaml
Normal file
1
host_vars/alpha-worker-6.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
name: alpha-worker-6
|
1
host_vars/alpha-worker-7.yaml
Normal file
1
host_vars/alpha-worker-7.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
name: alpha-worker-7
|
1
host_vars/alpha-worker-8.yaml
Normal file
1
host_vars/alpha-worker-8.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
name: alpha-worker-8
|
1
host_vars/alpha-worker-9.yaml
Normal file
1
host_vars/alpha-worker-9.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
name: alpha-worker-9
|
@ -1 +0,0 @@
|
|||||||
name: gamma-worker-0
|
|
@ -1 +0,0 @@
|
|||||||
name: gamma-worker-1
|
|
@ -1 +0,0 @@
|
|||||||
name: gamma-worker-2
|
|
@ -1 +0,0 @@
|
|||||||
name: gamma-worker-3
|
|
@ -19,15 +19,14 @@ libvirt_guests:
|
|||||||
- alpha-worker-1
|
- alpha-worker-1
|
||||||
- alpha-worker-2
|
- alpha-worker-2
|
||||||
- alpha-worker-3
|
- alpha-worker-3
|
||||||
- beta-control-plane
|
- alpha-worker-4
|
||||||
- beta-worker-0
|
- alpha-worker-5
|
||||||
- beta-worker-1
|
- alpha-worker-6
|
||||||
- beta-worker-2
|
- alpha-worker-7
|
||||||
- beta-worker-3
|
- alpha-worker-8
|
||||||
- gamma-control-plane
|
- alpha-worker-9
|
||||||
- gamma-worker-0
|
- alpha-worker-10
|
||||||
- gamma-worker-1
|
- alpha-worker-11
|
||||||
- gamma-worker-2
|
- alpha-worker-12
|
||||||
- gamma-worker-3
|
|
||||||
nfs_exports: ["/data *(rw,sync,no_root_squash)"]
|
nfs_exports: ["/data *(rw,sync,no_root_squash)"]
|
||||||
nvidia_driver_needed: true
|
nvidia_driver_needed: true
|
||||||
|
@ -19,22 +19,21 @@ all:
|
|||||||
control_planes:
|
control_planes:
|
||||||
hosts:
|
hosts:
|
||||||
alpha-control-plane:
|
alpha-control-plane:
|
||||||
beta-control-plane:
|
|
||||||
gamma-control-plane:
|
|
||||||
workers:
|
workers:
|
||||||
hosts:
|
hosts:
|
||||||
alpha-worker-0:
|
alpha-worker-0:
|
||||||
alpha-worker-1:
|
alpha-worker-1:
|
||||||
alpha-worker-2:
|
alpha-worker-2:
|
||||||
alpha-worker-3:
|
alpha-worker-3:
|
||||||
beta-worker-0:
|
alpha-worker-4:
|
||||||
beta-worker-1:
|
alpha-worker-5:
|
||||||
beta-worker-2:
|
alpha-worker-6:
|
||||||
beta-worker-3:
|
alpha-worker-7:
|
||||||
gamma-worker-0:
|
alpha-worker-8:
|
||||||
gamma-worker-1:
|
alpha-worker-9:
|
||||||
gamma-worker-2:
|
alpha-worker-10:
|
||||||
gamma-worker-3:
|
alpha-worker-11:
|
||||||
|
alpha-worker-12:
|
||||||
alpha:
|
alpha:
|
||||||
hosts:
|
hosts:
|
||||||
alpha-control-plane:
|
alpha-control-plane:
|
||||||
@ -42,17 +41,12 @@ all:
|
|||||||
alpha-worker-1:
|
alpha-worker-1:
|
||||||
alpha-worker-2:
|
alpha-worker-2:
|
||||||
alpha-worker-3:
|
alpha-worker-3:
|
||||||
beta:
|
alpha-worker-4:
|
||||||
hosts:
|
alpha-worker-5:
|
||||||
beta-control-plane:
|
alpha-worker-6:
|
||||||
beta-worker-0:
|
alpha-worker-7:
|
||||||
beta-worker-1:
|
alpha-worker-8:
|
||||||
beta-worker-2:
|
alpha-worker-9:
|
||||||
beta-worker-3:
|
alpha-worker-10:
|
||||||
gamma:
|
alpha-worker-11:
|
||||||
hosts:
|
alpha-worker-12:
|
||||||
gamma-control-plane:
|
|
||||||
gamma-worker-0:
|
|
||||||
gamma-worker-1:
|
|
||||||
gamma-worker-2:
|
|
||||||
gamma-worker-3:
|
|
||||||
|
@ -53,6 +53,7 @@
|
|||||||
- qemu-utils
|
- qemu-utils
|
||||||
- qemu-system-x86
|
- qemu-system-x86
|
||||||
- libvirt-daemon-system
|
- libvirt-daemon-system
|
||||||
|
- prometheus-libvirt-exporter
|
||||||
- python3-libvirt
|
- python3-libvirt
|
||||||
- python3-lxml
|
- python3-lxml
|
||||||
state: present
|
state: present
|
||||||
|
154
reassign.yaml
Normal file
154
reassign.yaml
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
- name: Deploy virtual machines
|
||||||
|
hosts: poweredge-t640
|
||||||
|
become: true
|
||||||
|
vars_files:
|
||||||
|
- ../secrets.yaml
|
||||||
|
vars:
|
||||||
|
libvirt_guests:
|
||||||
|
- alpha-worker-8
|
||||||
|
- alpha-worker-9
|
||||||
|
- alpha-worker-10
|
||||||
|
- alpha-worker-11
|
||||||
|
- alpha-worker-12
|
||||||
|
tasks:
|
||||||
|
- name: Download base image
|
||||||
|
get_url:
|
||||||
|
url: https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2
|
||||||
|
dest: /var/lib/libvirt/images/debian-12-generic-amd64.qcow2
|
||||||
|
force: true
|
||||||
|
|
||||||
|
- name: Copy base image
|
||||||
|
copy:
|
||||||
|
src: /var/lib/libvirt/images/debian-12-generic-amd64.qcow2
|
||||||
|
remote_src: true
|
||||||
|
dest: "/var/lib/libvirt/images/{{ item }}.qcow2"
|
||||||
|
force: true
|
||||||
|
loop: "{{ libvirt_guests }}"
|
||||||
|
|
||||||
|
- name: Resize images
|
||||||
|
command: "qemu-img resize -f qcow2 /var/lib/libvirt/images/{{ item }}.qcow2 16G"
|
||||||
|
loop: "{{ libvirt_guests }}"
|
||||||
|
|
||||||
|
- name: Create cloud-config directory
|
||||||
|
file:
|
||||||
|
path: "/tmp/{{ item }}"
|
||||||
|
state: directory
|
||||||
|
loop: "{{ libvirt_guests }}"
|
||||||
|
|
||||||
|
- name: Copy cloud-config user-data template
|
||||||
|
template:
|
||||||
|
src: user-data.j2
|
||||||
|
dest: "/tmp/{{ domain.name }}/user-data"
|
||||||
|
force: true
|
||||||
|
loop: "{{ libvirt_guests }}"
|
||||||
|
vars:
|
||||||
|
domain: "{{ hostvars[item] }}"
|
||||||
|
|
||||||
|
- name: Copy cloud-config meta-data template
|
||||||
|
template:
|
||||||
|
src: meta-data.j2
|
||||||
|
dest: "/tmp/{{ domain.name }}/meta-data"
|
||||||
|
force: true
|
||||||
|
loop: "{{ libvirt_guests }}"
|
||||||
|
vars:
|
||||||
|
domain: "{{ hostvars[item] }}"
|
||||||
|
|
||||||
|
- name: Generate iso
|
||||||
|
command: "genisoimage -output /var/lib/libvirt/images/{{ item }}.iso -volid cidata -joliet -rock /tmp/{{ item }}/user-data /tmp/{{ item }}/meta-data"
|
||||||
|
loop: "{{ libvirt_guests }}"
|
||||||
|
|
||||||
|
- name: Define libvirt virtual machine
|
||||||
|
community.libvirt.virt:
|
||||||
|
command: define
|
||||||
|
xml: "{{ lookup('template', 'libvirt-vm.xml.j2') }}"
|
||||||
|
loop: "{{ libvirt_guests }}"
|
||||||
|
vars:
|
||||||
|
domain: "{{ hostvars[item] }}"
|
||||||
|
|
||||||
|
- name: Create libvirt virtual machine
|
||||||
|
community.libvirt.virt:
|
||||||
|
name: "{{ item }}"
|
||||||
|
command: create
|
||||||
|
loop: "{{ libvirt_guests }}"
|
||||||
|
|
||||||
|
- name: Autostart libvirt virtual machines
|
||||||
|
community.libvirt.virt:
|
||||||
|
name: "{{ item }}"
|
||||||
|
autostart: true
|
||||||
|
loop: "{{ libvirt_guests }}"
|
||||||
|
|
||||||
|
- name: Wait for guest initialization
|
||||||
|
wait_for:
|
||||||
|
timeout: 300
|
||||||
|
|
||||||
|
- name: Reset libvirt virtual machines for filesystem resize
|
||||||
|
command: "virsh reset {{ item }}"
|
||||||
|
loop: "{{ libvirt_guests }}"
|
||||||
|
|
||||||
|
- name: Wait for manual tasks
|
||||||
|
hosts: localhost
|
||||||
|
tasks:
|
||||||
|
- name: Trust SSH identities
|
||||||
|
pause:
|
||||||
|
prompt: "Press Enter to continue..."
|
||||||
|
|
||||||
|
- name: Initialize virtual machines
|
||||||
|
hosts:
|
||||||
|
- alpha-worker-8
|
||||||
|
- alpha-worker-9
|
||||||
|
- alpha-worker-10
|
||||||
|
- alpha-worker-11
|
||||||
|
- alpha-worker-12
|
||||||
|
become: true
|
||||||
|
vars_files:
|
||||||
|
- ../secrets.yaml
|
||||||
|
roles:
|
||||||
|
- role: ericomeehan.ericomeehan
|
||||||
|
|
||||||
|
- name: Initialize Kubernetes clusters
|
||||||
|
hosts:
|
||||||
|
- alpha-worker-8
|
||||||
|
- alpha-worker-9
|
||||||
|
- alpha-worker-10
|
||||||
|
- alpha-worker-11
|
||||||
|
- alpha-worker-12
|
||||||
|
become: true
|
||||||
|
pre_tasks:
|
||||||
|
- name: Enable IPv4 packet forwarding
|
||||||
|
lineinfile:
|
||||||
|
path: /etc/sysctl.conf
|
||||||
|
line: 'net.ipv4.ip_forward = 1'
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Enable IPv6 packet forwarding
|
||||||
|
lineinfile:
|
||||||
|
path: /etc/sysctl.conf
|
||||||
|
line: 'net.ipv6.conf.all.forwarding = 1'
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Reload sysctl configuration
|
||||||
|
command: sysctl --system
|
||||||
|
|
||||||
|
- name: Enable br_netfilter kernel module
|
||||||
|
command: modprobe br_netfilter
|
||||||
|
|
||||||
|
- name: Add the module to a configuration file for persistence
|
||||||
|
lineinfile:
|
||||||
|
path: /etc/modules-load.d/modules.conf
|
||||||
|
line: "br_netfilter"
|
||||||
|
|
||||||
|
- name: Install kubernetes library
|
||||||
|
apt:
|
||||||
|
name: python3-kubernetes
|
||||||
|
state: present
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- role: geerlingguy.containerd
|
||||||
|
|
||||||
|
- name: Alpha Cluster
|
||||||
|
hosts:
|
||||||
|
- alpha
|
||||||
|
become: true
|
||||||
|
roles:
|
||||||
|
- role: geerlingguy.kubernetes
|
||||||
|
|
@ -1 +1 @@
|
|||||||
Subproject commit 67778bbe57120fb67dec9d019559cf911af3b0a6
|
Subproject commit e8178f218d8fcbf58a46b928ee7451901e104125
|
@ -1 +1 @@
|
|||||||
Subproject commit 4b9534a27ef2c7a096f58959d9762647f524b96d
|
Subproject commit 7a3c04febc0ab5d6370da362ab80d862bfc3dd39
|
Loading…
Reference in New Issue
Block a user