3.0 KiB
Almost automated step by step walkthrough of full lab deployment
This is will be the complete walkthrough of the deployment of my homelab.
This repo is a mono-repo that is broken up into three sections:
- infra-config
- cluster-config
- apps
Getting Started
-
On a PC/laptop, clone this git repo
(Ansibilze this process (below) )
-
Create your vault file for secrets (and store somewhere safe)
echo 'master-ansible-password' > ~/.vault_pass.txt chmod 644 ~/.vault_pass.txt -
Add "export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt" to your shell profile.
-
Create vault file
cd homelab/group_vars/all ansible-vault create vault -
Modify ansible variables for your environment
Network Manual
https://registry.terraform.io/providers/ubiquiti-community/unifi/latest/docs/resources/network
Storage Manual
Proxmox Manual
https://registry.terraform.io/providers/bpg/proxmox/latest
Unbound DNS Manual
Build infra01
-
From laptop run ansible playbook to:
cd homelab/infra-config ansible-playbook -i inventory.yml 03-infra01-server/install.yml- Install ansible-core
- Copy .vault_pass.txt from laptop and set env variable
- Clone git repo
- Install ansible required packages
scp ~/.vault_pass.txt infra01:. ssh infra01 cd homelab ansible-galaxy collection install -r requirements.yml ansible-playbook -i inventory.yml 10-sno-hub-cluster/install.yml
Other needed software:
kustomizegit- oc
ansibleterraform
FreeIPA Manual
Templates Manual
Matchbox Manual
- Downloading the Agent-based Installer
Hub Cluster In Progress
-
Prepare matchbox to install hub cluster
Running this playbook will configure Matchbox to wait for the sno-cluster to boot via iPXE and will install Single Node OpenShift. All configuration files are built from templates driven from Ansible variables.
cd homelab ansible-playbook -i inventory.yml 10-sno-hub-cluster/install.yml -
PXE boot the SNO host
Boot host to boot options menu:
- <F12> for Dell 7050
Select NIC with matching MAC to boot from
-
Monitor installation process
openshift-install --dir homelab/10-sno-hub-cluster/03-openshift-image agent wait-for bootstrap-complete --log-level=debug -
Admin password and kubeconfig are in the homelab/10-sno-hub-cluster/03-openshift-image/auth directory
-
Bootstrap ACM
From laptop/infra server:
cd homelab oc apply -k hub-cluster-bootstrap oc apply -f ~/ocp/doppler-token.yaml oc apply -k hub-cluster-bootstrap
Internal Cluster TBD
(Deployed in conjunction with ACM)
External Cluster TBD
(Deployed in conjunction with ACM)