Alluxio
ProductsLanguageHome
AI-3.6 (stable)
AI-3.6 (stable)
  • Overview
    • Alluxio Namespace and Under File System
    • Worker Management and Consistent Hashing
    • Multi Tenancy and Unified Management
    • I/O Resiliency
  • Getting Started with K8s
    • Resource Prerequisites and Compatibility
    • Installation
      • Install on Kubernetes
      • Handling Images
      • Advanced Configuration
      • License
    • Monitoring and Metrics
    • Management Console
      • Deployment
      • Navigation
      • User Roles & Access Control
    • Cluster Administration
    • System Health Check & Quick Recovery
    • Diagnostic Snapshot
  • Storage Integrations
    • Amazon AWS S3
    • Google Cloud GCS
    • Azure Blob Store
    • Aliyun OSS
    • Tencent COS
    • Volcengine TOS
    • Baidu Object Storage
    • HDFS
    • Network Attached Storage (NAS)
  • Data Access
    • Access via FUSE (POSIX API)
      • Client Writeback
      • Client Virtual Path Mapping
    • Access via S3 API
    • Access via PythonSDK/FSSpec
    • Data Access High Availability
      • Multiple Replicas
      • Multiple Availability Zones (AZ)
    • Performance Optimizations
      • File Reading
      • File Writing
      • Metadata Listing
    • UFS Bandwidth Limiter
  • Cache Management
    • Cache Filter Policy
    • Cache Loading
    • Cache Eviction
      • Manual Eviction by Free Command
      • Auto Eviction by TTL Policy
      • Auto Eviction by Priority Policy
    • Stale Cache Cleaning
    • Cache Quota
  • Performance Benchmarks
    • Fio (POSIX) Benchmark
    • COSBench (S3) Benchmark
    • MLPerf Storage Benchmark
  • Security
    • TLS Support
  • Reference
    • User CLI
    • Metrics
    • S3 API Usage
    • Third Party Licenses
  • Release Notes
Powered by GitBook
On this page
  • Cluster license
  • Deployment license
  • Updating a deployment license
  • Checking the license status
  1. Getting Started with K8s
  2. Installation

License

Last updated 7 hours ago

The user is required to provide a license to run Alluxio, with the exception running with the trial version. The license is provided by your Alluxio sales representative in the form of a text string.

The license comes in two forms and are applied in different ways:

  • A cluster license is set in the cluster's configuration properties

  • A deployment license is applied by creating a separate license CRD

Cluster license

A cluster license is the default way to provide a license for a single test cluster; it is not recommended for production deployments.

When creating alluxio-cluster.yaml as part of , add alluxio.license as an entry under spec.properties:

apiVersion: k8s-operator.alluxio.com/v1
kind: AlluxioCluster
spec:
  properties:
    alluxio.license: <CLUSTER_LICENSE>

Deployment license

A deployment license is the default way to provide a license for a production deployment. A single deployment license is able to provide licenses for multiple clusters. Instead of reading the license string from configuration, the cluster processes will retrieve it from ETCD. A prerequisite for generating a deployment license is to provide the name and namespace of each cluster.

When creating alluxio-cluster.yaml as part of , be sure not to set alluxio.license as an entry under spec.properties, otherwise it is assumed to be used as a cluster license.

After launching the cluster, wait for the pods to reach a Status of Init:2/3. This means that the pods are waiting for the license to be allocated to ETCD.

Create a alluxio-license.yaml:

apiVersion: k8s-operator.alluxio.com/v1
kind: License
metadata:
  name: alluxio-license
  namespace: alx-ns
spec:
  clusters:
  - name: <clusterName>
    namespace: <namespaceName>
  - name: <clusterName2>
    namespace: <namespaceName2>
  licenseString: <DEPLOYMENT_LICENSE>

The <DEPLOYMENT_LICENSE> is the deployment license string as provided. The <clusterName> and <namespaceName> should match the corresponding values under metadata in alluxio-cluster.yaml:

apiVersion: k8s-operator.alluxio.com/v1
kind: AlluxioCluster
metadata:
  name: <clusterName>
  namespace: <namespaceName>

If the namespace is not set, use default as the namespace name.

If there are more than one cluster managed by the same operator, continue to enumerate the clusters' name and namespace under clusters.

Apply the license by running kubectl create -f alluxio-license.yaml. Inspect the Alluxio pods again and they should shortly transition their Status from Init:2/3 to Running.

Updating a deployment license

Use the same alluxio-license.yaml as before to specify the clusters. Update the licenseString with the new deployment license string.

Recreate the license by running delete and create.

kubectl delete -f alluxio-license.yaml
kubectl create -f alluxio-license.yaml

The Alluxio processes will be notified to pick up and apply the new license.

Checking the license status

The CLI commands under bin/alluxio license describe the license details and the cluster utilization of license limits.

To view the contents of the license, such as listing the expiration date and cluster capacity, run bin/alluxio license show.

$ bin/alluxio license show
{
    "type": "official",
    "productionId": "<productionId>",
    "licenseId": "<licenseId>",
    "licenseVersion": 1,
    "expirationDate": "2025-01-01T00:00:00Z",
    "gracePeriodDate": "2025-01-01T00:00:00Z",
    "maxTotalStorageCapacityGB": 5000
}

To view the utilization of license limits, run bin/alluxio license status.

$ bin/alluxio license status
{
    "summary": {
        "vCPU": 9,
        "memory": "12.00GB",
        "storage": "100.00GB",
        "processes": 2,
        "versions": {
            "<licenseId>": 2
        }
    },
    "processes": {
        "10.0.0.1:29999": {
            "licenseId": "<licenseId>",
            "vCPU": 8,
            "memory": "8.00GB",
            "storage": "100.00GB"
        },
        "alluxio-coordinator-0.alluxio:19998": {
            "licenseId": "<licenseId>",
            "vCPU": 1,
            "memory": "4.00GB"
        }
    }
}

The summary section describes the aggregate of all the values listed by each individual process. The fields of particular note are:

  • storage is the total worker capacity, which is compared against the license's maxTotalStorageCapacityGB if it exists

  • processes is the total number of processes, which is compared against the license's maxProcessCount if it exists

  • versions maps the license ID to the number of processes configured with the corresponding license. It is expected that all processes are configured with the same license, but a mismatch could occur due to an incomplete license update.

deploying Alluxio
deploying Alluxio