published: 12th of February 2024
Greeting fellow nerds! In this the 2024th year of our lord, Kermit J Frog. I am commited to upskilling on Observability and Kubernetes. To achieve this, I am building out my home lab and using the ways of DevOps.
Before I can start building a Kubernetes cluster, I need to build out all the supporting services. The following table lists the hardware and software technology I am using in my lab.
Component | Technology |
---|---|
Routing | VyOS |
Firewall | VyOS |
Wireless | Ubiquiti |
Switching | Mikrotik |
Remote Access | ZeroTier |
DNS | PiHole |
DHCP | Kea |
NTP | VyOS |
PKI | VyOS |
Virtualization | Proxmox |
Storage | TrueNas Scale |
Operating System | Ubutuntu |
Containerization | Docker |
Config Management | SaltStack |
Intrastructure as Code | Terraform |
Logging/Monitoring | OpenSearch |
App Service | Kubernetes |
I created a few diagrams to help visualize the network.
The physical network is a simple setup with three compute nodes, and a single switch. The following diagram shows the physical network layout.
The following points describe the physical network layout:
Functions are logically seperated into VLANs. The following diagram shows the VLAN assignment between the VyOS routers and the hypervisor switch.
The following points describe the VLAN assignments:
VRRP is used as the first-hop redundancy protocol. The following diagram shows the VRRP configuration between the VyOS routers.
The following points describe the VRRP configuration:
The IS-IS routing protocol is used to share routing information between the VyOS routers. The following diagram outlines the routing configuration for both the LAN and WAN.
The following points describe the routing configuration:
I am running a dual-stack network with IPv4 and IPv6. Each VLAN has a /23 IPv4 CIDR and a /64 IPv6 CIDR. The following table outlines the IPAM for the network.
Description | ID | IPv4 CIDR | IPv6 CIDR |
---|---|---|---|
MGMT | 50 | 10.100.50.0/23 | fd00:10:100:50::/64 |
Physical Infra | 52 | 10.100.52.0/23 | fd00:10:100:52::/64 |
Virtual Infra | 54 | 10.100.54.0/23 | fd00:10:100:54::/64 |
Kubernets | 56 | 10.100.56.0/23 | fd00:10:100:56::/64 |
LAN | 58 | 10.100.58.0/23 | fd00:10:100:58::/64 |
LAB | 60 | 10.100.60.0/23 | fd00:10:100:60::/64 |
Guest | 62 | 10.100.62.0/23 | fd00:10:100:62::/64 |
IOT | 64 | 10.100.64.0/23 | fd00:10:100:64::/64 |
CORE | 66 | 10.100.66.0/23 | fd00:10:100:66::/64 |
LOOPBACKS | 68 | 10.100.68.0/23 | fd00:10:100:68::/64 |
The following table lists the addresses for the physical infrastructure.
Device | Description | IPv4 | IPv6 |
---|---|---|---|
vrrp | gateway | 10.100.52.1/23 | fd00:10:100:52::1/64 |
rfw01 | core router/firewall | 10.100.52.2/23 | fd00:10:100:52::2/64 |
rfw02 | core router/firewall | 10.100.52.3/23 | fd00:10:100:52::3/64 |
rfw03 | core router/firewall | 10.100.52.4/23 | fd00:10:100:52::4/64 |
swc01 | switch | 10.100.52.5/23 | fd00:10:100:52::5/64 |
swc02 | switch (future) | 10.100.52.6/23 | fd00:10:100:52::6/64 |
pmx01 | compute | 10.100.52.10/23 | fd00:10:100:52::10/64 |
pmx02 | compute | 10.100.52.11/23 | fd00:10:100:52::11/64 |
pmx03 | compute | 10.100.52.12/23 | fd00:10:100:52::12/64 |
nas01 | storage | 10.100.52.13/23 | fd00:10:100:52::13/64 |
nas02 | storage (future) | 10.100.52.14/23 | fd00:10:100:52::14/64 |
The following table lists the IP addresses for the virtual infrastructure.
Device | Description | IPv4 | IPv6 |
---|---|---|---|
vrrp | gateway | 10.100.54.1/23 | fd00:10:100:54::1/64 |
rfw01 | core router/firewall | 10.100.54.2/23 | fd00:10:100:54::2/64 |
rfw02 | core router/firewall | 10.100.54.3/23 | fd00:10:100:54::3/64 |
rfw03 | core router/firewall | 10.100.54.4/23 | fd00:10:100:54::4/64 |
dns01 | dns server | 10.100.54.11/23 | fd00:10:100:54::11/64 |
dns02 | dns server | 10.100.54.12/23 | fd00:10:100:54::12/64 |
dcp01 | dhcp server | 10.100.54.13/23 | fd00:10:100:54::11/64 |
dcp02 | dhcp server | 10.100.54.14/23 | fd00:10:100:54::12/64 |
wlc01 | wireless controller | 10.100.54.15/23 | fd00:10:100:54::15/64 |
slt01 | salt master | 10.100.54.16/23 | fd00:10:100:54::16/64 |
slt02 | salt proxy | 10.100.54.17/23 | fd00:10:100:54::17/64 |
The following table lists the IP addresses for the core network.
Device | Description | IPv4 | IPv6 |
---|---|---|---|
rfw01 | core router/firewall | 10.100.66.1/32 | fd00:10:100:66::1/128 |
rfw02 | core router/firewall | 10.100.66.2/32 | fd00:10:100:66::2/128 |
rfw03 | core router/firewall | 10.100.66.3/32 | fd00:10:100:66::3/128 |
The following table lists the loopback IP addresses.
Device | Description | IPv4 | IPv6 |
---|---|---|---|
rfw01 | core router/firewall | 10.100.68.1/32 | fd00:10:100:68::1/128 |
rfw02 | core router/firewall | 10.100.68.2/32 | fd00:10:100:68::2/128 |
rfw03 | core router/firewall | 10.100.68.3/32 | fd00:10:100:68::3/128 |
That's all for now. I will keep updating this post as I progress through the build.
✌️ Peace out nerds. Stay weird! ✌️