- a minimal setup can run on your laptop using minikube (see the local deployment. Currently 16GB RAM with a modern CPU should be sufficient.
- if you have an account at a public cloud that provides Kubernetes as a service (AWS, GCP, Azure, ...), or have a Kubernetes cluster at hand, you can install the stack using our Helm template. (see GKE instructions)
In case you encounter an issue with FADI, have a feature request or any other question, feel free to open an issue.
FADI relies on Helm to integrate the various service together. To add another service to the stack, you can package it inside a Helm chart and add it to your own FADI chart.
FADI is the acronym for "Framework for Automating the Deployment and orchestration of container-based Infrastructures"
In case you encounter an issue with FADI, have a feature request or any other question, feel free to open an issue.
Please make sure the following steps have been taken beforehand:
- update Minikube to the latest version
- update Helm to the latest version
- check the logs for any suspicious error message:
minikube logs
kubectl get events --all-namespaces
kubectl get events -n fadi
kubectl get pods -n fadi
kubectl logs fadi-nifi
Note for Mac users : you need to change the network interface in the Minikube vm: in the VirtualBox GUI, go to minikube->Configuration->Network->Interface 1->advanced
and change Interface Type
to PCnet-FAST III
(the minikube vm should be shut down in order to be able to change the network interface: minikube stop
Windows support for the Minikube installation should work but is not tested frequently.
When deploying on a generic Kubernetes cluster, you will want to make the services accessible from the outside.
See
- doc/REVERSEPROXY.md for the reverse proxy configuration guide
- #81 for port forwarding instructions
In a Minikube setting, make sure the ingress plugin is enabled (minikube addons enable ingress
), and populate your /etc/hosts
file accordingly.
If you encounter the error pod has unbound PersistentVolumeClaims
, make sure you have a default StorageClass in your cluster.
To list the StorageClasses in your cluster:
kubectl get storageclass
The output should be similar to this:
NAME PROVISIONER AGE
standard (default) kubernetes.io/gce-pd 1d
If there is no StorageClass, you can create one by using Local Path Provisioner.
To mark a StorageClass as default, run this command where <your-class-name>
is the StorageClass name:
kubectl patch storageclass <your-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
If you follow Local Path Provisioner your StorageClass name will be local-path
, so to mark it as default you can run this command:
kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
Important note: FADI should be installed in the same namespace as the StorageClass.
See also:
- Kubernetes official documentation on storage classes: https://kubernetes.io/docs/concepts/storage/storage-classes/
- cetic/helm-fadi#15