Install Gateway API
The Gateway API provides advanced ingress capabilities for Kubernetes.The initial Cilium installation already has Gateway API support enabled. This step installs the Gateway API CRDs that Cilium will use.
Configure Cilium for Gateway API
Update Cilium to ensure Gateway API and NodePort support are properly configured.Add Core Components via Flux
The following components are typically managed through Flux HelmRelease resources. Ensure your repository contains the appropriate manifests.Sealed Secrets
Sealed Secrets allows you to encrypt Kubernetes secrets and store them safely in Git.Add a HelmRelease for sealed-secrets-controller to your Flux repository:
cert-manager
cert-manager automates certificate management and renewal.Add cert-manager HelmRelease
Create a HelmRelease manifest in your Flux repository for cert-manager.
metrics-server
metrics-server provides resource metrics for kubectl top and HPA.Add metrics-server HelmRelease
Include the following configuration for bare-metal clusters:
The
--kubelet-insecure-tls flag is required for bare-metal clusters without properly configured kubelet certificates.MetalLB (Load Balancer)
MetalLB provides load balancer services for bare-metal clusters.Add MetalLB HelmRelease and configure IP address pools for your network. For more information, see the MetalLB Configuration documentation.
Configure Observability (Alloy)
Grafana Alloy provides unified observability for logs and metrics.Add Alloy HelmRelease
Configure Alloy to send telemetry to Grafana Cloud or your observability backend.
For now, the cluster is configured to use Grafana Cloud for centralized observability.
DNS Configuration
Configure DNS for accessing cluster services.Configure Domain
Set up DNS records
Configure DNS records for your domain (e.g.,
kim.tec.br):- A records: Point to your load balancer or node IPs
- CNAME records: For subdomains
Verify Core Components
Architecture Notes
Gateway API vs Cilium Gateway
The cluster initially used Cilium’s built-in Gateway API implementation but has since migrated to using Kubernetes Gateway (kgateway) with Cilium providing the networking layer.
CNI Configuration
The cluster uses Cilium with the following networking configuration:cilium-values.yaml
- Routing Mode: Tunnel (VXLAN) for overlay networking
- Gateway API: Enabled for advanced ingress capabilities
- Operator: Single replica (suitable for small clusters)
Next Steps
Your cluster is now fully configured with:- GitOps continuous deployment via Flux
- Networking and security via Cilium
- Certificate management via cert-manager
- Secret management via sealed-secrets
- Observability via Alloy
- Gateway API for ingress