Alluxio Product School Webinar
Apr. 25, 2023
For more Alluxio Events: https://www.alluxio.io/events/
Speaker: Shaun Sun (Software Engineer, Alluxio)
Shawn Sun, Alluxio's software engineer, shares how to get started with Alluxio on Kubernetes in April's Product School Webinar.
To simplify the DevOps of the stack of Alluxio with a query engine, Alluxio has provided two ways to deploy on Kubernetes, helm and operator. They significantly simplify the deployment, configuration, and life cycle management of resources on Kubernetes.
Through this webinar, you will learn step-by-step how to deploy and run Alluxio on Kubernetes to accelerate analytics workloads.
2. Shawn Sun
● Software Engineer at Alluxio
● Responsible for containerization
of Alluxio, integration with
Docker and Kubernetes
3. ● Resource provision: network, system setup, etc.
● Multi-tenancy: different Alluxio clusters for different teams
● Easier deployment: Helm chart / Operator
● Security: containers provide isolation
Why Alluxio on Kubernetes?
4. Alluxio on Kubernetes - Master StatefulSet
Alluxio Master pod 0
Master
Contai
ner
Job
Master
Contai
ner
Alluxio Master pod 2
Master
Contai
ner
Job
Master
Contai
ner
Alluxio Master pod 1
Master
Contai
ner
Job
Master
Contai
ner
Master
Service 0
Master
Service 1
Master
Service 2
5. Alluxio on Kubernetes - Worker DaemonSet
Alluxio Worker pod
Worker
Container
Job
Worker
Container
Alluxio Worker pod
Worker
Container
Job
Worker
Container
…
K8s host machine K8s host machine
6. Alluxio on Kubernetes - Basic Cluster
Alluxio Master StatefulSet
Master
pod
Master
pod
Master
pod
Alluxio Worker DaemonSet
Worker
pod
Worker
pod
Worker
pod
Worker
pod
…
Alluxio clients
7. Deploy Alluxio on Kubernetes - Prerequisites
1. A running Kubernetes Cluster (e.g. eksctl with AWS)
2. Helm installed on the control plane of the
kubernetes cluster
a. Packages & publishes k8s resource
definitions
b. Enables templating of k8s YAMLs
c. Manages installation lifecycle in k8s
8. Download Alluxio helm chart
$ helm repo add alluxio-charts
https://alluxio-charts.storage.googleapis.com/openSource/2.9.3
$ helm repo list
NAME URL
alluxio-charts https://alluxio-charts.storage.googleapis.com/openSource/2.9.3
9. Construct configuration file - basic
properties:
alluxio.master.mount.table.root.ufs: <your ufs>
<credentials for your ufs>
shortCircuit:
enabled: false
journal:
type: EMBEDDED
volumeType: emptyDir
! Not for production, only for trying Alluxio out
Save the file as config.yaml
10. $ helm install alluxio -f config.yaml alluxio-charts/alluxio
NAME: alluxio
LAST DEPLOYED: Mon Apr 24 10:09:57 2023
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
$ kubectl get po
NAME READY STATUS RESTARTS AGE
alluxio-master-0 2/2 Running 0 61s
alluxio-worker-85b8c 2/2 Running 0 61s
alluxio-worker-vmtpl 2/2 Running 0 61s
Installation
11. Construct configuration file - next level
# 1. Set resources (cpu, memory) for master, job master, worker, and job worker.
# 2. Set “-Xmx” and “-Xms” for these components too. Specify the allocated heap size.
journal:
type: EMBEDDED
volumeType: persistentVolumeClaim # persistent storage
storageClass: <storage for the pvc>
master:
count: 3
tieredStore:
# configure this for Alluxio to use designated storage space. NVMe is recommended.
12. Construct configuration file - next level
fuse:
Enabled: # Set to true if you want to use POSIX API to access data in Alluxio.
# See https://docs.alluxio.io/os/user/2.9.3/en/api/POSIX-API.html
Proxy:
Enabled: # Set to true if you want to use S3 API to access data in Alluxio.
# See https://docs.alluxio.io/os/user/2.9.3/en/api/S3-API.html
Further tuning guide can be found at
● https://docs.alluxio.io/os/user/2.9.3/en/administration/Performance-Tuning.html
● https://docs.alluxio.io/os/user/2.9.3/en/administration/Scalability-Tuning.html
13. Stay tuned
For next generation of Alluxio on k8s, we move the open source code to
https://github.com/Alluxio/k8s-operator. Helm chart and operator are currently
under development. Feel free to check it out and give feedbacks!
Enterprise version will come out soon too!
14. Thank you for attending Alluxio
k8s product school session!
QA
Complete the Alluxio Community
survey for a chance to win an
Amazon Gift Card ($50)