Alluxio
ProductsLanguageHome
AI-3.3
AI-3.3
  • Overview
  • Getting Started with K8s
    • Resource Prerequisites and Compatibility
    • Install on Kubernetes
    • Monitoring and Metrics
    • Cluster Administration
    • System Health Check & Quick Recovery
    • Collecting Cluster Information
  • Storage Integrations
    • Storage Integrations Overview
    • Amazon AWS S3
    • HDFS
    • Aliyun OSS
    • COS
    • TOS
    • GCS
  • Client APIs
    • Alluxio Python Filesystem API based on FSSpec
    • FUSE based POSIX API
    • S3 API
  • Features
    • Alluxio Namespace and Under File System Namespaces
    • Cache Preloading
    • Client Writeback
    • Cache Evicting
    • Cache Filtering
    • Cache Free
    • Directory-Based Cluster Quota
    • File Replication
    • File Segmentation
    • Index Service
    • I/O Resiliency
  • Performance Benchmarks
    • Fio Tests
    • MLPerf Storage Benchmark
    • Performance Optimization
    • COSBench performance benchmark
  • Reference
    • User CLI
    • S3 API Usage
    • Third Party Licenses
Powered by GitBook
On this page
  • Resource prerequisites
  • Kubernetes deployment
  • Network
  • Compatibility
  • Operating system compatibility
  1. Getting Started with K8s

Resource Prerequisites and Compatibility

Last updated 6 months ago

This guide covers the planning and installation of Alluxio, describing the necessary resource configurations for running Alluxio. It includes resource prerequisites such as CPU, memory, disk, and network requirements. Additionally, it describes compatibility considerations for both the operating system (server, client, and kernel).

Resource prerequisites

Alluxio on Kubernetes (k8s) is the recommended deployment type. The Alluxio coordinator, worker, and fuse components each require specific CPU, memory, and disk resources. Additionally, the entire Alluxio cluster needs specific network ports to be open for communication. Ensuring the proper configuration of these resources between components is key to achieving efficient operation of Alluxio.

ETCD is also required for service discovery and mounting tables. Please refer to the instructions for to set up ETCD.

Kubernetes deployment

In a Kubernetes environment, two sets of configurations are provided for deploying an Alluxio cluster: the minimum configuration and the preferred configuration.

  1. The minimum configuration ensures that the Alluxio cluster can run and support basic IO functional testing.

  2. The preferred configuration utilizes the default settings in the Alluxio operator deployment mode. It optimizes compute, memory, and storage resources for supporting basic Proof of Concept (PoC) scenarios.

These configurations are tailored to accommodate various use cases, offering flexibility and scalability while ensuring stable and efficient operation of the Alluxio cluster within Kubernetes environments.

Minimum and preferred

The table below compares the resources of the Minimum and Preferred configurations for the Alluxio system on K8S deployment.

Components
Minimum
Preferred (Operator default)

K8s Node

cpu: 8 CPU cores mem: 32G

cpu: 16 CPU cores mem: 64G

Alluxio coordinator

cpu request: 1 cpu limit: 1 mem request: 1G mem limit: 12G

cpu request: 1 cpu limit: 1 mem request: 8G mem limit: 10G java heap memory: 4G direct memory: 4G

Alluxio worker

cpu request: 1 cpu limit: 10 mem request: 512M mem limit: 20G

cpu request: 1 cpu limit: 10 mem request: 16G mem limit: 20G java heap memory: 8G direct memory: 8G

Alluxio fuse

cpu request: 1 cpu limit: 6 mem request: 512M mem limit: 16G

cpu request: 1 cpu limit: 6 mem request: 12G mem limit: 16G java heap memory: 4G direct memory: 8G

Page Store

100G

100G, but please adjust based on the number of workers and the actual data usage.

Network

From an architectural perspective, since Alluxio serves as a storage cache, it is recommended to deploy Alluxio components nearby the compute components that run the workload. We recommend deploying Alluxio in the same network. For high performance cases, additional network bandwidth and latency requirements need to be considered.

NOTE: In extreme cases Alluxio may require specialized high performance networking to support high throughput data transfer. Please contact us for detailed information based on your scenarios.

Compatibility

Operating system compatibility

Alluxio on K8s runs on pre-packaged container images and is able to be deployed on any container infrastructure environment including all cloud providers.

Alluxio Cluster

To run Alluxio on Kubernetes, certain prerequisites must be met to ensure compatibility:

  • Host OS libfuse 3.10+ for Linux

  • Host architecture x86

Kubernetes compatibility with the Host OS or container runtime is beyond the scope of this document. Please refer to and comply with the of your selected Kubernetes distribution or version for detailed information.

A Kubernetes cluster with version at least 1.19, with enabled.

installing Alluxio on Kubernetes
release notes
feature gates