Lightweight Kubernetes Agent Helm chart configuration and installation

IT Asset Management (Cloud)

The predefined out-of-the-box Lightweight Kubernetes Inventory Agent Helm chart is available for download and can be pulled from the Flexera AWS ECR - https://gallery.ecr.aws/flexera/lwk-chart.

Employing the Lightweight Kubernetes Inventory Agent Helm chart will help to accelerate the deployment of the Lightweight Kubernetes Inventory Agent to your Kubernetes clusters.

Once you have downloaded the Helm chart and saved it to a directory, you only need to edit the options within the values.yaml file as needed. The majority of options within the values.yaml file are predefined and each option has a descriptive comment.
Important: For the Lightweight Kubernetes Inventory Agent, you must specify the FlexNet Beacon URL.

The steps and Helm commands needed to successfully download and install the Helm chart are detailed below. For general guidance on how to install Helm charts, see Helm Install in Helm's Online Help Documentation.

Installation steps

  1. Log in to the AWS Public ECR using the following command:
    $ aws ecr-public get-login-password --region us-east-1 | helm registry login --username AWS --password-stdin public.ecr.aws
  2. Either install the chart using this command (replace "release-name" with your own name, optionally replace the namespace "flexera" if appropriate to do so):
    $ helm install release-name oci://public.ecr.aws/flexera/lwk-chart --set-json 'lwk.agent.args=["--beacon", "http://your-beacon.com"]' --namespace flexera --create-namespace
    or if a values.yaml file has been prepared, use this command:
    $ helm install release-name oci://public.ecr.aws/flexera/lwk-chart -f ./values.yaml --namespace flexera --create-namespace
    or if the chart has been pulled and unpacked into a directory, use this command:
    $ helm install release-name ./flexera_charts/lwk-chart --namespace flexera --create-namespace

How to download the chart into a local directory

To download the Helm chart into a local directory (offline installation), follow these steps:

  1. Create a directory to download and extract the Helm chart to using this command:
    $ mkdir ./flexera_charts
  2. Log in to the AWS Public ECR using this command:
    $ aws ecr-public get-login-password --region us-east-1 | helm registry login --username AWS --password-stdin public.ecr.aws
  3. Download and extract the lwk-chart Helm chart using this command:
    $ helm pull oci://public.ecr.aws/flexera/lwk-chart --untar --untardir ./flexera_charts

Parameter options

All of the parameters needed to deploy the Lightweight Kubernetes Inventory Agent are listed below in the parameter options table.

The majority of parameters are predefined and do not need to be edited, except for the lwk.agent.args parameter where you must define the FlexNet Beacon URL <http://[my-beacon].com>.

Parameter Description Default Required
fullnameOverrideAsCustomName Override the default chart name "lwk-chart" with a custom name

For example, fullnameOverrideAsCustomName: [some name]

N/A N/A
fullnameOverrideAsReleaseName

Override the default chart name "lwk-chart" with the release name

For example, fullnameOverrideAsReleaseName: true

true N/A
lwk.agent.image.repository Name of the repository to pull the image from public.ecr.aws/flexera/lwk N/A
lwk.agent.image.tag Image tag Current image version N/A
lwk.agent.args The FlexNet Beacon URL option is required to be updated by the customer: "--beacon", "<http://my-beacon.com>". The other values listed below are optional.
#args: [
#  "--beacon", "<http://my-beacon.com>",
#  "--<...>", "<...>",
#  ...
#  "--<...>", "<...>"]
#
# --connect-profile value, -p value                        configure and establish a connection to the Kubernetes API according to the given profile (default: "external")
# --kubeconfig value                                       when connect-profile is external-kubeconfig, use the kubeconfig at the given path (default: "/.kube/config")
# --beacon value, -b value                                 URL of the beacon to which inventories are uploaded
# --cluster-name value                                     specify a name for the cluster
# --volume value                                           indicate that mutable storage is available beneath the given path
# --restore-mode value                                     specify how to handle data for a foreign cluster when restoring from persistent storage, one of [clean, refuse] (default: "clean")
# --ancestry                                               request the parent resources of each pod (default: false)
# --inventory-interval value                               interval of time on which an inventory is uploaded (default: 24h0m0s)
# --inventory-backoff value                                duration of time to wait before producing the first inventory (default: 5m0s)
# --inventory-format value                                 format to which the inventory is serialized, one of [ndi ndi+gz json json+gz] (default: "ndi+gz")
# --cluster-interval value                                 interval of time on which cluster metadata is refreshed (default: 24h0m0s)
# --include-namespace value [ --include-namespace value ]  a namespace to which the agent is constrained, may be specified multiple times
# --include-namespaces value                               comma-separated list of namespaces to which the agent is constrained
# --exclude-namespaces value                               comma-separated list of namespaces the agent should ignore
# --exclude-namespace value [ --exclude-namespace value ]  a namespace the agent should ignore, may be specified multiple times
# --label-selector value                                   a label selector applied to requests for all resource types
# --node-label-selector value                              a label selector applied to requests for nodes
# --namespace-label-selector value                         a label selector applied to requests for namespaces
# --pod-label-selector value                               a label selector applied to requests for pods
# --ibm-licensing                                          enable integration with the IBM License Service (default: false)
# --ibm-licensing-url value                                URL at which the agent can communicate with the IBM License Service
# --ibm-licensing-auth value                               set the means by which the agent authenticates with the IBM License Service, one of [standard rbac] (default: "standard")
# --ibm-licensing-token value                              authentication token for the IBM License Service
# --ibm-licensing-tls-verify                               verify the IBM License Service certificate, if it is serving over HTTPS (default: true)
# --collect-storage                                        collect data from storage resource types (default: false)
# --storageclass-label-selector value                      a label selector applied to requests for storageclasses, when --collect-storage is on
# --pv-label-selector value                                a label selector applied to requests for persistentvolumes, when --collect-storage is on
# --pvc-label-selector value                               a label selector applied to requests for persistentvolumeclaims, when --collect-storage is on
# --log-level value                                        set the log level to one of [trace, debug, info, warn, error, fatal] (default: "info")
# --verbose, -v                                            set the log level to debug (default: false)
N/A Yes

IT Asset Management (Cloud)

Current