Helm Chart-Konfiguration und -Installation für den vollständigen Kubernetes-Agenten von Flexera

Das vordefinierte, sofort einsatzbereite Helm Chart für den vollständigen Flexera-Kubernetes-Inventarisierungsagenten steht zum Herunterladen zur Verfügung und kann aus der Flexera AWS ECR abgerufen werden – https://gallery.ecr.aws/flexera/krm-chart.

Durch den Einsatz des Helm Chart für den vollständigen Flexera-Kubernetes-Inventarisierungsagenten lässt sich die Bereitstellung des vollständigen Flexera-Kubernetes-Inventarisierungsagenten in Ihren Kubernetes-Clustern beschleunigen.

Nachdem Sie das Helm Chart heruntergeladen und in einem Verzeichnis hinterlegt haben, brauchen Sie lediglich nach Bedarf die Optionen in der Datei values.yaml zu bearbeiten. Die Mehrheit der Optionen in der Datei values.yaml ist vordefiniert und zu jeder Option gibt es eine erläuternde Anmerkung.
Wichtig: Für den vollständigen Flexera-Kubernetes-Inventarisierungsagenten müssen Sie die Einstellungen FlexNet Beacon URL und persistent storage (Permanenter Speicher) festlegen.

Die Schritte und Helm-Befehle, die für Download und Installation der Helm Chart erforderlich sind, finden Sie nachfolgend mit ausführlicher Beschreibung. Allgemeine Anweisungen zur Installation von Helm Charts finden Sie unter Helm Install in der Onlinehilfe-Dokumentation von Helm.

Schritte zur Installation

  1. Melden Sie sich mit dem folgenden Befehl bei der AWS Public ECR an:
    $ aws ecr-public get-login-password --region us-east-1 | helm registry login --username AWS --password-stdin public.ecr.aws
  2. Installieren Sie die Chart entweder mit dem folgenden Befehl (ersetzen Sie "release-name" durch Ihren eigenen Namen, ersetzen Sie, falls angebracht, optional den Namespace "flexera"):
    $ helm install release-name oci://public.ecr.aws/flexera/krm-chart --set monitor.beaconURL="http://your-beacon.com" --namespace flexera --create-namespace
    oder, falls eine values.yaml-Datei vorbereitet wurde, mit diesem Befehl:
    $ helm install release-name oci://public.ecr.aws/flexera/krm-chart -f ./values.yaml --namespace flexera --create-namespace
    oder, falls die Chart abgerufen und in ein Verzeichnis entpackt wurde, mit diesem Befehl:
    $ helm install release-name ./flexera_charts/krm-chart --namespace flexera --create-namespace

So laden Sie die Chart in ein lokales Verzeichnis herunter

Um eine Helm Chart in ein lokales Verzeichnis herunterzuladen (Offline-Installation), gehen Sie folgendermaßen vor:

  1. Erstellen Sie ein Verzeichnis zum Herunterladen und Extrahieren der Helm Chart mit dem folgenden Befehl:
    $ mkdir ./flexera_charts
  2. Melden Sie sich mit dem folgenden Befehl bei der AWS Public ECR an:
    $ aws ecr-public get-login-password --region us-east-1 | helm registry login --username AWS --password-stdin public.ecr.aws
  3. Laden Sie die Helm Chart „krm-chart“ herunter und extrahieren Sie sie mit dem folgenden Befehl:
    $ helm pull oci://public.ecr.aws/flexera/krm-chart --untar --untardir ./flexera_charts

Parameteroptionen

Alle Parameter, die zur Bereitstellung des vollständigen Flexera-Kubernetes-Inventarisierungsagenten erforderlich sind, finden Sie unten in der Tabelle mit den Parameteroptionen aufgeführt.

Die Mehrzahl der Parameter ist bereits vordefiniert und braucht nicht geändert zu werden, mit den folgenden Ausnahmen:
  • Für den Parameter monitor.beaconURL müssen Sie die FlexNet Beacon URL [http://my-beacon.com] definieren.
  • Außerdem müssen Sie die Parameter für den permanenten Speicher definieren:
    • monitor.volumeClaimTemplate.accessModes
    • monitor.volumeClaimTemplate.storageClassName
    • monitor.volumeClaimTemplate.resources.requests.storage.
Parameter Beschreibung Voreinstellung Erforderlich
fullnameOverrideAsCustomName Überschreiben Sie den Standard-Chart-Namen „krm-chart“ mit einem eigenen Namen.

Beispiel: fullnameOverrideAsCustomName: [ein Name]

Nicht zutreffend Nicht zutreffend
fullnameOverrideAsReleaseName

Überschreiben Sie den Standard-Chart-Namen „krm-chart“ mit dem Versionsnamen.

Beispiel: fullnameOverrideAsReleaseName: true

true Nicht zutreffend
openShiftExtensions.enabled

Installieren Sie die für Interoperabilität mit OpenShift oder OKD erforderlichen Erweiterungen.

Beispiel: openShiftExtensions.enabled: true

false Nicht zutreffend
ibmLicensingExtensions.enabled

Installieren Sie die zur Verwendung der RBAC-basierten Authentifizierung mit dem IBM-Lizenzservice erforderlichen Erweiterungen.

Beispiel: ibmLicensingExtensions.enabled: true

true Nicht zutreffend
storageResourcesExtensions.enabled

Installieren Sie die zur Erfassung von Daten zu Cluster-Speicherressourcen erforderlichen Erweiterungen.

Beispiel: storageResourcesExtensions.enabled: true

true Nicht zutreffend
ibmLicensing.enable

Aktiviert die Integration mit dem IBM-Lizenzservice.

Beispiel: ibmLicensing.enable: true

false Nicht zutreffend
ibmLicensing.auth

Legen Sie die Authentifizierungsstrategie für den IBM-Lizenzservice fest. Wird hier nichts festgelegt, wird die Voreinstellung (das Standardverfahren) verwendet. Die Voreinstellung soll die Voreinstellung des Lizenzservice verfolgen. Gültige Werte sind "standard", "rbac".

Beispiel: ibmLicensing.enable: "standard"

Nicht zutreffend Nicht zutreffend
ibmLicensing.https

Geben Sie an, ob das API für den IBM-Lizenzservice über HTTPS bedient wird. Ist dieser Parameter nicht gesetzt, ermittelt der Agent die Einstellung.

Beispiel: ibmLicensing.https: true

Nicht zutreffend Nicht zutreffend
ibmLicensing.namespace

Der Namespace, in dem die Komponenten des IBM-Lizenzservice bereitgestellt werden. Ist dieser Parameter nicht gesetzt, ermittelt der Agent den korrekten Namespace.

Beispiel: ibmLicensing.namespace: "ibm-common-services"

Nicht zutreffend Nicht zutreffend
ibmLicensing.serviceName

Legen Sie den Namen des Dienstes fest, der Zugriff auf das IBM-Lizenzservice-API gewährt. Ist dieser Parameter nicht gesetzt, ermittelt der Agent den Dienstnamen.

Beispiel: ibmLicensing.serviceName: "ibm-licensing-service-instance"

Nicht zutreffend Nicht zutreffend
ibmLicensing.servicePort

Legen Sie den TCP-Port des Dienstes fest, der das IBM-Lizenzservice-API exponiert. Ist dieser Parameter nicht gesetzt, ermittelt der Agent den Port.

Beispiel: ibmLicensing.servicePort: 8080

Nicht zutreffend Nicht zutreffend
ibmLicensing.tlsVerify

Aktivieren oder deaktivieren Sie die Verifizierung von X509-Zertifikaten bei der Kommunikation mit dem API des IBM-Lizenzservice. Dieser Parameter muss auf „false“ gesetzt werden, wenn der Service das Protokoll HTTPS und ein selbst-signiertes Zertifikat verwendet.

Beispiel: ibmLicensing.tlsVerify: false

Nicht zutreffend Nicht zutreffend
ibmLicensing.token

Legen Sie das Client-Token fest, das für die Authentifizierung beim IBM-Lizenzservice-API verwendet werden soll. Ist dieser Parameter nicht gesetzt, ermittelt der Agent das Token.

Beispiel: ibmLicensing.token: "VoOMWJijBWuCxSxwgON11w7z"

Nicht zutreffend Nicht zutreffend
logLevel

Legen Sie die Protokollierungsebene für alle Komponenten des Agenten fest. Wird dieser Parameter ausgelassen, ist die Standard-Protokollierungsebene "info". Zu den gültigen Werten gehören: "trace", "debug", "info", "warn", "error“ und "fatal".

Beispiel: logLevel: info

info Nicht zutreffend
imageTemplate.registry Überschreiben Sie das Container-Image zur Bereitstellung des Agenten. (Beachten Sie, dass /flexera/krm an den Registrierungswert angehängt wird.) public.ecr.aws Nicht zutreffend
imageTemplate.version Version des Image. Aktuelle Image-Version Nicht zutreffend
imagePullSecretsTemplate.name Secrets zum Abrufen des Container-Image aus der Registry. Ist dieser Parameter eingerichtet, werden die Secrets an alle Pods des Agenten weitergegeben. Wenn mit dem Dienstkonto das Abrufen von Secrets verbunden ist oder die Registry keine Authentifizierung verlangt, kann dieser Parameter übergangen werden. Siehe auch Abrufen eines Image aus dem Attribut einer privaten Registry-Konfiguration in der Onlinehilfe. Nicht zutreffend Nicht zutreffend
monitor.logLevel

Legen Sie die Protokollierungsebene für die Überwachungskomponente fest. Beachten Sie, dass dadurch das Feld mit dem gleichen Namen auf der obersten Ebene der KRM-Spezifikation überschrieben wird.

Beispiel: monitor.logLevel: info

info Nicht zutreffend
monitor.beaconURL

Die URL der Inventarisierungsstation.

Wichtig: Dieses Feld ist ein Pflichtfeld.

Beispiel: monitor.beaconURL: http://my-beacon.com

"http://my-beacon.com" Ja
monitor.interval

Das Intervall, in dem der Agent Inventardateien generiert und auf die Inventarisierungsstation hochlädt. (beispielsweise 5m oder 6h).

Beispiel: monitor.interval: 6h

2h Nicht zutreffend
monitor.downloadFromBeacon

Aktivieren oder deaktivieren Sie das Herunterladen von Richtlinien-Updates von der Inventarisierungsstation. Dieses Verhalten ist per Voreinstellung aktiviert, daher brauchen Sie dieses Feld nur zu ändern, wenn Sie es deaktivieren möchten.

Beispiel: monitor.downloadFromBeacon: true

true Nicht zutreffend
monitor.collectStorage

Aktivieren oder deaktivieren Sie eine Funktion, die per Voreinstellung deaktiviert ist, bei der der Agent zusätzlich Daten zu speicherbezogenen Ressourcentypen erfasst. Beachten Sie, dass dazu die Erweiterung "storage-resources“ installiert sein muss, damit der Agent über die notwendigen zusätzlichen API-Berechtigungen verfügt.

Beispiel: monitor.collectStorage: false

false Nicht zutreffend
monitor.imageInventory

Aktivieren oder deaktivieren Sie den Erhalt von Software-Beständen aus den im Cluster verwendeten Container-Images. Diese Einstellung ist per Voreinstellung aktiviert, daher brauchen Sie diesen Wert nur zu ändern, wenn Sie die Einstellung deaktivieren möchten.

Beispiel: monitor.imageInventory: true

true Nicht zutreffend
monitor.volumeClaimTemplate.accessModes Verlangt Zugriffsmodi (beispielsweise kann die Einbindung ReadWriteOnce, ReadOnlyMany, ReadWriteMany oder ReadWriteOncePod erfolgen. Weitere Informationen erhalten Sie unter AccessModes in der Onlinehilfe-Dokumentation von Kubernetes).

Beispiel: monitor.volumeClaimTemplate.accessModes: ["ReadWriteOnce"]

["ReadWriteOnce"] Ja
monitor.volumeClaimTemplate.storageClassName

Ein PV kann eine Klasse haben, die Sie festlegen, indem Sie das Attribut storageClassName auf den Namen der Speicherklasse setzen. Siehe auch StorageClasses in der Onlinehilfe-Dokumentation von Kubernetes.

Beispiel: monitor.volumeClaimTemplate.storageClassName: standard

standard Ja
monitor.volumeClaimTemplate.resources.requests.storage

Fordert Speicherplatz

Beispiel: monitor.volumeClaimTemplate.resources.requests.storage: 2Gi

2Gi Ja
monitor.tlsFilesTemplate.secret.secretName

Eine Volume-Quelle, die optionale TLS-Zertifikate und Schlüssel enthält. Weitere Informationen zur Arbeitsweise dieser Funktion finden Sie unter Unterstützung von benutzerdefinierten Zertifikaten für HTTPS in der Onlinehilfe.

Beispiel: monitor.tlsFilesTemplate.secret.secretName: myorg-certificates

Nicht zutreffend Nicht zutreffend
monitor.configPatchTemplate.name

Eine Config-Map-Volume-Quelle, die config.ini-Patches enthält. Weitere Informationen zur Arbeitsweise dieser Funktion finden Sie unter Einspielen von Patches in die Datei config.ini mithilfe des Kubernetes-Inventarisierungsagenten von FlexeraEinspielen von Patches in die Datei config.ini mithilfe des Kubernetes-Inventarisierungsagenten von Flexera in der Onlinehilfe.

Beispiel: monitor.configPatchTemplate.name: krm-config

Nicht zutreffend Nicht zutreffend
node.enable

Aktivieren oder deaktivieren Sie die Knoten-Komponente. Die Knoten-Komponente erzeugt Inventardateien, die für das Produkt kritisch sind, daher sollte sie nicht deaktiviert werden, ohne sich über die Tragweite dieser Entscheidung vollständig im Klaren zu sein. Natürlich ist diese Einstellung per Voreinstellung aktiviert, daher brauchen Sie diesen Wert nur zu ändern, wenn Sie die Komponente deaktivieren möchten.

Beispiel: enable: true

true Nicht zutreffend
node.logLevel

Legen Sie die Protokollierungsebene für die Knoten-Komponente fest. Beachten Sie, dass dadurch das Feld mit dem gleichen Namen auf der obersten Ebene der KRM-Spezifikation überschrieben wird.

Beispiel: logLevel: info

info Nicht zutreffend
node.interval

Das Intervall, in dem der Knoten-Agent Hardware-Inventardateien erzeugt.

Beispiel: interval: 30m

30 Nicht zutreffend
node.readyRetries

Die Anzahl der Versuche, eine Verbindung zum Dienst der Überwachungskomponente herzustellen, bevor die Aktion abgebrochen wird.

Beispiel: readyRetries: 20

20 Nicht zutreffend
node.readyWait

Die Dauer, die zwischen den einzelnen Versuchen, eine Verbindung zum Dienst der Überwachungskomponente herzustellen, gewartet wird.

Beispiel: readyWait: 2s

2s Nicht zutreffend
node.mountHostFS

Aktivieren oder deaktivieren Sie die Knoten-Einbindung in das Dateisystem des Hosts. Die Knoten-Komponente bindet die Datei /etc/os-release und das Verzeichnis /var/lib nur mit Leseberechtigung ein, wenn diese Einstellung aktiviert ist. Zweck dieser Option ist es, melden zu können, welches Betriebssystem auf dem Host des Knotens läuft und welche RPM-Packages installiert sind.

Beispiel: mountHostFS: false

false Nicht zutreffend
node.collectHostRpmInfo

Aktivieren oder deaktivieren Sie die Knoten-Erfassung von RPM-Package-Nachweisen aus dem Dateisystem des Hosts. Die Knoten-Komponente erfasst RPM-Package-Nachweise vom Host des Knotens, wenn diese Option zusammen mit der Option MountHostFS, die ebenfalls aktiviert sein muss, aktiviert ist.

Beispiel: collectHostRpmInfo: false

false Nicht zutreffend
node.mustUpload

Sofortiger Abbruch, wenn der Versuch, eine Inventardatei hochzuladen, fehlschlägt.

Beispiel: mustUpload: true

true Nicht zutreffend
node.privileged

Aktivieren oder deaktivieren Sie das Setzen des priviligierten Bits in den Containern der Knoten-Komponente. Das privilegierte Bit ist erforderlich, damit die Knoten-Komponente die BIOS-Daten im darunterliegenden Server, inklusive der Seriennummer des Servers, beobachten kann. Diese Einstellung ist per Voreinstellung auf true gesetzt, daher brauchen Sie dieses Feld nur zu ändern, wenn Sie die Einstellung deaktivieren möchten.

Beispiel: privileged: true

true Nicht zutreffend