Elixier is a data platform stack on Kubernetes.
-
Some knowledge on Kubernetes,
kubectl,helmandk3s -
You need at least 100GB free space, preferably SSD
-
At least 16 vCore with 32GB RAM is recommended, or you might face issue where kubernetes unable to allocate resources for the services, or services crashing. 8vCore with 16GB RAM can still work, but do not enable elixier-security, auto scaling and high availability.
-
Prepare the OS:
Install OS dependencies. Assuming you are on CentOS/RHEL:
dnf install iscsi-initiator-utils nfs-utils tar git -y
disable firewalld as it will interfere with container networking:
systemctl stop firewalld systemctl disable firewalld
set
vm.max_map_countfor opensearch:echo vm.max_map_count=262144 > /etc/sysctl.d/00-vm-max-map-count.conf sysctl --system
-
Install K3S:
curl -sfL https://get.k3s.io | sh - -
Install helm:
curl -sfL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | sh - -
Clone:
git clone https://github.com/elixierco/elixier elixier
-
Install Elixier. Please replace
${IP_ADDRESS}with the main IP address of the serverexport KUBECONFIG=/etc/rancher/k3s/k3s.yaml helm install --set storageAccessMode=ReadWriteOnce \ --set ingress.domain=${IP_ADDRESS}.sslip.io \ elixier \ elixier/helm/elixier
To check for deployment status, run
watch kubectl get pods.NOTE: If you are using sslip.io, do make sure that you manage
/etc/resolv.confmanually instead of using NetworkManager. NM adds${IP_ADDRESS}.sslip.ioin search paths in/etc/resolv.confwhich may cause DNS resolution issues in kubernetes.
-
Airflow (
https://airflow.${IP_ADDRESS}.sslip.io/). Default user:admin. Default password:admin. -
Gitweb (
https://gitweb.${IP_ADDRESS}.sslip.io/git/). Default user:user. Default password:password. -
Jupyterhub (
https://jupyterhub.${IP_ADDRESS}.sslip.io/). Sign up useradminto set default password. -
Minio S3 API endpoint (
https://minio.${IP_ADDRESS}.sslip.io/). Default user:minio. Default password:miniopassword. -
Minio UI (
https://minio-console.${IP_ADDRESS}.sslip.io/). Default user:minio. Default password:miniopassword. -
Presto UI (
https://presto.${IP_ADDRESS}.sslip.io). -
Presto Connection URI for
defaultcatalog (presto://presto.${IP_ADDRESS}.sslip.io:80/default). -
Superset (
https://superset.${IP_ADDRESS}.sslip.io/). Default user:admin. Default password:admin.
Join our discord server at https://discord.gg/MFTrhZn4jr