Important
This is a first version of the chart, which will deploy a basic privacyIDEA stack. No configmaps and no secrets. Do not use for production!
- Install Minikube: Follow the official Minikube installation guide.
- Install Helm: Follow the official Helm installation guide.
- Start Minikube: Start a Minikube cluster.
minikube start
- Enable Ingress (Optional): If you want to expose PrivacyIDEA using an Ingress, enable the Ingress addon in Minikube.
minikube addons enable ingress minikube addons enable ingress-dns
If you haven't already created the Helm chart, follow the steps in the previous responses to create the privacyidea-chart
directory with the necessary files.
Navigate to the directory containing the Helm chart and install it:
helm install privacyidea ./privacyidea-chart
This will deploy the following components:
- PrivacyIDEA application
- MariaDB database
- Radius with privacyIDEA plugin (optional - disabled by default)
- Redis cache (optional - disabled by default)
Check if the pods are running:
kubectl get pods
You should see pods for PrivacyIDEA, MariaDB, and Redis.
By default, the PrivacyIDEA service is exposed as a ClusterIP
. To access it, you can use one of the following methods:
Forward a local port to the PrivacyIDEA service:
kubectl port-forward svc/privacyidea-privacyidea 8080:80
Now, you can access PrivacyIDEA in your browser at:
http://localhost:8080
Expose the service using Minikube:
minikube service privacyidea-privacyidea
This will open the PrivacyIDEA application in your default browser.
If you enabled the Ingress addon, you can create an Ingress resource to expose PrivacyIDEA. Enable ingress in the values.yaml
file:
...
# Enable or disable ingress
ingress:
enabled: true
Configure ingress in templates/ingress.yamnl
Add the following line to your /etc/hosts
file to map privacyidea.local
to the Minikube IP:
echo "$(minikube ip) privacyidea.local" | sudo tee -a /etc/hosts
Now, you can access PrivacyIDEA at:
http://privacyidea.local
Edit values.yaml
...
# Enable or disable radius
radius:
enabled: true
Edit values.yaml
...
# Enable or disable redis
redis:
enabled: true
When you're done testing, you can delete the Helm release:
helm uninstall privacyidea
To stop Minikube:
minikube stop
To delete the Minikube cluster:
minikube delete
-
Pods not starting: Check the logs for the failing pod:
kubectl logs <pod-name>
-
Database connection issues: Ensure that the MariaDB pod is running.
-
Persistent Volume issues: If you encounter issues with persistent volumes, ensure that Minikube's storage class is configured correctly. You can check the persistent volumes and claims:
kubectl get pv kubectl get pvc