This document describes how to manually install Nginx Ingress using Bitnami Nginx Ingress Helm Chart with TLS support. For more on customizing and configuring the it please go to Bitnami Nginx Ingress Helm Chart Documentation
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
kubectl create namespace ingress
The commands above creates a namespace for ingress and add Bitname Helm Repository
You need to create certificates for the domain you want to access the services for your cluster. I use mkcert to generate this signed certificates and install CA root in my computer. In this case the certificate matches *.devship.localhost domains. See mkcert doc for more info.
ℹ️ I use
dnsmasqto resolve all domains for*.localhostto127.0.0.1Please check dnsmasq documentation to setup and configure it for your OS
Execute the following command to create TLS secret in your cluster under ingress namespace
kubectl create secret tls nginx-server-certs --key certs/devship.localhost-key.pem --cert certs/devship.localhost.pem --namespace ingress- Create a file called
ingress-override.yamlto configure helm chart to usenginx-server-certsas thedefault-ssl-certificatewith following content
extraArgs:
default-ssl-certificate: "ingress/nginx-server-certs"- Install Nginx Ingress controller in
ingressnamespace by executing the following command
helm install --namespace ingress -f ingress-override.yaml ingress bitnami/nginx-ingress-controller Check the file dockerhub.yaml example manifest and change the values according to your need and then execute the following command
kubectl apply -f ./dockerhub-nginx.yamlNow go to https://nginx.devship.localhost and you should see Nginx default welcome page!!