Playbooks and Templates to deploy resorces in my home lab
Ansible directory and file structure follows the recommendations here: (Best Practices)[https://docs.ansible.com/ansible/2.8/user_guide/playbooks_best_practices.html]
ansible-playbook -K -i hosts --extra-vars "proxy_admin_username= proxy_admin_password= vm_root_pass=" site.yml
ansible-playbook -K -i hosts --tags dhcpd site.yml
ansible-playbook -K -i hosts --extra-vars vm_root_pass="" --tags virt site.yml
ansible-playbook -K -i hosts --tags bind site.yml
ansible-playbook -K -i hosts --tags nfs site.yml
cd homelab/image-builder-blueprints
# Modiffy and push the blueprint
composer-cli blueprints push kubernetes_node.toml
# Check blueprint
composer-cli blueprints list
composer-cli blueprints show kubernetes_node
composer-cli blueprints depsolve kubernetes_node
# Build image
composer-cli compose start kubernetes_node qcow2
# Check status
composer-cli compose status
# Download image by UUID
composer-cli compose image UUID
cd homelab/terraform/cluster_deploy
TF_VAR_redhat_email=<ReplaceWithRedHatEmail> TF_VAR_redhat_password='<ReplaceWithRealPassword>' TF_VAR_ssh_public_key=$(cat ~/.ssh/id_rsa.pub) TF_VAR_base_image=<base image path> terraform apply -var-file=homelab.tfvars
cd homelab/ansible
ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook --private-key=/home/erik/.ssh/id_rsa -i hosts k8s_cluster.yml -K
These terraform configs will install essential configurations / applications such as:
- Service Mesh
- Certificate Manager
- NFS Storage Class
- OpenID Connect (OIDC) Authentication
- Roles & RoleBindings
cd homelab/terraform/cluster_config
terraform apply -var-file=variable.tfvars