All checks were successful
Blog Deployment / Check-Rebuild (push) Successful in 6s
Blog Deployment / Build (push) Has been skipped
Blog Deployment / Deploy-Staging (push) Successful in 10s
Blog Deployment / Test-Staging (push) Successful in 2s
Blog Deployment / Merge (push) Successful in 6s
Blog Deployment / Deploy-Production (push) Successful in 9s
Blog Deployment / Test-Production (push) Successful in 2s
Blog Deployment / Clean (push) Has been skipped
Blog Deployment / Notify (push) Successful in 3s
1.5 KiB
1.5 KiB
slug, title, description, date, draft, tags, categories
slug | title | description | date | draft | tags | categories |
---|---|---|---|---|---|---|
Template | true |
Intro
After have created a Kubernetes cluster in my homelab with kubeadm
in [that post]({{< ref "post/8-create-manual-kubernetes-cluster-kubeadm" >}}), my next goal is to expose a simple pod externally, reachable with an URL and secured with a TLS certificate verified by Let's Encrypt.
To achieve that, I will need several components:
- Service: TODO add oneline description
- Ingress: TODO add oneline description
- Ingress Controller: TODO add oneline description
- TLS Certificates: TODO add oneline description
For these components to work, I will have to install new products. To install them, I will use Helm
Helm
Install Helm
explain install Helm
Services
TODO add why we need service
What is a Kubernetes Service
Different Kubernetes Services
ClusterIP
NodePort
LoadBalancer
Expose a LoadBalancer Service with BGP
What is BGP
Traditional MetalLB Approach
BGP with Cilium
Enable BGP
Enable BGP in OPNsense
Enable BGP in Cilium
Provisioning Your First LoadBalancer with BGP
Using an IP Address
Using a URL
Ingress
TODO add why we need service