Anwendungsfall: Deplyment mit dem Infrastructure Manager und dem CA Service Catalog Plug‑in

Wenn Sie das CA Service Catalog Plug‑in implementiert haben, können Sie das CA Service Catalog-Team und das Automic system-Team koordinieren, um vollautomatische Self-Service-Angebote für CA Service Catalog-Endbenutzer zu unterstützen. Dieses Thema beschreibt ein typisches Szenario für die Service-Orchestrierung: ein Endbenutzer übergibt eine Anforderungen für eine Umgebung, und diese wird automatisch bereitgestellt. In diesem Beispiel wird die Infrastructure Manager-Funktionalität zur Bereitstellung der angeforderten Umgebung verwendet.

Verwenden Sie das hier gezeigte Szenario als Grundlage, um die automatisierten Self-Service-Abwicklungsdienste zu entwickeln und bereitzustellen, die den Anforderungen Ihres Unternehmens am besten entsprechen.

Übersicht

In diesem Beispiel sehen Sie, wie die Serviceabwicklung einer Anforderung für eine neue Umgebung (Infrastruktur) automatisiert werden kann, nachdem die Plug-in-Integration implementiert wurde. Der Prozess funktioniert wie folgt:

  1. Ein Endanwender übergibt eine Dienstanfrage in CA Service Catalog für eine neue Umgebung.
  2. Die Anfrage wird in Automic Automation automatisch erledigt.
  3. Der Benutzer wird über den Fortschritt der Anfrage informiert.
  4. Die Anfrage wird entsprechend dem Endergebnis aktualisiert:
    • Wenn alles ordnungsgemäß funktioniert, werden die Details zum Umgebungsprofil zur Anforderung hinzugefügt, und die Anforderung wird geschlossen.
    • Wenn ein Problem vorliegt, wird die Anforderung mit Informationen über das Problem aktualisiert, und das Support-Team wird benachrichtigt.

In diesem Diagramm sind die dunkler schattierten Aufgaben diejenigen, die den Prozess beenden. Der Prozess endet, wenn die VM erfolgreich erstellt wurde oder wenn sie aus irgendeinem Grund nicht erstellt werden kann. In allen Fällen wird die Anfrage mit einer Statusänderung oder mit einer Notiz oder mit beiden aktualisiert.

Prozessablauf für die Servicebereitstellung mit CA Service Catalog und Infrastructure Manager, koordiniert von einem Automic Workflow

Erforderliche Komponenten

Um dieses Szenario zu unterstützen, müssen die folgenden Tools und Komponenten installiert sein:

Aufgaben für das automatisierte Deployment

Um den Benutzern von CA Service Catalog eine automatisierte Abwicklung ihrer Dienstanfragen anbieten zu können, müssen die Teams für jedes der Systeme ausgeführt werden.

Aufgaben auf der CA Service Catalog-Seite

Das CA Service Catalog-Team ist verantwortlich für Folgendes:

Aufgaben auf Terraform

Ein Infrastrukturadministrator mit CA Service Catalog oder Automic Automation muss die Vorlagen für die Infrastrukturen erstellen, die Sie anbieten möchten. Der Administrator erstellt die Vorlagen auf Terraform und speichert Sie im GIT-Repository.

Aufgaben auf der Automic Automation-Seite

Das Automic Automation-Team ist verantwortlich für Folgendes:

Vorbereitung der Aufgaben für den Infrastructure Manager

Nach der Installation des Infrastructure Manager müssen Sie die folgenden Konfigurationsaufgaben durchführen:

  1. Installieren Sie sein REST-API. Weitere Informationen finden Sie unter Das Infrastructure Manager-REST-API installieren
  2. Konfigurieren Sie das Infrastructure Manager-REST-API. Weitere Informationen finden Sie unter Infrastructure Manager REST-API-Konfiguration.
  3. Definieren Sie einen Systembenutzer für den Workflow. Weitere Informationen finden Sie unter Administration der Infrastructure Manager.
  4. Verbinden Sie ein Repository zum Infrastructure Manager mit POST /api/v1/repositories.

    Dieser Endpunkt verbindet ein Repository mit Vorlagen zum Infrastructure Manager. Jede Vorlage beschreibt die Konfiguration einer zu erstellenden Infrastruktur, einschließlich dessen, was erstellt wird, wo es erstellt wird, und welche Middleware darauf installiert wird. Zum Beispiel können Sie eine Vorlage haben, die eine Instanz in AWS erstellt hat und dann Tomcat auf dieser Instanz installiert.

    {

    "name": "Github Repo",

    "url": "https://github.com/automicss/terraform.git",

    "type": "Git",

    "branch": "master",

    "credentials": {

    "username": "automicss",

    "Passwort": ""

    },

    "requester": "AutomicAdmin"

    }

Workflow-Aufgaben

In unserem Beispiel umfasst der Workflow folgende Schritte:

  1. Start: Die Eingaben aus der CA Service Catalog-Anforderung sind bereits mit dem Ausführungsstart in Variablen des PromptSets für die Infrastrukturparameter geladen.
  2. Überprüfen Sie mit GET /api/v1/infrastructure_providers, ob der Infrastruktur-Anbieter bereits vorhanden ist.

    Die Antwort enthält eine Liste der Infrastrukturanbieter. Wenn Sie den Namen des gesuchten Infrastrukturanbieters kennen, fügen Sie diesen als Suchkriterium hinzu. Zum Beispiel,

    {server}/provisioning/api/v1/infrastructure_providers/name/My AWS

  3. Wenn die Infrastruktur nicht vorhanden ist, erstellen Sie mit POST /api/v1/infrastructure_providers einen neuen Infrastrukturanbieter.

    Dieser Endpunkt erstellt ein Objekt, das die Anmeldeinformationen Ihres Kontos beim Provider enthält. Hierbei handelt es sich um die Anmeldeinformationen, die vom Infrastructure Manager verwendet werden (oder vielmehr von Terraform, da dieses im Hintergrund ausgeführt wird, um die eigentliche Bereitstellung durchzuführen), um sich bei dem jeweiligen Cloud-Anbieter zu authentifizieren (in unserem Beispiel AWS) und die Ressourcen dort zu erstellen.

    {

    "name": "My AWS",

    "type": "AWS",

    "credentials": {

    "access_key": "<Ihr AWS-Zugangsschlüssel>",

    "secret_key": "<Ihr geheimer AWS-Schlüssel>"

    },

    "requester": "AutomicAdmin"

    }

  4. Erstellen Sie die angeforderte Infrastruktur auf dem Infrastrukturanbieter mit POST http://{host}:{port}/provisioning/api/v1/infrastructures.

    Dieser Endpunkt löst die Erstellung der Infrastruktur aus. Sie müssen eine Vorlage auswählen, die sich im bereits verbundenen Repository (dem ersten Endpunkt) befindet, und auch einen Infrastrukturanbieter (das Anmeldeinformationsobjekt) auswählen, der verwendet wird. Sie müssen auch einen Infrastrukturnamen angeben.

    {

    "backend_provider": "TERRAFORM",

    "infrastructure_name": "CAServices1",

    "infrastructure_provider" : "My AWS",

    " requester ": "AutomicAdmin",

    "template": {

    "repository_name":" Github Repo",

    "template_folder": "my_aws_template",

    },

    "override_variables": {

    }

    }

    Antwortbeispiel:

    {

    "infrastructure_id": 1081,

    "execution_id": 1083

    }

  5. Senden Sie einen SOAP-Aufruf, um die CA Service Catalog-Anforderung mit einem Kommentar zu erweitern, der bestätigt, dass die Ausführung gestartet wurde.
  6. Überprüfen Sie den Status der Ausführung mit GET /api/v1/infrastructures/{infrastructureId}/executions/{executionId}. Diese IDs sind in der Antwort des vorangegangenen REST-Aufrufs enthalten.

    Zum Beispiel:

    http://{host}:{port}/provisioning/api/v1/infrastructures/1081/executions/1083

    Dieser Endpunkt gibt das Ergebnis der Ausführung Ihrer Infrastrukturerstellung zurück.

    Antwortbeispiel:

    {

    "id": 1083,

    "status": "Completed",

    "repository_name": "github",

    "reference": "master",

    "template_folder": "gc_basic",

    "commit": "bfdd0ab915e68a5b68e3e33e7aa3b9714b1da894",

    "execution_log": "https://stozh01l7480:9000/provisioning/api/v1/infrastructures/1081/executions/1083/log",

    "completed_on": "2019-07-08T15:41:25.238",

    "requester": "AutomicAdmin",

    "command": "apply",

    "created_by": "administrator",

    "created_on": "2019-07-08T15:40:41.416",

    "modified_by": "administrator",

    "modified_on": "2019-07-08T15:40:41.427"

    }

    Hinweis: Wenn Sie eine Fehlersuche für die Ausführung durchführen möchten, können Sie die Ausführungsdetails von Terraform abrufen. Klicken Sie auf die verlinkte URL in der Antwort mit dem Ausführungsstatus, sodass das Ausführungsprotokoll geöffnet wird.

  7. Posten Sie basierend auf dem Status der Ausführung einen SOAP-Aufruf, um die CA Service Catalog-Anforderung mit dem endgültigen Status und den Bereitstellungsdetails zu erweitern.
    • Für eine erfolgreiche Ausführung: Fügen Sie einen Kommentar mit den Bereitstellungsdetails zur Anforderung hinzu, und schließen Sie sie.
    • Für eine fehlgeschlagene Ausführung: Fügen Sie einen Kommentar mit Details zur Ausführung hinzu, ändern Sie den Status entsprechend, und führen Sie eine Benachrichtigungsaktion durch (z. B. Senden einer E-Mail an das Support-Team).

Hinweis: Sie können den Fortschritt dieser Workflow-Ausführung in Process Monitoring verfolgen.