Ubuntu 16.04 mit vRealize Orchestrator bereitstellen

Bevor ich auf das Bereitstellen des Ubuntu 16.04 eingehe, gibt es vorab dazu ein grundlegendes Problem zu klären:

Nicht alle Linux Derivate und Versionen sind in allen vCenter Versionen inklusive Gast-Anapssung unterstützt!

Eine Liste kann hier eingesehen werden:
VMware vCenter GuestOS Customization Support Matrix

Aktuell ist somit Ubuntu 16.04 gar nicht auf der Liste.
Da ich aber ohnehin unabhängig von der vCenter Version bleiben möchte und den Workflow für verschiedene Derivate einsetze, habe ich das etwas anders angepackt.

Mein Verfahren im Überblick

  1. Klonen des Templates via vRA Clone Workflow ohne „Customization Spec“ (vCenter Gastanpassung)
  2. vRealize Orchestrator Workflow zur weiteren Gast Anpassung

Punkt eins wäre natürlich auch über einen vRealize Orchestrator Workflow ersetzbar wenn man kein vRealize Automation im Einsatz hat.

Ubuntu 16.04 Template Vorbereitung

Ubuntu Basis Installation

Zusätzlich habe ich „open-ssh-server“ direkt mitgegeben und die Disk als LVM mit Standard Einstellungen formatiert.

root Passwort setzen

Ubuntu 16.04 root password

SSH für root aktivieren

SSH Konfiguration anpassen (/etc/ssh/sshd_config):
Ubuntu 16.04 SSH

Netzwerkkarten Benennung umstellen

GRUB Konfiguration anpassen (/etc/default/grub):
Ubuntu 16.04 grub

GRUB  Konfiguration neu schreiben:
Ubuntu 16.04 grub Config

Dieses Vorgehen war auch schon bei Ubuntu 14.04 notwendig um sicherzustellen, dass der erste Adapter wieder den alten Namen „eth0“ bekommt.

Detaillierte Beschreibung:
Change default network name (ens33) to old “eth0” on Ubuntu 16.04

Dann noch das neue Interface Konfigurieren (/etc/network/interfaces):
Ubuntu 16.04 eth0 konfig

Gast Anpassung

Ich habe mich entschieden im vSphere Template ein Script abzulegen, welches vom vRealize Orchestrator mit den entsprechenden Parametern aufgerufen wird.
Dies ist in allen Tests das schnellste und robusteste Vorgehen gewesen.

Das Script

An dieser Stelle freue ich mich noch mehr als gewöhnlich über Kommentare und Anregungen. in der Linux Welt fühle ich mich gar nicht so heimisch und man könnte dieses Verfahren sicher noch optimieren.

Nicht vergessen die Rechte des Scripts anzupassen:
Script

Test des Scripts

Script_Test

Nach einem Reboot sind alle Einstellungen wie gewünscht gesetzt.

Der Orchestrator Workflow

Hier ist der unterliegende Orchestrator Workflow etwas aufgeschlüsselt:
Workflow_Flow.png

vCO_Workflow

vRealize Orchestrator – Workflow Übersicht

vCO_Workflow_Script

vRealize Orchestrator – Workflow für Gast Anpassung

vCO_Workflow_Scrip_Prep

vRealize Orchestrator – Customizatin Parameter Vorbereitung

vRealize Automation Blueprint

Um den Benutzern ein Front-End zu geben verwende ich natürlich wieder VMware vRealize Automation 6.2.x.

Das vSphere Template wird  hier im Blueprint ganz simpel als vCenter Klon Workflow eingebunden und dann mit den entsprechenden Orchestrator Subs versehen.

Meine Stubs

Building Machine

  • Kontrolle der Parameter
  • IP Adresse und Konfiguration aus IPAM holen
  • Setzen und erweitern der vRA Properties

Machine Provisioned

  • Einlesen der vRA Properties
  • Finale Anpassung nach dem klonen

Konfiguration

BluePrint_1

Blueprint – Informationen

 

BluePrint_2

Blueprint – Vorlage

 

BluePrint_3

Blueprint – Optionen

Für mehr Details zu der Integration von externen Workflows kann ich das Buch Automating vSphere with VMware vCenter Orchestrator sehr empfehlen.

 

 

Leave a Reply