Elixier is a data platform stack on Kubernetes.
-
Some knowledge on Kubernetes,
kubectl
,helm
andk3s
-
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_count
for 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.conf
manually instead of using NetworkManager. NM adds${IP_ADDRESS}.sslip.io
in search paths in/etc/resolv.conf
which 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 useradmin
to 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
default
catalog (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