docs-v2/content/influxdb/clustered/install/licensing.md

6.6 KiB

title description menu weight influxdb/clustered/tags related
Install your InfluxDB Clustered license Install your InfluxDB Clustered license to authorize the use of the InfluxDB Clustered software.
influxdb_clustered
name parent
Install your license Install InfluxDB Clustered
135
licensing
/influxdb/clustered/admin/licensing/
/influxdb/clustered/admin/upgrade/

Install your InfluxDB Clustered license in your cluster to authorize the use of the InfluxDB Clustered software.

{{% note %}}

License enforcement is currently an opt-in feature

In currently available versions of InfluxDB Clustered, license enforcement is an opt-in feature that allows InfluxData to introduce license enforcement to customers, and allows customers to deactivate the feature if issues arise. In the future, all releases of InfluxDB Clustered will require customers to configure an active license before they can use the product.

To opt into license enforcement, include the useLicensedBinaries feature flag in your AppInstance resource (See the example below). To deactivate license enforcement, remove the useLicensedBinaries feature flag. {{% /note %}}

Install your InfluxDB license

  1. If you haven't already, request an InfluxDB Clustered license.

  2. InfluxData provides you with a license.yml file that encapsulates your license token as a custom Kubernetes resource.

  3. Use kubectl to apply and create the License resource in your InfluxDB namespace:

    kubectl apply --filename license.yml --namespace influxdb
    
  4. Update your AppInstance resource to activate the useLicensedBinaries feature flag:

    • If configuring the AppInstance resource directly, add the useLicensedBinaries entry to the .spec.package.spec.featureFlags property.
    • If using the InfluxDB Clustered Helm chart, add the useLicensedBinaries entry to the featureFlags property in your values.yaml.

    {{< code-tabs-wrapper >}} {{% code-tabs %}} AppInstance Helm {{% /code-tabs %}} {{% code-tab-content %}}

apiVersion: kubecfg.dev/v1alpha1
kind: AppInstance
# ...
spec:
  package:
    spec:
      featureFlags:
        - useLicensedBinaries

{{% /code-tab-content %}} {{% code-tab-content %}}

# values.yaml

featureFlags:
  - useLicensedBinaries

{{% /code-tab-content %}} {{< /code-tabs-wrapper >}}

InfluxDB Clustered detects the License resource and extracts the credentials into a secret required by InfluxDB Clustered Kubernetes pods. Pods validate the license secret both at startup and periodically (roughly once per hour) while running.

Upgrade from a non-licensed release

If you are currently using a non-licensed preview release of InfluxDB Clustered and want to upgrade to a licensed release, do the following:

  1. Install an InfluxDB license

  2. If you use the AppInstance resource configuration to configure your cluster, in your myinfluxdb.yml, update the package version defined in spec.package.image to use a licensed release.

    If using the InfluxDB Clustered Helm chart, update the image.tag property in your values.yamlto use a licensed release.

    {{% warn %}}

Upgrade to checkpoint releases first

When upgrading InfluxDB Clustered, always upgrade to each checkpoint release first, before proceeding to newer versions. Upgrading past a checkpoint release without first upgrading to it may result in corrupt or lost data. {{% /warn %}}

{{% code-placeholders "PACKAGE_VERSION" %}}

{{< code-tabs-wrapper >}} {{% code-tabs %}} AppInstance Helm {{% /code-tabs %}} {{% code-tab-content %}}

apiVersion: kubecfg.dev/v1alpha1
kind: AppInstance
# ...
spec:
  package:
    # ...
    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:PACKAGE_VERSION

{{% /code-tab-content %}} {{% code-tab-content %}}

# values.yaml

image:
  tag: PACKAGE_VERSION

{{% /code-tab-content %}} {{< /code-tabs-wrapper >}}

{{% /code-placeholders %}}

Replace {{% code-placeholder-key %}}PACKAGE_VERSION{{% /code-placeholder-key %}} with the version number to upgrade to.

Troubleshoot licensing

After you have activated licensing, use the following signals to verify licensing and troubleshoot issues with your {{< product-name omit="Clustered" >}} cluster.

In your commands, replace the following:

Verify database components

After you install your license, run the following command to check that database pods start up and are in the Running state:

{{% code-placeholders "NAMESPACE" %}}

kubectl get pods -l app=iox --namespace NAMESPACE

{{% /code-placeholders %}}

If a Pod fails to start, run the following command to view pod information:

{{% code-placeholders "POD_NAME|NAMESPACE" %}}

kubectl describe pod POD_NAME --namespace NAMESPACE

{{% /code-placeholders %}}

Verify the Secret exists

Run the following command to verify that the licensing activation created a iox-license secret:

{{% code-placeholders "NAMESPACE" %}}

kubectl get secret iox-license --namespace NAMESPACE

If the secret doesn't exist, view license-controller logs for more information or errors.

{{% /code-placeholders %}}

View license controller logs

The license controller component creates a Secret named iox-license from your License.

To view license controller logs for troubleshooting, run the following command:

{{% code-placeholders "NAMESPACE" %}}

kubectl logs deployment/license-controller --namespace NAMESPACE

{{% /code-placeholders %}}

{{< page-nav prev="/influxdb/clustered/install/configure-cluster/" prevText="Configure your cluster" next="/influxdb/clustered/install/deploy/" nextText="Deploy your cluster" keepTab=true >}}