minikube start --kubernetes-version=v1.24.3
NOTICE: tested on standard docker installation. if you use rootless mode, check minikube documentation and rootless documentation
minikube addons enable ingress
openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout tls.key -out tls.crt -subj "/CN=example.com" -days 365
kubectl create secret tls example-com-tls --cert=tls.crt --key=tls.key --dry-run=client -oyaml > ingress/example-com-tls.yaml
Checking tls setup in the ingress controller manifest, ingress.yaml
spec:
tls:
- secretName: example-com-tls
hosts:
- example.com
kubectl apply -f ingress
echo "$(minikube ip) example.com" | sudo tee -a /etc/hosts
curl --insecure https://example.com
kubectl delete -f ingress
sudo sed '$d' --in-place /etc/hosts