Cloud-Management mit API und CLI. Grundlagen / Sudo Null IT-News

In diesem Artikel erklären wir, warum API- und CLI-Automatisierungstools benötigt werden und wie die Infrastruktur mit ihnen am Beispiel von Serverspace verwaltet wird.

Was ist CLI?

CLI (Command Line Interface) oder Befehlszeilenschnittstelle – ein Tool, mit dem der Benutzer mit dem Programm mithilfe von Befehlen arbeiten kann.

Was ist eine API?

API (Application Programming Interface) oder Application Programming Interface ist eine Möglichkeit für ein Programm, mit einem anderen zu interagieren, wenn Elemente einer Anwendung in einer anderen verwendet werden.

Aus den Definitionen ist es schwierig zu verstehen, was als nächstes mit diesen Tools zu tun ist, also lassen Sie uns einen genaueren Blick auf jedes von ihnen werfen.

CLI

Bis zum Aufkommen bekannter grafischer Schnittstellen war die Befehlssprache die einzige Möglichkeit, mit einem Computer zu interagieren. Trotzdem ist die Kommandozeile auch heute noch ein wichtiges Werkzeug, um schnell auf die notwendigen Funktionen eines Rechners / Servers zuzugreifen.

Wie die CLI funktioniert

Der Benutzer gibt Textbefehle in die Schnittstellenleitung ein und wartet auf eine Antwort vom Computer. Zu diesem Zeitpunkt übersetzt das Tool Anforderungen in Funktionen, die für das Betriebssystem verständlich sind, und gibt eine Antwort aus. Mannschaften ein CLI kann entweder aus einem Wort oder mehreren Zeilen bestehen, die als Skripte bezeichnet werden.

Mit der Serverspace-CLI können Sie beispielsweise die Größe der erstellten Festplatte abrufen:

>s2ctl server get-volume l1s12345 –volume-id 20210

*s2ctl ist der Name des Serverspace-Dienstprogramms, mit dem Sie Ihre Infrastruktur im Terminal steuern können.

Als Ergebnis erhalten Sie detaillierte Informationen über den Server:

ID: 20210 Name: Boot-Server_ID: l1s12345 Größe_MB: 25600 Erstellt: ‘1970-01-01T0:00:00.0000000Z’

Das CLI-Tool ist nützlich, um Routineaufgaben zu automatisieren. Sie oder Ihr Entwicklungsteam können eine Liste mit Befehlen schreiben, die der Computer zu einem ausgewählten Zeitpunkt oder in einer Situation Ihrer Wahl ausführt.

Mit der CLI können Sie alles tun, was in der GUI des Serverspace-Bedienfelds verfügbar ist, nur mit Hilfe von Schnellbefehlen und der Eingabezeile.

API

API fungiert als Vermittler zwischen zwei Programmen und ermöglicht ihnen, über einen bestimmten Satz von Protokollen miteinander zu interagieren. Entwickler müssen nicht wissen, wie eine Drittanbieter-API implementiert wird; Sie können die Schnittstelle verwenden, um mit anderen Produkten und Diensten zu kommunizieren.

Eine API kann als Vertrag zwischen zwei Diensten betrachtet werden, der definiert, wie sie miteinander arbeiten. Der Vertrag ist eine Dokumentation, die Informationen darüber enthält, wie Entwickler Anforderungen und Antworten strukturieren sollten. Sie können beispielsweise die Dokumentation lesen Serverspace-APIwo Sie eine Beschreibung der API, Anforderungs- und Antwortstrukturen, Fehlercodes und Beispiele für Vorgänge finden.

Um zu beginnen, müssen Sie mithilfe von Autorisierungsdaten (API-Schlüssel, Passwort, geheimer Schlüssel) auf die API zugreifen. Um beispielsweise mit der Serverspace-API zu arbeiten, erstellt der Benutzer einen API-Schlüssel für das Projekt, der dann bei jeder Anfrage im X-API-KEY-Header übergeben werden muss:

-H “X-API-SCHLÜSSEL: lmGwbvllpIqIrKROOCLgE5Z941MKP5EYfbkgwtqJZGigfXUTpuYRpNQkCqShmm6r”

Arbeitsprinzip

Firmenspezialisten mulesoft geben ein gutes Beispiel dafür, wie die API funktioniert – sie wird mit einem Restaurant verglichen. Stellen Sie sich vor, Sie sitzen an einem Tisch und wählen ein Gericht aus. Die Küche ist Teil des “Systems”, das Ihre Bestellung zubereitet. Aber es gibt nicht genug Link, um die Bestellung an die Küche weiterzugeben und das Essen an Ihren Tisch zu liefern. Hier kommt der Kellner ins Spiel, in unserem Fall eine API, die Ihre Anfrage oder Bestellung entgegennimmt und der Küche (also dem System) mitteilt, was zu tun ist. Dann gibt er dir die Antwort in Form von leckerem Essen.

Sie möchten beispielsweise detaillierte Informationen zu einem Server abrufen. Sie machen eine “Bestellung” mit einer Anfrage:

curl -X GET \ \ -H ‘Inhaltstyp: Anwendung/json’ \ -H ‘x-API-Schlüssel: lmGwbvllpIqIrKROOCLgE5Z941MKP5EYfbkgwtqJZGigfXUTpuYRpNQkCqShmm6r’

Serverspace API akzeptiert diese Anfrage, verweist auf die „Küche“ und gibt eine Antwort in Form von Informationen über den Server zurück.

{ “server”: { “id”: “l1s2400”, “location_id”: “am2”, “cpu”: 1, “ram_mb”: 1024, “volumes”: [
{
“id”: 2977,
“name”: “boot”,
“size_mb”: 25600,
“created”: “2020-11-12T09:09:30.46252”
},
{
“id”: 2978,
“name”: “additional”,
“size_mb”: 30720,
“created”: “2020-11-12T09:36:34.376165″
}
]”Nicks”: [
{
“id”: 3024,
“network_id”: “l1n1”,
“mac”: “ca:05:27:ff:56:89”,
“ip_address”: “45.14.48.218”,
“mask”: 28,
“gateway”: “45.14.48.209”,
“bandwidth_mbps”: 50
},
{
“id”: 3025,
“network_id”: “l1n368”,
“mac”: “ca:05:1a:50:f6:07”,
“ip_address”: “10.0.0.1”,
“mask”: 24,
“bandwidth_mbps”: 1024
}
]”image_id”: “CentOS-7.7-X64”, “is_power_on”: true, “name”: “public-api”, “login”: “root”, “password”: “EuvzlqK6pv”, “ssh_key_ids”: [
223,
224
]”Status”: “Aktiv”, “Erstellt”: “2020-11-12T09:09:54.6478655Z”, “Tags”: [
“production”,
“elastic”
]”Anwendungs-IDs”: [
“nginx”,
“gitlab”,
“wordpress”
]
} }

Oder um beispielsweise die Serverkonfiguration zu ändern, müssen Sie eine komplexere Anfrage eingeben, da hier der Anfragetext (CPU und RAM) übergeben wird. Die Anfrage sieht wie folgt aus:

curl -X PUT \ \ -H ‘Inhaltstyp: Anwendung/json’ \ -H ‘x-API-Schlüssel: lmGwbvllpIqIrKROOCLgE5Z941MKP5EYfbkgwtqJZGigfXUTpuYRpNQkCqShmm6r’ \ -d ‘{ “cpu”: 4, “ram_mb”: 4096 }’

Als Ergebnis wird die Aufgaben-ID zurückgegeben, anhand derer Sie den Änderungsprozess der VPS-Einstellungen und seiner ID verfolgen können.

{ “task_id”: “lt17499” }

* Durch die Verwendung der API mehrerer Dienste, das Senden von Anfragen und das Analysieren ihrer Antworten können Sie eine automatische Interaktion zwischen Anwendungen einrichten. Die Automatisierung der Verwendung von APIs kann dazu beitragen, Prozesse agiler zu gestalten, sodass sich Entwickler auf wichtige Aufgaben konzentrieren können.

Heute nutzt jede zweite Anwendung die API vom Hinzufügen eines Kalenders und Wetters bis zum Einrichten des Aktienhandels. Interessanterweise werden, wenn eines Tages alle APIs der Welt entfernt werden, fast alle Dienste und die meisten Anwendungen einfach nicht mehr funktionieren.

Mit beiden Tools können Sie den Prozess der Arbeit mit virtuellen Serverspace-Maschinen automatisieren und schnelle Antworten auf Anfragen erhalten, ohne zum Control Panel gehen zu müssen. Hier ist, was Sie mit ihnen machen können:

  • virtuelle Maschinen verwalten;

  • Serverdetails anzeigen und seine Leistung verwalten;

  • die Konfiguration der virtuellen Maschine skalieren;

  • Netzwerke verbinden;

  • SSH-Schlüssel verwalten;

  • Bilder verwalten;

  • Grenzgateways erstellen und löschen, NAT- und Firewall-Regeln konfigurieren;

  • Projektdetails im Bedienfeld anzeigen;

  • Erstellen und Löschen eines Domänennamens;

  • DNS-Einträge verwalten.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *