mirror of
https://github.com/khuedoan/homelab.git
synced 2025-07-04 15:27:52 +07:00
Add link in quick explanation
This commit is contained in:
14
README.md
14
README.md
@ -37,20 +37,22 @@
|
|||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
Quick explanation on how it works (currently just my quick brain dump because more people is visiting the repo):
|
### Quick explanation
|
||||||
|
|
||||||
- Enter the tools container, which contains all the neccessary tools (see building instruction bellow)
|
- Enter the tools container, which contains all the neccessary tools (see building instruction bellow)
|
||||||
- Run `make`
|
- Run `make`
|
||||||
- Ansible will render the configuration file for each bare metal machine (like IP, hostname...)
|
- Ansible will render the [configuration file for each bare metal machine (like IP, hostname...) and the PXE server from templates](./metal/roles/pxe-boot/templates)
|
||||||
- The tools container will create sibling containers to build a PXE server (includes DHCP, TFTP and HTTP server)
|
- The tools container will create sibling containers to build a PXE server (includes DHCP, TFTP and HTTP server)
|
||||||
- Ansible will wake the machines up using Wake on LAN
|
- Ansible will [wake the machines up](./metal/roles/pxe-boot/tasks/wake.yml) using Wake on LAN
|
||||||
- The machine start the boot process:
|
- The machine start the boot process:
|
||||||
- BIOS boot in network mode and look for DHCP server
|
- BIOS boot in network mode and look for DHCP server
|
||||||
- DHCP server point it to the TFTP server to get boot files and boot config
|
- DHCP server point it to the TFTP server to get boot files and boot config
|
||||||
- The boot config contains parameter to get automated OS installation config file (for example kickstart on CentOS or Fedora)
|
- The boot config contains parameter to get [automated OS installation config file](./master/metal/roles/pxe-boot/templates/http/kickstart/fedora.ks.j2)
|
||||||
- The OS get installed and the machine reboots to the new operating system
|
- The OS get installed and the machine reboots to the new operating system
|
||||||
- Terraform will create a Kubernetes cluster
|
- Terraform will create a Kubernetes [cluster](./infra/main.tf)
|
||||||
- ArgoCD will install the applications
|
- ArgoCD will install the [applications](./apps/resources)
|
||||||
|
|
||||||
|
### Layers
|
||||||
|
|
||||||
| Layer | Name | Description | Provisioner |
|
| Layer | Name | Description | Provisioner |
|
||||||
|-------|------------------------|---------------------------------------------------------|---------------------|
|
|-------|------------------------|---------------------------------------------------------|---------------------|
|
||||||
|
Reference in New Issue
Block a user