Nutanix – Create a LCM Dark Site repo with a docker container (GERMAN)

Nutanix LCM ist eine Software Komponente am Nutanix Cluster die es ermöglicht Firmware und Software Komponenten (zb: Disk Firmware oder BIOS) am Nutanix Cluster zu inventarisieren und zu aktualisieren.

Der Nutanix LCM (Life Cycle Manager) nützt ein Internet Repository um sich aktuelle Informationen über Firmware Upgrades zu holen.

Wenn jedoch der Nutanix Cluster in einer Dark Site sich befindet (somit keine Internetverbindung) so kann man dieses Repository lokal zur Verfügung stellen.

dazu gibt es unterschiedliche Methoden; zwei davon auf der Nutanix Supportseite dokumentiert (mit Windows IIS und mit linux apache):

https://portal.nutanix.com/#/page/kbs/details?targetId=kA00e000000LJn5CAG

einen schnellen und alternativen Weg gibt es auch mit einem DOCKER container:

Voraussetzung dafür: einen Docker Host auf Linux (mit Windows hab ich es noch nicht getestet). Die Installation ist mehrfach im Netz dokumentiert: (z.B: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-centos-7)

Ebenfalls benötigt man das LCM offline bundle, dass auf der Nutanix Support Seite zu finden ist: https://portal.nutanix.com/#/page/static/supportTools

Auf dem docker Host lädt man das LCM offline bundle; in meinem Fall hatte der Docker Host eine Internetverbindung:

--2019-02-07 08:06:04--  http://download.nutanix.com/lcm/2.0/lcm_dark_site_bundle_stable.4139.tar.gz
Resolving download.nutanix.com (download.nutanix.com)... 13.32.24.200, 13.32.24.15, 13.32.24.90, ...
Connecting to download.nutanix.com (download.nutanix.com)|13.32.24.200|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2434716378 (2.3G) [application/x-tar]
Saving to: ‘lcm_dark_site_bundle_stable.4139.tar.gz’
100%[============================================================================================================================>] 2,434,716,378 18.3MB/s   in 2m 13s
2019-02-07 08:08:17 (17.5 MB/s) - ‘lcm_dark_site_bundle_stable.4139.tar.gz’ saved [2434716378/2434716378]
Und danach packen wir es gleich aus:
[root@mapidocker lcmrepo]# tar -xvzf lcm_dark_site_bundle_stable.4139.tar.gz
release/
release/nutanix_compatibility.tgz.sign
release/master_manifest.tgz.sign
release/master_manifest.tgz
release/modules/
release/modules/release-hypervisor-esx-esx_update-072939a175eeda616b6cd4140f1bf84b1009b7f9ef365b817b1038d011c7ebf9.tgz
release/modules/release-dell-ptagent-hyperv-tools-d4dd2b6cb9d4b9f8113f2dca4fc227a69c1553b5fe00409585da1e8da3eca5ed.tgz
r...
...
release/support.txt
release/nutanix_compatibility.tgz
[root@mapidocker lcmrepo]#

 

Den Security kontext anpassen damit es zu keinen Zugriffsproblemen beim Webserver kommt:

[root@mapidocker lcmrepo]# chcon -t httpd_sys_content_t release

Danach kann man den Webserver schon starten und prüfen ob der Zugriff möglich ist:

[root@mapidocker lcmrepo]# docker run -it -p:80:80 -v $(pwd):/usr/local/apache2/htdocs/ httpd:2.4
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
[Thu Feb 07 13:40:24.786423 2019] [mpm_event:notice] [pid 1:tid 139751975101632] AH00489: Apache/2.4.38 (Unix) configured -- resuming normal operations
[Thu Feb 07 13:40:24.786619 2019] [core:notice] [pid 1:tid 139751975101632] AH00094: Command line: 'httpd -D FOREGROUND'

das Kommando kurz erklärt:

docker run … startet einen container (das image wird dabei vom docker hub geladen)

-it .. als interactive Terminal … da können wir auf der Console mitlesen was passiert

-p … das port 80 vom container wird auf port 80 vom Docker Host gemapped

-v wir mounten das lokale Verzeichnis vom docker host in den htdocs ordner vom webserver

httpd:2.4 …  wir starten einen httpd container mit version 2.4

 

Nun sollte es auch schon möglich sein auf den HTTP Server zuzugreifen:

pic11

Wenn der Zugriff funktioniert dann kann man im PRISM unter Life Cycle Management → Advanced Settings den URL für das REPO anpassen:

http://<ip-adresse vom docker host>/release

pic2pic3

Anschließend kann man das Inventarisieren starten und ggf. die Komponenten aktualisieren.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s