Headlamp Production Environment Installation
This content is not available in your language yet.
Prerequisites
Section titled “Prerequisites”Kubernetes Cluster
Section titled “Kubernetes Cluster”Prepare Shell Variables
Section titled “Prepare Shell Variables”Ensure you have defined and loaded your Global Shell Variables as described in Shell Variables.
-
Connect to
🟥 Production WorkloadKubernetes Cluster ; i.e w/ Kubeconfig FileEnsure you have defined and loaded your Global Shell Variables as described in Shell Variables.
Terminal window source $HOME/opstella-installation/shell-values/kubernetes/prod_cluster.vars.shTerminal window export KUBECONFIG="$HOME/opstella-installation/kubeconfigs/prod_cluster.yaml" -
Create Kubernetes Secret for 🛡️ TLS Certificate for Headlamp (Production) in Namespace
devsecops-system.Create one using from
.crtand.keyfile.Terminal window kubectl create secret tls $K8S_INGRESS_TLS_CERTIFICATE_SECRET_NAME \--cert=/path/to/cert/file --key=/path/to/key/file \--namespace devsecops-system💡 Should return
secret/wildcard-...-tls createdmessage.
Pre-Installation
Section titled “Pre-Installation”Prepare Headlamp (Production) Configurations
Section titled “Prepare Headlamp (Production) Configurations”-
Create Helm Values Configurations
Terminal window cat <<EOF > $HOME/opstella-installation/helm-values/headlamp-prod-full-values.yamlingress:# -- Enable ingress controller resourceenabled: trueingressClassName: ${K8S_INGRESSCLASS_NAME}# -- Hostname(s) for the Ingress resourcehosts:- host: ${HEADLAMP_DOMAIN}paths:- path: /type: Prefix# -- Ingress TLS configurationtls:- secretName: ${K8S_INGRESS_TLS_CERTIFICATE_SECRET_NAME}hosts:- ${HEADLAMP_DOMAIN}# -- Headlamp containers Security ContextsecurityContext:seccompProfile:type: RuntimeDefaultcapabilities:drop: ["ALL"]runAsNonRoot: trueprivileged: falseallowPrivilegeEscalation: falserunAsUser: 100runAsGroup: 101EOF
Installation
Section titled “Installation”-
Add Headlamp Helm Repository
Terminal window # Add Helm Repositoryhelm repo add headlamp https://kubernetes-sigs.github.io/headlamp/helm repo update -
Install a Helm Release with specific Helm Chart Version
--version 0.28.1(App Version: 0.28.1)Terminal window helm install headlamp headlamp/headlamp --version 0.28.1 \--namespace devsecops-system \-f $HOME/opstella-installation/helm-values/headlamp-prod-full-values.yaml
Post-Installation
Section titled “Post-Installation”Headlamp Testing
Section titled “Headlamp Testing”-
Get Pod Status - Headlamp
Terminal window kubectl get pods -n devsecops-systemHeadlamp should be
RunningNAME READY STATUS RESTARTS AGE... (deducted)headlamp-XXXXXXXX-YYYYY 1/1 Running 0 Xd -
Visit
https://${HEADLAMP_DOMAIN}- It should be accessible.
- TLS Certificate should be valid and coresponding to your TLS Certificate Installed

Finished?
Use the below navigation to proceed