Skip to content

Ansible Tower verwenden, um OpenShift in Azure bereitstellen zu können: Folge 4

Fügen Sie weitere Jobvorlagen hinzu, um Hosts zu konfigurieren und OpenShift OKD zu installieren

In der vierten Episode unserer Blog-Serie werden wir unserem Ansible Tower zwei weitere Jobvorlagen hinzufügen.

Die erste Jobvorlage verwendet playbook-2.yml, die die folgenden Rollen ausführt:

  1. osPrerequisites: Installiert die benötigten Pakete, konfiguriert die Systemdatei und startet das Andockfenster
  2. osDNS: Ändert / etc / hosts und fügt dem Rechner den richtigen Hostnamen hinzu

Erkunden Sie das Playbook auf Gitlab.

 

Die zweite Jobvorlage verwendet playbook-3.yml und hat folgende Rollen:

  1. osStart: Startet OpenShift OKD und setzt den Routing-Suffix-Parameter auf {{public ip}}. nip.io. Wir werden später in dieser Folge noch tiefer auf diese Angelegenheit eingehen
  2. osReStart: Überprüft, ob der Neustart über systemd möglich ist
  3. osConigureUsers: erstellt den Benutzerentwickler mit Kennwortentwickler und erteilt ihm Clusteradmin-Rechte
  4. osInstallPHPApplication: erstellt ein neues Projekt und installiert php 7.1 zusammen mit einer php-Anwendung vom GitLab-Server von Devoteam

Erkunden Sie das Playbook auf Gitlab.

 

Klicken Sie im Ansible Tower auf RESOURCES / Template.

Klicken Sie auf die Schaltfläche + ADD und wählen Sie ‚Job Template‘.

NAME: OKD Azure Part 2
JOB TYPE: Run
INVENTORY: OKD
PROJECT: Azure Deployment OKD
PLAYBOOK: playbook-2.yml
CREDENTIAL: Fügen Sie den Computeranmeldeinformationen Clusteradmin hinzu, den wir in Folge 2 erstellt haben
VERBOSITY: 1 (Verbose)
NAME: OKD Azure Part 2
ARBEITSTYP: Ausführen

 

speichern

 

Klicken Sie im Ansible Tower auf RESOURCES / Template.

Klicken Sie auf die Schaltfläche + HINZUFÜGEN und wählen Sie ‚Job Template‘.

NAME: OKD Azure Part 3
JOB TYPE: Run
INVENTORY: OKD
PROJECT: Azure Deployment OKD
PLAYBOOK: playbook-3.yml
CREDENTIAL: Fügen Sie den Computeranmeldeinformationen Clusteradmin hinzu, den wir in Episode 2 erstellt haben
VERBOSITY: 1 (Verbose)

 

speichern

 

Im Moment haben wir nur Jobvorlagen erstellt. Die wahre Stärke von Ansible Tower liegt in den Workflow-Vorlagen. Mit diesen Vorlagen können Sie verschiedene Auftragsvorlagen miteinander verknüpfen und Projekte und Bestände bei Bedarf synchronisieren.

Klicken Sie im Ansible Tower auf RESOURCES / Template.

Klicken Sie auf die Schaltfläche + und wählen Sie „Workflow-Template„.

Auf der Registerkarte „Details“ nennen wir die Vorlage.

NAME: OKD Azure Workflow

 

speichern

 

Da wir unsere Playbooks ab jetzt mit diesem Workflow beginnen werden, müssen wir die Umfrage auch hier erstellen. Wir haben dasselbe in Folge 3 für die Vorlage OKD Azure Part 1 gemacht.

EDIT SURVEY

PROMPT: Machine prefix
DESCRIPTION: Dieses Präfix wird sowohl auf den in Azure bereitgestellten Maschinen als auch für die DNS-Erstellung verwendet. Es muss in der Domäne .westeurope.cloudapp.azure.com eindeutig sein
ANSWER VARIABLE NAME: azure_virtualMachineName
ANSWER TYPE: Text
MINIMUM LENGTH: 5 MAXIMUM LENGTH: 50
REQUIRED: Checked

 

+ADD

 

Die zweite Variable ist die openSSH public, die mit dem in Folge 2 hinzugefügten privaten Schlüssel übereinstimmt. Sie erhalten ihn über:

PROMPT: ssh public key. Dies ist der öffentliche Schlüssel, den wir in Folge 1 erstellt haben
DESCRIPTION: .
ANSWER VARIABLE NAME: ssh_sshPubKey
ANSWER TYPE: Text
DEFAULT ANSWER: <Einfügen des öffentlichen Schlüssels>
REQUIRED: Checked

 

+ ADD

 

Die nächste Variable ist die Azure-Ressourcengruppe, die zum Erstellen der Maschinen verwendet wird.

PROMPT: Azure resource group
DESCRIPTION: Die von Azure erstellte Ressourcengruppe, auf der die Maschinen bereitgestellt werden sollen
ANSWER VARIABLE NAME: azure_ResourceGroup
ANSWER TYPE: Text
REQUIRED: Checked

 

+ ADD

 

Jetzt benötigen wir nur noch den Benutzer und das Passwort für Azure.

PROMPT: Azure AD user
DESCRIPTION:
ANSWER VARIABLE NAME: AZURE_AD_USER
ANSWER TYPE: Text
REQUIRED: Checked

 

+ ADD

 

PROMPT: Azure password
DESCRIPTION:
ANSWER VARIABLE NAME: AZURE_PASSWORD
ANSWER TYPE: Password
REQUIRED: Checked

 

+ ADD

speichern

Achtung: Vergessen Sie nicht zu speichern oder Sie müssen die Umfrage von Grund auf neu eingeben.

Jetzt sollten Sie auch auf die Schaltfläche WORKFLOW VISUALIZER klicken können.

Von Anfang an klicken wir auf + und fügen einen Projektsynchronisationsblock hinzu. Wählen Sie das Azure Deployment-ODK-Projekt aus und klicken Sie auf Select.

 

Von diesem Block aus werden wir einen Jobblock hinzufügen und die Jobvorlage OKD Azure Part 1 auswählen. Wählen Sie und aktivieren Sie die Option „Always“.

Ausgehend von diesem Jobvorlagenblock fügen wir einen Block Inventory Sync hinzu und wählen das OKD-Inventar aus. Wählen Sie und aktivieren Sie das Kontrollkästchen, um „On Success“ auszuführen.

Von diesem Block aus wird wieder ein Auftragsblock hinzugefügt. OKD Azure Part 2. Wählen Sie und aktivieren Sie die Option, um “On Success” auszuführen.

Der letzte Block, den wir hinzufügen, wird auch ein Auftragsblock sein. OKD Azure Part 3. Wählen Sie und markieren Sie, um “On Success” auszuführen.

Klicken Sie jetzt auf Speichern, um diesen Workflow zu erstellen. Ihr Workflow sollte so aussehen:

Dieser Workflow besteht aus den folgenden Schritten:

  1. Eine Projektsynchronisierung, um sicherzustellen, dass wir die letzte Version von git haben
  2. Ausführen des ersten Playbooks, das die VM in Azure erstellt und die Inventarhosts für unsere nächsten Playbooks erstellt
  3. Eine Inventarsynchronisierung für die nächsten Spielbücher
  4. Ausführen des Playbooks, das die Voraussetzungen für die OKD-Installation auf der VM ausführt
  5. Ausführen des Playbooks, das OKD und die Demoanwendung installiert

Jetzt werden wir dieses Workflow-Muster ausführen und beobachten, was passiert.

RESOURCE / Template und klicken Sie auf das Symbol „Launch“ nach der OKD Azure Workflow-Vorlage.

Zur Laufzeit können Sie verfolgen, was Tower an dieser Stelle macht. Wenn Sie zum Bildschirm RESOURCE / Template gehen, wird folgendes Layout angezeigt:

Wenn Sie nun auf das erste blinkende grüne Symbol klicken, sollten Sie sehen können, was dieses erste Playbook macht.

Nachdem die drei Jobvorlagen abgeschlossen sind, ist die Anwendung fertig. Dies kann ungefähr 30 Minuten dauern.

Nach dem Ausführen dieser Workflowvorlage sollten Sie sich bei Openshift OKD anmelden können. Die zu verwendende URL lautet:

https://master0yourUniqueString.westeurope.cloudapp.azure.com:8443/console

yourUniqueString ist der Wert, den Sie in die Umfrage eingegeben haben.

Sie können sich mit dem Benutzer „developer“ anmelden, indem Sie „developer“ als Kennwort verwenden.

Dieser Benutzer hat Cluster-Administratorrechte. Wenn Sie sich einloggen, sollten Sie das Projekt sehen, das wir für das PHP-Demoprojekt gemacht haben. Das „devoteam php countdown-Projekt“.

Wenn Sie dieses Projekt eingeben, können Sie das Projekt öffnen und das folgende Fenster sehen:

Oben rechts sehen Sie den Link der PHP-Anwendung, dazu verwenden wir den Dienst nip.io.

Mit NIP.IO können Sie eine beliebige IP-Adresse in den folgenden DNS-Platzhalter-Einträgen zuordnen:

  • 10.0.0.1.nip.io wird 10.0.0.1 zugeordnet
  • app.10.0.0.1.nip.io wird 10.0.0.1 zugeordnet
  • customer1.app.10.0.0.1.nip.io wird 10.0.0.1 zugeordnet
  • customer2.app.10.0.0.1.nip.io wird 10.0.0.1 zugeordnet
  • otherapp.10.0.0.1.nip.io wird 10.0.0.1 zugeordnet

Daher wird die Adresse http://phpcountdown-php-devoteam.13.81.31.211.nip.io auf 13.81.31.211 umgeleitet. Die IP-Adresse in der Verknüpfung wird für Sie unterschiedlich sein.

Wenn Sie auf den Link klicken, werden Sie zur Demo-Anwendung weitergeleitet:

Was kommt als nächstes?

Dieser Blogbeitrag ist Teil der Reihe „Ansible Tower verwenden, um OpenShift in Azure bereitstellen zu können: eine Step-by-Step-Anleitung„. In der nächsten und letzten Folge zeigen wir Ihnen, wie Sie Tasks in OpenShift über Ansible mithilfe der Befehlszeilenschnittstelle automatisieren.