docs(clustered): add section for troubleshooting licensing (#5534)

* docs: troubleshooting licensing

* fix(clustered): Licensing

- Revise install and licensing docs.

* chore(ci): Skip kubectl in tests.

* Update content/influxdb/clustered/admin/licensing.md

Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>

---------

Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
pull/5533/head^2
Jack 2024-07-25 16:44:20 +01:00 committed by GitHub
parent f89c207fdd
commit 9665495460
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 94 additions and 10 deletions

View File

@ -58,6 +58,8 @@ install your license.
3. Use `kubectl` to apply and create the `License` resource in your InfluxDB
namespace:
<!--pytest.mark.skip-->
```sh
kubectl apply --filename license.yml --namespace influxdb
```
@ -85,21 +87,22 @@ per hour) while running.
## Recover from a license misconfiguration
If you deploy a licensed release of InfluxDB Clustered without an invalid or
If you deploy a licensed release of InfluxDB Clustered with an invalid or
expired license, many of the pods in your cluster will crash on startup and will
likely enter a `CrashLoopBackoff` state without ever running or becoming healthy.
Because the license is stored in a volume-mounted Kubernetes secret, invalid
licenses affect both old and new pods.
Because InfluxDB stores the license in a volume-mounted Kubernetes secret, invalid
licenses affect old and new pods.
Once a valid `License` resource is applied, new pods will begin to start up normally.
Licenses are validated when the `License` resource is applied. If the license
is invalid when you attempt to apply it, the InfluxDB clustered license
controller will not add or update the required secret.
After you apply a valid `License` resource, new pods will begin to start up normally.
InfluxDB validates a license when you apply it.
If the license is invalid when you try to apply it, the `license controller`
won't add or update the required secret.
## Renew your license
In advance of your license expiration, your InfluxData sales representative will
contact you regarding license renewal.
Before your license expires, your InfluxData sales representative will
contact you about license renewal.
You may also contact your sales representative at any time.
---

View File

@ -40,10 +40,12 @@ To deactivate license enforcement, remove the `useLicensedBinaries` feature flag
3. Use `kubectl` to apply and create the `License` resource in your InfluxDB
namespace:
<!--pytest.mark.skip-->
```sh
kubectl apply --filename license.yml --namespace influxdb
```
4. <span id="enable-feature-flag"></span>
Update your `AppInstance` resource to enable the `useLicensedBinaries` feature flag.
Add the `useLicensedBinaries` entry to the `.spec.package.spec.featureFlags`
@ -101,4 +103,83 @@ spec:
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:
- {{% code-placeholder-key %}}`NAMESPACE`{{% /code-placeholder-key %}}:
your [InfluxDB namespace](/influxdb/clustered/install/configure-cluster/#create-a-namespace-for-influxdb)
- {{% code-placeholder-key %}}`POD_NAME`{{% /code-placeholder-key %}}:
your [InfluxDB Kubernetes pod](/influxdb/clustered/install/deploy/#inspect-cluster-pods)
### Verify database components
After you [install your license](#install-your-influxdb-license),
run the following command to check that database pods start up and are in the
`Running` state:
<!--pytest.mark.skip-->
{{% code-placeholders "NAMESPACE" %}}
```sh
kubectl get pods -l app=iox --namespace NAMESPACE
```
{{% /code-placeholders %}}
If a `Pod` fails to start, run the following command to view pod information:
<!--pytest.mark.skip-->
{{% code-placeholders "POD_NAME|NAMESPACE" %}}
```sh
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:
<!--pytest.mark.skip-->
{{% code-placeholders "NAMESPACE" %}}
```sh
kubectl get secret iox-license --namespace NAMESPACE
```
If the secret doesn't exist,
[view `license-controller` logs](#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:
<!--pytest.mark.skip-->
{{% code-placeholders "NAMESPACE" %}}
```sh
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" >}}