Options for the Lightweight Kubernetes Agent
Alternative modes
|
Prints the long-form version of the Lightweight Kubernetes Inventory Agent to
stdout , and
exits.
|
|
Prints the built-in usage information to
stdout , and
exits.
|
For normal operation, the following flags may be set in the deployment.yaml file that modifies the Deployment during installation.
Duration values
h
for hours, m
for minutes, or s
for seconds. Units
larger than a hour are not supported, so days or weeks must be specified by
calculating the number of hours. For example:- 24 hours is
24h
- 15 minutes is
15m
- 30 seconds is
30s
- 2 days is
48h
- 1 week (7 days) is
168h
.
Option values
=
) linking the flag and value. All other flags may
have a space between the flag name and value.
|
Type: Valid URL (required — otherwise the Lightweight Kubernetes Inventory Agent will log an error and exit if this is not specified) Default: Unset The URL of an inventory beacon to which collected inventories are
uploaded every 24 hours (by default, or see
--inventory-interval ). Must include the protocol
(either http:// or https://),
the host name, an optional port number (if used, separated from the host
name by a colon), and any necessary path elements to reliably reach the
inventory beacon. The value may include any or none of the
/ManageSoftRL/Inventory path components used
within the inventory beacon — these will be automatically appended
by the Lightweight Kubernetes Inventory Agent if omitted from the flag (as in the
example below).Tip: Uptime on the inventory beacon,
and network reliability on the path from the Lightweight Kubernetes Inventory Agent
to the inventory beacon, are critical to inventory gathering.
Because the Lightweight Kubernetes Inventory Agent does not install any components
of the FlexNet Inventory Agent, it does not include the inventory beacon failover, or overnight catch-up uploads to recover
from temporary network outages. The inventory beacon specified
with this flag is the only one used by the Lightweight Kubernetes Inventory Agent. Also note that if you are using the
https protocol, the Lightweight Kubernetes Inventory Agent
supports only standard TLS to authenticate those
communications.Example:
|
|
Type: Kubernetes text (lower-case alphanumeric characters and dashes), with list comma-separated without whitespace characters or quotation marks Default: Unset Add one or more namespaces to the exclusion list in the namespace filter
used by the Lightweight Kubernetes Inventory Agent:
The two flags are additive. All of the instances of
Examples:
|
|
Type: Boolean Default: false (when unspecified, this default is provided in the code of the Lightweight Kubernetes Inventory Agent) A Boolean option that, when true, enables integration with the IBM License Service. This is means that, by default, the Lightweight Kubernetes Inventory Agent cannot gather licensing data for IBM Cloud Paks running in Kubernetes containers (recall that using the IBM License Service is mandatory to meet IBM's license terms in this environment). You must explicitly enable this integration. The examples below show the two ways of enabling the integration, either
by:
Important: When this flag is set to true by either
method, the other flags pertaining to integration with the IBM
License Service integration are mandatory. These flags all begin
with
ibm-licensing … If this flag is set and either
of --ibm-licensing-url or
--ibm-licensing-token is missing, the Lightweight Kubernetes Inventory Agent aborts with an error.Examples:
|
|
Type: Boolean string Default: True By default, the Lightweight Kubernetes Inventory Agent properly verifies the server
certificate for TLS certification of HTTPS communications with the IBM
Licensing Service. However, if the IBM License Service is using an
untrusted certificate, this option can be set to false to allow the
Lightweight Kubernetes Inventory Agent to ignore certificate verification errors.
Tip: Unless you supplied the IBM License Server with a
certificate and key certified by a Certificate Authority, its
default behavior is to use a self-signed certificate, and in that
case you should turn off the formal verification process that looks
for a root certificate from a Certificate Authority — as in the
following example.
Example:
|
|
Type: String Default: Unset (required when The authentication token the Lightweight Kubernetes Inventory Agent can use to
authenticate with the IBM License Service. This is typically stored in a
Example:
|
|
Type: Valid URL Default: Unset (required when The complete URL, including the protocol, the host name, an optional port number (if used, separated from the host name by a colon), and any necessary path elements to reliably reach the IBM License Service. Example:
|
|
Type: Kubernetes text (lower-case alphanumeric characters and hyphens), with list comma-separated without whitespace characters or quotation marks Default: Unset Add one or more namespaces to the inclusion list in the namespace filter
used by the Lightweight Kubernetes Inventory Agent:
The two flags are additive. All of the instances of
Examples:
|
|
Type: Duration value (see details above) Default:
Set the duration of time for which the Lightweight Kubernetes Inventory Agent gathers data before uploading the first inventory. Unlike the standard FlexNet Inventory Agent, the Lightweight Kubernetes Inventory Agent does not use a polling strategy to gather inventory. Instead, it continuously monitors the state of the cluster by consuming event streams. In theory, it can upload an inventory file at any point after it connects to Kubernetes and begins receiving data. However, if the Lightweight Kubernetes Inventory Agentuploads too soon, it may not have received the initial state of each resource in the cluster, leaving the first inventory incomplete (and by default, this would only be corrected a day later). The default value is 5 minutes, which is sufficient to receive all of the data for nearly all clusters. For very small clusters or for testing purposes, this value can be shortened to mere seconds. Example:
|
|
Type: Duration value (see details above) Default: Unset (in which case the Lightweight Kubernetes Inventory Agent uses a
value of Set the time interval on which the Lightweight Kubernetes Inventory Agent collects and uploads inventories. General best practice is to omit this flag, accepting the default of 24 hours, as a shorter interval requires uploading and processing a larger number of smaller inventories. However, you may adjust this interval to meet the needs of your enterprise for frequency of inventory gathering. Example:
|
|
Type: Kubernetes label selector (using either equality-based requirement or [within single quotes] set-based requirement, see https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) Default: Unset Set the label selectors that are used when subscribing to the event
streams in the Kubernetes API. A distinct selector, as indicated by the
names, can be applied to the subscription to each of the Namespace,
Node, and Pod resources. The general In the following example, inventory is calculated from events coming from
pods where the
environment label is set to one of the
following: and
the namespace and node both have a label
set:
Example:
|
|
Type: String option list Default:
Set the logging verbosity level to one of:
Example:
|
|
Type: Boolean string Default: False When true, this option enables an HTTP endpoint on the Lightweight Kubernetes Inventory Agent to serve Prometheus metrics. By default, the metrics endpoint is not enabled. As in the following examples, it can be enabled using the option flag by itself, or with an explicit boolean value, Examples:
|
|
Type: String Default:
When Prometheus metrics are enabled using Example:
|
|
Type: String giving valid path with the metrics server Default:
When Prometheus metrics are enabled using
--metrics ,
this flag sets the path on which the metrics service is mounted. This
value can be appended to the value of metrics-address
to complete the HTTP path.Tip: If you change this value, the
Lightweight Kubernetes Inventory Agent must be restarted.
Example:
|
|
Type: No value required Default: Unset An alias for
that provides a
shorthand way to increase the logging verbosity level to
debug .Example:
|
|
Type: A valid path within the container's file system. Default: Unset By default, the Lightweight Kubernetes Inventory Agent assumes that the container is
immutable at run-time and therefore does not have any persistent storage
volumes mounted. As a result, by default:
Note: Some of the Kubernetes libraries that are utilized by the Lightweight Kubernetes Inventory Agent (notably the Kubernetes client) may attempt to
interact with the file system, such as reading random data from the
random device node, or reading the service account token that is
mounted into the container. With these exceptions, the Lightweight Kubernetes Inventory Agent behaves by default as if there were no file
system.
However, you may change that default behavior by
providing a path in this ‑‑volume flag. A value here
instructs the Lightweight Kubernetes Inventory Agent that there is a persistent,
mutable volume mounted at the specified directory. It then uses the
volume to cache its inventory data in that directory on disk. This
reduces the memory overhead of the Lightweight Kubernetes Inventory Agent by allowing
it to cache to disk instead of in memory. The most common pattern for providing the agent with persistent storage,
and the method supported by the Lightweight Kubernetes Inventory Agent, is to first
create a Example:
|
Advanced options
These options rarely require modification, have a significant impact on the behavior of the Lightweight Kubernetes Inventory Agent, or are present to support future expansion.
|
Type: Duration value (see details above) Default:
Sets the duration of time after which the Lightweight Kubernetes Inventory Agent will issue requests to update the basic metadata about the cluster. For clusters whose version rarely changes, the interval can be much wider to (slightly) reduce the number of requests to the Kubernetes API. Example:
|
|
Type: String Sets the algorithm used to provision and configure the Kubernetes API client. Currently, this value must not be modified. |
|
Type: String option list Default:
In the scenario where:
Example:
|
IT Asset Management (Cloud)
Current