This repository walks you through setting up an SSL-enabled single instance of Apache NiFi in Kubernetes in Azure Government.
You must already have a Kubernetes cluster up and running in Azure Government.
-
Apply the NiFi deployment and service to your Kubernetes cluster:
kubectl apply -f deployment-nifi.yaml
-
Install Nginx-ingress and Lets Encrypt kubernetes charts. Make sure you update the
LEGO_EMAIL
in the second commandhelm install stable/nginx-ingress --name ssl-ingress --set rbac.create=true helm install --name lego --set config.LEGO_EMAIL=janedoe@contoso.com --set config.LEGO_URL=https://acme-v01.api.letsencrypt.org/directory stable/kube-lego --set rbac.create=true
-
Retrieve the ingress controller's
EXTERNAL-IP
address and add anA
record for it in your DNS provider. It might take a few minutes for the external IP address to be available.kubectl get service ssl-ingress-nginx-ingress-controller
-
Update the following values in
ingress-ssl.yaml
file:rules.host
: Set it to whatever hostname.domain you previously configured.rules.http.paths.path
: Set it to whatever path you want nifi to reside on. Note that by default, nifi already adds/nifi
to the path. So setting this to/
will result inhttps://whatever.domain.com/nifi
. If you set this to/foo
then your full path will behttps://whatever.domain.com/foo/nifi
tls.hosts
: Same asrules.host
-
Apply the SSL ingress.
kubectl apply -f ingress-ssl.yaml
- Add persistent volumes
- Make it multi-instance