Files
Blog/content/post/deploy kub application.md
Gitea Actions 12db348a61
All checks were successful
Blog Deployment / Check-Rebuild (push) Successful in 7s
Blog Deployment / Build (push) Has been skipped
Blog Deployment / Deploy-Staging (push) Successful in 10s
Blog Deployment / Test-Staging (push) Successful in 3s
Blog Deployment / Merge (push) Successful in 7s
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 2s
Auto-update blog content from Obsidian: 2025-07-29 09:18:22
2025-07-29 09:18:22 +00:00

2.0 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

Kubernetes Services

TODO add why we need service

What is a Kubernetes Service

explain what is a Service and its purpose

Different Services

give the list of differents services

ClusterIP

explain what ClusterIP services are

NodePort

explain what NodePort services are

LoadBalancer

explain what LoadBalancer services are

Expose a LoadBalancer Service with BGP

explain that

What is BGP

explain BGP

Traditional MetalLB Approach

previous 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

Kubernetes Ingress

TODO add why we need service

What is a Kubernetes Ingress

explain what is an Ingress and its purpose

How Ingress Work

Ingress Controller

What is an Ingress Controller

explain what is an Ingress Controller and its purpose

Which Ingress Controller to Use

comparison between ingress controller which one I picked and why

Install NGINX Ingress Controller

detail installation of NGINX Ingress Controller verify ingress controller service

Associate a Service to an Ingress

oneline to explain how to use https

TLS Certificate