refactor!: remove MetalLB

Replaced by Cilium L2 Aware LB.

Additionally, the default Zerotier route was changed to match the
LB IP pool rather than the entire home subnet. This makes it easier
to manage in the configure script and can be updated to any value
later if needed.
This commit is contained in:
Khue Doan 2023-12-12 10:24:48 +07:00
parent 9f0d389abc
commit 65af4ff8e6
7 changed files with 7 additions and 35 deletions

View File

@ -115,6 +115,11 @@ They can't capture all the project's features, but they are sufficient to get a
<td><a href="https://cert-manager.io">cert-manager</a></td>
<td>Cloud native certificate management</td>
</tr>
<tr>
<td><img width="32" src="https://avatars.githubusercontent.com/u/21054566?s=200&v=4"></td>
<td><a href="https://cilium.io">Cilium</a></td>
<td>eBPF-based Networking, Observability and Security (CNI, LB, Network Policy, etc.)</td>
</tr>
<tr>
<td><img width="32" src="https://avatars.githubusercontent.com/u/314135?s=200&v=4"></td>
<td><a href="https://www.cloudflare.com">Cloudflare</a></td>
@ -175,11 +180,6 @@ They can't capture all the project's features, but they are sufficient to get a
<td><a href="https://longhorn.io">Longhorn</a></td>
<td>Cloud native distributed block storage for Kubernetes</td>
</tr>
<tr>
<td><img width="32" src="https://avatars.githubusercontent.com/u/60239468?s=200&v=4"></td>
<td><a href="https://metallb.org">MetalLB</a></td>
<td>Bare metal load-balancer for Kubernetes</td>
</tr>
<tr>
<td><img width="32" src="https://avatars.githubusercontent.com/u/1412239?s=200&v=4"></td>
<td><a href="https://www.nginx.com">NGINX</a></td>

View File

@ -62,7 +62,6 @@ flowchart TD
end
subgraph system[./system]
metallb[MetalLB]
nginx[NGINX]
longhorn[Longhorn]
cert-manager
@ -137,9 +136,7 @@ Below is the pseudo code for the entire process, you don't have to read it right
copy k3s config files
enable k3s service and form a cluster
create KUBECONFIG file
create MetalLB config:
use the last /27 subnet of the network
apply the config
install Cilium
build ./bootstrap:
install ArgoCD:
apply helm chart

View File

@ -9,6 +9,6 @@ module "zerotier" {
source = "./modules/zerotier"
zerotier_central_token = var.zerotier_central_token
bridged_routes = [
"192.168.1.0/24" # TODO add this to configure script
"192.168.1.224/27"
]
}

View File

@ -1,7 +0,0 @@
apiVersion: v2
name: metallb
version: 0.0.0
dependencies:
- name: metallb
version: 0.13.9
repository: https://metallb.github.io/metallb

View File

@ -1,8 +0,0 @@
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: default
namespace: {{ .Release.Namespace }}
spec:
addresses:
- 192.168.1.224/27

View File

@ -1,8 +0,0 @@
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: default
namespace: {{ .Release.Namespace }}
spec:
ipAddressPools:
- default

View File

@ -1,2 +0,0 @@
metallb:
existingConfigMap: metallb-config