Open Telekom Cloud für Geschäftskunden

APIs zur Automatisierung mit der Open Telekom Cloud

APIs bieten bei der Orchestrierung von Applikationen in der Open Telekom Cloud jede Menge Vorteile. Lesen Sie hier

  • wie das Konzept von APIs generell funktioniert,
  • wie Sie mit einem Kommandozeilenwerkzeug die Verwendung von APIs realisieren und
  • wie Sie eine Virtuelle Maschine mit verschiedenen Tools erzeugen können.

Flexibel und agil – das Web-Interface der Open Telekom Cloud

Das Web-Interface der Open Telekom Cloud („Open Telekom Cloud service console“) hilft Nutzern dabei, virtuelle Netzwerke, virtuellen Speicher oder eine virtuelle Maschine zu erstellen. Im Vergleich zu früheren Anwendungen ist die Open Telekom Cloud hinsichtlich Flexibilität und Laufzeiten eine wesentliche Verbesserung. Denn früher waren solche Systeme zumeist physikalisch und mussten daher von einer IT-Abteilung bereitgestellt werden, was heute nicht mehr der Fall ist.

Ein Schritt in Richtung definierter und agiler Bereitstellung von IT-Ressourcen ist die Automatisierung der Konfiguration. Die Methode des „Continous Delivery“ (CD), kombiniert mit dem Prinzip des „Infrastructure as Code“ (IaC) ist heute Standard für cloud-basierte Plattformen und Applikationen. Wurden Konfigurationen vormals manuell erstellt („Klicks“ auf einem Web-Interface), beschreibt der Anwender nun seine gewünschte Zielkonfiguration in einer maschinenlesbaren Sprache. Diese Beschreibung setzt ein Automat in Kommandos zur Erstellung der beschriebenen Konfiguration um. Nun mag man sich fragen, ob das Lernen einer Konfigurationssprache nicht schwieriger sei als das manuelle Ausfüllen von Web-Formularen. Ich denke nein, da gut gestaltete Masken den Benutzer führen und kleine Konfigurationen schneller „von der Hand gehen“ als alternativ dazu fehlerfreie IaC-Texte niederschreiben zu müssen. IaC-Beschreibungen zielen auf komplexe Konfigurationen, Wiederholbarkeit, Nachvollziehbarkeit und automatische Anpassungen ab. Die Erfahrung zeigt, dass manuelle Schritte alleine zur Erfüllung dieser Anforderungen nicht ausreichend sind.

Ein typischer Ablauf zur Änderung der Cloud-Infrastruktur ist die Erstellung oder Änderung der IaC-Beschreibung durch den DevOPS-Spezialisten. Eine neue Konfiguration wird hierbei als Version in ein Software-Versions-Control-System (VCS) wie z. B. „Git“ festgeschrieben. Anschließend interpretiert ein Automat diese und stellt die entsprechenden IT-Ressourcen der Cloud-Plattform bereit. Hinsichtlich Agilität ermöglicht der Ansatz eine dynamische Anpassung einer Konfigurationen, z. B. durch das Starten von zusätzlichen Applikationsinstanzen (scale-out) als Reaktion auf eine hohe IT-Ressourcenauslastung durch die Dienstnutzer.

Die Kommandos, die solche Konfigurationsänderungen durchführen, werden über die Application Programming Interfaces (APIs) an die Cloud-Plattform übergeben. Die Open Telekom Cloud bietet hierzu REST-Schnittstellen an, denen in JSON kodierte Nachrichten über das HTTPS-Protokoll an bekannte URI gesendet werden (API-Endpunkte). Diese Schnittstellen können direkt aus Anwendungen bedient werden oder auch über ein einfaches Kommandozeilenwerkzeug (CLI). Wenn gewünscht, lassen sich die CLI-Werkzeuge auch in IT-Automationswerkzeuge, wie z. B. ansible, puppet oder chef integrieren.

Dieser Beitrag zeigt die APIs und CLI-Werkzeuge, die für die Open Telekom Cloud verfügbar sind. Anhand praktischer Beispiele wird ihre Anwendung nachvollziehbar erklärt.

Bedeutung der APIs

Heutzutage sind N-Tier-Applikationen, die auf Cloud-Platformen ausgeführt werden, über verschiedene virtuelle Maschinen (VM) verteilt. Hierzu sind oftmals Hunderte, manchmal sogar Tausende Plattformressourcen zu konfigurieren. Dies ist am besten über eine programmierbare Schnittstelle machbar, da sie von Programmen bedient wird und somit manuelle Fehler ausschließt, wie sie bei der manuellen Bedienung z. B. unter Verwendung einer grafischen Oberfläche auftreten.
APIs bieten einen standardisierten Weg zur Konfiguration von n-Tier-Applikationen in der Cloud. Sie sind die Schnittstelle für Cloud Orchestration und Configuration-Management-Werkzeuge. Mit ihnen lassen sich auch komplexe Applikations-Cluster (Cluster) in wiederholbarer Form relativ einfach konfigurieren.

Application Programming Interfaces (API)

Auf Basis des verschlüsseltes HTTPS-Protokolls werden REST-Nachrichten mit den API-Endpunkten ausgetauscht. Die API-Endpunkte sind nach bereitgestellten Diensten untergliedert:

Identity and Access Management (IAM)
Bietet Funktionen zur Authentifizierung von Nutzern der Open Telekom Cloud und zur Autorisierung von API-Kommandos.
DNS-Name für die Region „eu-de” ist iam.eu-de.otc.t-systems.com.

Elastic Compute Services (ECS)
Bietet Managementfunktionen von Virtuellen Maschinen (ECS), auch als VMs bezeichnet.
DNS-Name für die Region „eu-de” ist ecs.eu-de.otc.t-systems.com.

Image Management (IMS)
Bietet Managementfunktionen für Festplattenabbilder (Images).
DNS-Name für die Region „eu-de” ist ims.eu-de.otc.t-systems.com.

Elastic Volume Service (EVS)
Bietet Managementfunktionen für virtuelle Festplatten, auch als „Block Storage“ bezeichnet.
DNS-Name für die Region „eu-de” ist evs.eu-de.otc.t-systems.com.

Virtual Cloud Service (VPC)
Bietet Managementfunktionen für virtuelle Netze, auch als „Virtual Network“ bezeichnet.
DNS-Name für die Region „eu-de” ist vpc.eu-de.otc.t-systems.com.

Volume Backup Service (VBS)
Bietet Managementfunktionen zur Datensicherung von virtuellen Festplatten (EVS).
DNS-Name für die Region „eu-de” ist vbs.eu-de.otc.t-systems.com.

Elastic Load Balancer (ELB)
Bietet Managementfunktionen zur Lastverteilung an, auch als „Load Balancing” bezeichnet.
DNS-Name für die Region „eu-de” ist elb.eu-de.otc.t-systems.com.

Cloud Eye (CES)
Bietet Managementfunktionen zur Überwachung von Plattformressourcen und Applikationsinstanzen an, auch als „Monitoring“ bezeichnet.
DNS-Name für die Region „eu-de” ist ces.eu-de.otc.t-systems.com.

Auto Scaling (AS)
Bietet Managementfunktionen für das automatische Skalieren von Applikationsinstanzen an, die in ECS Maschinen laufen.
DNS-Name für die Region „eu-de” ist as.eu-de.otc.t-systems.com.

Unterstützte HTTP-Anfragemethoden

GETDie GET-Methode liest die Repräsentation einer bestimmten Ressource.
PUTDie PUT-Methode erzeugt / speichert die enthaltene Ressource an der durch die URI benannten Stelle.
POSTDie POST-Methode sendet die enthaltene Ressource zur weiteren Verarbeitung durch die Open Telekom Cloud. Die Ressource gilt logisch als unterhalb der angegebenen URI angeordnet.
DELETEDie DELETE-Methode löscht eine spezifizierte Ressource.
PATCHDie PATCH-Methode ändert eine Ressource. Die Ressource wird erzeugt, sollte sie nicht existierten.

Tabelle: Unterstützte REST-Methoden für API-Kommandos

API Klassen

Die Open Telekom Cloud basiert auf der Software „FusionSphere 5.1“, die ihrerseits OpenStack Mitaka verwendet. Zusätzlich sind eine Anzahl an Rückportierungen von neueren OpenStack-Versionen sowie spezifische Erweiterungen von Huawei enthalten.

Ein zentrales API-Gateway stellt dem Nutzer alle verfügbaren APIs zu Verfügung. Das API-Gateway kann vom öffentlichen Internet und aus einem OpenStack/Tenant-Projekt angesprochen werden.

Aktuell (03/2017) sind folgende APIs verfügbar: Eine minimale Keystone v3 API (Authentifizierung, Token Erzeugung und Service Katalog), Nova v2 API (Management von Virtuellen Maschinen), Cinder V2 API (Management von virtuellen Harddisks bzw. Blockspeichern), Glance V2 API (Management von Images / Systemdisk-Abbildern) und eine noch etwas eingeschränkte Nova V2 API (Management von virtuellen Netzen).

Die gebotenen APIs decken die Funktionen, die für eine „DefCore 2016.01“-Zertifizierung gefordert sind, ab. Die APIs werden kontinuierlich erweitert, speziell im Bereich Netzwerkmanagement.

Neben APIs, die ausschließlich für OpenStack gedacht sind, bietet die Open Telekom Cloud auch spezifische APIs. Diese bieten Zugang zu Funktionen, die nicht oder nur teilweise im nativen OpenStack enthalten sind, wie z. B. der Elastic Load Balancer (ELB).

Die spezifischen Werkzeuge „Open Telekom Cloud-Tools” (siehe unten) nutzen beide Arten von APIs, die nativen OpenStack-APIs (auch als „vanilla“ bezeichnet) und die Open Telekom Cloud-spezifischen.

API Dokumentation

Eine komplette Beschreibung der APIs ist im help center online einsehbar. Die Dokumentationen sind nach Services untergliedert und zeigen an, ob es ein OpenStack-natives API oder ein Open Telekom Cloud-spezifisches API ist.

APIs zur Automatisierung mit der Open Telekom Cloud Die API-Dokumentation im Help Center der Open Telekom Cloud

Werkzeuge der Kommandozeile (CLI)

Auch die Kommandozeilenwerkzeuge gibt es in zwei Ausprägungen: OpenStack-native („openstack clients“) und „Open Telekom Cloud“-spezifische Tools. Verglichen mit den OpenStack-nativen Kommandozeilenwerkzeugen bieten die Tools der Open Telekom Cloud weitergehende Funktionen und einfacher zu nutzende Kommandos an.

T-Systems und Huawei arbeiten daran, alle Funktionen per Kommandozeilenwerkzeug bereitzustellen.

Werkzeuge der Kommandozeile (CLI)

Die OpenStack-eigenen Kommandozeilenwerkzeuge („Python Clients”)

Für die aktuelle Version der Open Telekom Cloud (02/2017) funktionieren die nachfolgend genannten Kommandozeilenwerkzeuge („Python Clients“), wie sie von der OpenStack-Community bereitgestellt werden. Diese können von github (openstack.git) heruntergeladen und mit dem python-pip-Paketmanager installiert werden. Nicht alle OpenStack-Python-Clients können genutzt werden. Mit der Freigabe zusätzlicher APIs werden auch mehr OpenStack-Python-Clients nutzbar sein.

  • Compute (nova v2) – Nova: 2.22.0 – 2.23.3 (von der OpenStack „Kilo“-Version)
  • Images (glance v2) – Glance: 0.15.0 – 0.16.0 (1.1.0 funktioniert, 0.17.x funktioniert nicht)
  • Block Storage (cinder v2) – Cinder: 1.1.1 – 1.3.1 (alle Versionen)
  • Networking (neutron v2) – Neutron: 2.3.11/2.3.12 (aktuelle Version funktioniert nicht)
  • IAM (keystone v3) – Keystone: 1.3.4 (nur die Bibliotheken werden verwendet, der Python-Client ist veraltet)
  • OpenStack: 1.0.4 – latest

Das für die Open Telekom Cloud angebotene Image openSUSE-42.1 hat alle Kommandozeilenwerkzeuge („Python Clients“ wir auch „Open Telekom Cloud Tools”) installiert. Die Verwendung dieses Images erleichtert die ersten Schritte zur Verwendung des APIs.

Spezifische Kommandozeilenwerkzeuge der Open Telekom Cloud („Open Telekom Cloud-Tools”)

Das Open Telekom Cloud Shell Tool bietet alle Kommandos, um einen virtuellen Server auf der „Open Telekom Cloud“-Plattform zu erstellen. Dies sind zum Beispiel Kommandos zum Erzeugen eines Access-Tokens oder eines VPC-Netzes, zur Konfiguration von vCPUs, Blockspeichern, einer Elastic-IP (in OpenStack als „Floating IP“ bezeichnet) oder Security Groups (Netzwerkportfilter). Die folgenden Softwarepakete werden von dem „ Shell Tools“-Kommandozeilenwerkzeug verwendet und müssen installiert sein:

  • eine Bash-Shell
  • das Programm Curl zum Austausch von HTTPS-Nachrichten mit dem API-Gateway
  • eines der s3-Kommandozeilenwerkzeuge zum Bedienen des Objektspeichers der Open Telekom Cloud
  • das Programm „json query (jq)“, um Daten im JSON Format verarbeiten zu können, wie sie an den APIs verwendet werden.

Das Werkzeug ist einfach gehalten und zeigt die Anwendung von REST APIs mittels OpenStack und der Open Telekom Cloud. Es bietet einen leichten Einstieg und kann darüber hinaus auch in eigene Werkzeuge integriert werden. Der Code ist Open Source und auf github verfügbar. Zusätzlich bietet das openSUSE Buildprojekt „home:garloff:OTC“ fertige RPM- und DEB-Softwarepakete zum Download an.

Der Objektspeicher der Open Telekom Cloud nutzt das S3-Protokoll und kann mit den frei verfügbaren Kommandozeilenwerkzeugen und Bibliotheken angesteuert werden. Dazu gehören u. a. libs3, s3cmd (beide für Linux verfügbaren Varianten), cyberduck (Mac), S3Browser (Windows). Aktuell wird der OpenStack-native Objektspeicher „Swift“ nicht unterstützt.

Das Open Telekom Cloud Python Tool ermöglicht es, die Ressourcen von OpenStack und der Open Telekom Cloud zu konfigurieren. Es wird kontinuierlich erweitert, um den Funktionsumfang zu komplettieren. Der Aufbau der Kommandos ist vergleichbar mit denen anderer Public-Cloud-Anbieter wie z. B. Amazon. Das Programm selbst ist kompakt und damit ressourcenschonend.

API-Authentifizierung

Zum Absetzen von Kommandos an die API muss sich der Nutzer authentifizieren. Die Open Telekom Cloud bietet hierzu zwei Möglichkeiten:

  • AK/SK: Ein Paar bestehend aus Zugriffsschlüssel (AK – „Access Key“) und geheimem Schlüssel (SK – „Secret Key“). Beide werden über die Webkonsole der Open Telekom Cloud generiert und dienen zur Authentifizierung des Nutzers, der API-Kommandos absetzt. Aktuell akzeptiert der Objektspeicherdienst der Open Telekom Cloud (OBS Object Storage) nur AK/SK Schlüsselpaare zur Authentifizierung.
  • API-Passwort (dies hat sich zu 02/2017 wie folgt geändert): Der Nutzer hinterlegt ein API-Passwort, welches zusammen mit seinem Nutzernamen zur Authentifizierung gegen die OpenStack-Keystone-Komponente dient. Bei Erfolg generiert Keystone einen Zugriffstoken („Access-Token“), mit dem die nächsten 24 Stunden API-Kommandos abgesetzt werden können. Der Token ist gültig bis zum Ablauf der genannten Zeit oder bis der Nutzer einen neuen Token generiert. OpenStack-native wie auch spezifische Kommandozeilenwerkzeuge der Open Telekom Cloud nutzen diese Art der Authentifizierung.

Setzen eines initialen API-Passworts

Mit der Open Telekom Cloud-Konsole https://console.otc.t-systems.com/ kann ein initiales API-Passwort gesetzt werden. Hierzu den Link „Forgot Password?” wie unter (1) gezeigt selektieren. Offensichtlich haben wir nicht unser API-Passwort vergessen. Falls das doch einmal der Fall sein sollte, lässt sich über „Forgot Password?“ ein Neues anfordern.

In der unten gezeigten Maske ist der Domainname (Format ist „Open Telekom Cloud00000000001xxxxxxxxx”) (2) und die E-Mail-Adresse (3) oder alternativ eine hinterlegte Mobilfunknummer anzugeben. Durch Klicken des „Next”-Buttons (4) kann der Dialog fortgeführt werden.

Das neue Passwort ist zweimal anzugeben (5 + 6). Zur eigenen Sicherheit sollte dieses sehr gewissenhaft gewählt werden. Die farbigen Indikatorfelder auf der Maske zeigen dazu die Passwort-Stärke an. Empfehlenswert ist der Einsatz eines Passwordgenerators, auch wenn dessen Passwörter schwerer für Menschen zu merken sind (vielleicht geht es aber auch nur mir so ;-)). Um auszuschließen, dass kein Softwareautomat („bot”) versucht, das Passwort zu setzen, muss der angezeigte CAPTCHA-Code eingegeben werden (Elemente 8 + 9). Die Open Telekom Cloud Plattform sendet einen Einmalcode an die zum Account assoziierte E-Mail-Adresse. Diesen Code in das Feld „Email Verification Code“ (11) eingeben und den Dialog durch Klick auf den „Next“-Knopf abschließen. Das API-Passwort ist nun gesetzt.

Setzen eines initialen API-Passworts mit der Open Telekom Cloud-Konsole

Authentifizierung zum Setzen eines initialen API-Passworts

Security Check mit CAPTCHA-Code

Bestätigung für das Setzen eines initialen API-Passworts

Änderung des API-Passworts

Zur Änderung des API-Passworts wird der aktuelle Login benötigt. Hierzu in der „Open Telekom Cloud“- Web Konsole den Dialog „My Credentials“ öffnen und den Link „Edit“ am Feld „Password“ betätigen. Dort lassen sich dann das aktuelle und das neue Passwort eingeben.

Änderung des API-Passworts

Im „My Credentials“-Dialog können Sie Ihr Passwort ändern

Änderung des API-Passworts

Mit einem Klick auf "Edit" lässt sich das Passwort (vorher API Key) ändern

Anwendung der API-Anmeldedaten

Zum Authentifizieren am API-Gateway werden folgende Daten benötigt:

1. Nutzername („User Name”)

In der Maske „My Credentials” auf der „Open Telekom Cloud Web Konsole” ist der Nutzername gelistet. Im nachfolgenden Beispiel ist es (ohne die doppelten Anführungszeichen): „14610698 OTC00000000001000000205”. Man beachte das Leerzeichen zwischen den beiden ID-Gruppen.

2. API-Passwort

Dies sollte bekannt sein. Wenn das API-Passwort nicht vorhanden oder unbekannt ist, kann es wie oben beschrieben erzeugt bzw. neu gesetzt werden.

3. Domänenname („Domain Name”)

Der zweite Teil des Nutzernamens ist der Domänenname (ohne die doppelten Anführungszeichen), in diesem Beispiel: „OTC00000000001000000205”.

4. Projektname

Aktuell ist dies „eu-de” (ohne die doppelten Anführungszeichen) für die Region Europa/Deutschland. Jede Region erhält einen eigenen Projektnamen.

Mit den vier genannten Daten kann über Keystone ein Access-Token erzeugt werden. Die genannten Kommandozeilenwerkzeuge machen dies automatisch.

Ist geplant, die Open Telekom Cloud-APIs aus einer eigenen Applikation oder mit einem eigenen Werkzeug anzusprechen, muss zunächst ein Access-Token generiert werden. Der Access-Token ist 24 Stunden gültig oder bis zu dem Zeitpunkt, wenn ein neuer Access-Token angefordert wird. Es empfiehlt sich, möglichst wenig Access-Tokens anzufordern, da dessen Erzeugung rechenintensiv ist und Wartezeiten verursachen kann.

Ein erfolgreich erzeugter Access-Token hat diese Daten in der Antwortnachricht:

  • Der Token startet mit den Zeichen „MII…..”
  • Es folgt eine Projekt-ID, in unserem Beispiel „a90ddf531f934a9aac8acebf1abdf19a”

Mit beiden Token-Inhalten sind wir in der Lage, die virtuellen Ressourcen in unserem Projekt/Tenant zu managen, indem sie als Parameter bei den API-Kommandos angegeben werden.

Hier ein Auszug aus den Kommando/Antwort-Nachrichten unter Verwendung des Programms „curl“:

curl -i -H „Content-Type: application/json“ -d '
 {
  „auth“: {
   „identity“: {
    „methods“: [„password“],
    „password“: {
     „user“: {
      „domain“: { „name“: „Open Telekom Cloud00000000001000000205“ },
      „name“: „14610698 Open Telekom Cloud00000000001000000205“,
      „password“: „XXXXXX“
     }
    }
   },
   „scope“: {
    „project“: {
     „name“: „eu-de“
    }
   }
  }
 }' https://iam.eu-de.otc.t-systems.com/v3/auth/tokens
 HTTP/1.1 201 Created
 Server: nginx
 Date: Tue, 10 May 2016 20:51:14 GMT
 Content-Type: application/json;charset=UTF-8
 Transfer-Encoding: chunked
 Connection: keep-alive
 X-Subject-Token: MII....
 …
 {„token“:{„expires_at“:“2016-05-11T20:51:14.087000Z“,“issued_at“:“2016-05-10T20:51:14.087000Z“,“methods“:[„password“],“project“:{„name“:“eu-de“,“id“:“a90ddf531f934a9aac8acebf1abdf19a“,“domain“:{„name“:“Open Telekom Cloud00000000001000000205“,“id“:“167dd7366b734d789bdaf448050d7966“,“xdomain_type“:“TSI“,“xdomain_id“:“00000000001000000205“}},“user“:{„do.....

„Open Telekom Cloud“-Tools und die OpenStack-Umgebungsvariablen

Die spezifischen Kommandozeilenwerkzeuge der Open Telekom Cloud verwenden die gleichen Umgebungsvariablen wie die nativen OpenStack-Kommandozeilenwerkzeuge. Die Daten können in den Dateien ~/.ostackrc oder ~/novarc hinterlegt werden:

$ cat .ostackrc
 export OS_PASSWORD=„XXXXX“
 export OS_USERNAME=„14610698 Open Telekom Cloud00000000001000000205“
 export OS_TENANT_NAME=eu-de
 export OS_PROJECT_NAME=eu-de
 export OS_USER_DOMAIN_NAME=„${OS_USERNAME##* }“
 export OS_AUTH_URL=https://iam.eu-de.otc.t-systems.com:443/v3
 export OS_PROJECT_DOMAIN_NAME=
 export OS_IDENTITY_API_VERSION=3
 export OS_VOLUME_API_VERSION=2
 export OS_IMAGE_API_VERSION=2
 export OS_ENDPOINT_TYPE=publicURL
 export NOVA_ENDPOINT_TYPE=publicURL
 export CINDER_ENDPOINT_TYPE=publicURL

Das Beispiel nutzt ein Shell-Kommando, um den Domänennamen aus dem Usernamen zu extrahieren. Die „openSUSE42.1“-Images enthalten oben gezeigtes Template in ~/.ostackrc. Dort sind nur der Nutzername und das Passwort einzufüllen.

Erzeugen einer Virtuellen Maschine mit den Tools der Open Telekom Cloud

In dem kleinen Beispiel wird über das Shell Tool der Open Telekom Cloud eine ECS-Instanz erzeugt (allgemein „Virtuelle Maschine“). Das Tool allokiert automatisch einen Access-Token. Das Kommando „otc iam token“ druckt den Access-Token auf dem Terminal und kann somit Programme bedienen, die weitere API-Kommandos absetzen. Ein Aufruf des Programms „otc“ ohne Parameter zeigt einen kurzen Hilfetext an.

Mit dem folgenden Aufruf wird eine ECS-Instanz erzeugt:

$ otc ecs create \
 --wait --instance-type computev1-1 \
 --instance-name TEST_VM \
 --image-name Standard_openSUSE_42.1_JeOS_latest \
 --subnet-name subnet-32 --vpc-name vpc-32 \
 --security-group-name sg-ssh \
 --admin-pass „Cloud.4321“ \
 --key-name SSHkey-205a \
 --public false --disksize 6
 {
           „server“: {
            „availability_zone“: „eu-de-02“,
            „name“: „TEST_VM“,
            „imageRef“: „1cec66fa-036a-4192-835d-75f1568f2821“,
             „root_volume“: {
                    „volumetype“: „SATA“, „size“: „6“
             },
             „flavorRef“: „computev1-1“,
             „vpcid“: „b4690bfa-6d61-40b4-86b5-e8ab903ef11e“,
             „security_groups“: [ { „id“: „fa96c994-b43c-4793-b763-7b624e690511“ } ],
              „nics“: [ { „subnet_id“: „c095a6be-0d22-4393-8e46-05660e32da3f“ } ],
              „key_name“: „SSHkey-205a“,
              „adminPass“: „Cloud.4321“,
              „count“: „1“
             }
         }
 2c9eb2c15487316901549c98469a7e9e
 JOBID: https://ecs.eu-de.otc.t-systems.com/v1/a90ddf531f934a9aac8acebf1abdf19a/jobs/2c9eb2c15487316901549c98469a7e9e
 {„status“:“INIT“,“entities“:{},“job_id“:“2c9eb2c15487316901549c98469a7e9e“,“job_type“:“createServer“,“begin_time“:“2016-05-10T21:35:05.879Z“,“end_time“:“„,“error_code“:null,“fail_reason“:null}
 #{„status“:“RUNNING“,“entities“:{},“job_id“:“2c9eb2c15487316901549c98469a7e9e“,“job_type“:“createServer“,“begin_time“:“2016-05-10T21:35:05.879Z“,“end_time“:“„,“error_code“:null,“fail_reason“:null}
 #{„status“:“RUNNING“,“entities“:{„sub_jobs_total“:1,“sub_jobs“:[]},“job_id“:“2c9eb2c15487316901549c98469a7e9e“,“job_type“:“createServer“,“begin_time“:“2016-05-10T21:35:05.879Z“,“end_time“:“„,“error_code“:null,“fail_reason“:null}
 …
 #{„status“:“RUNNING“,“entities“:{„sub_jobs_total“:1,“sub_jobs“:[{„status“:“RUNNING“,“entities“:{},“job_id“:“2c9eb2c15487316901549c9864af7ea1“,“job_type“:“createSingleServer“,“begin_time“:“2016-05-10T21:35:13.583Z“,“end_time“:“„,“error_code“:null,“fail_reason“:null}]},“job_id“:“2c9eb2c15487316901549c98469a7e9e“,“job_type“:“createServer“,“begin_time“:“2016-05-10T21:35:05.879Z“,“end_time“:“„,“error_code“:null,“fail_reason“:null}
 #{„status“:“SUCCESS“,“entities“:{„sub_jobs_total“:1,“sub_jobs“:[{„status“:“SUCCESS“,“entities“:{„server_id“:“03df968c-72d5-40bf-8f7a-0ac2914c864b“},“job_id“:“2c9eb2c15487316901549c9864af7ea1“,“job_type“:“createSingleServer“,“begin_time“:“2016-05-10T21:35:13.583Z“,“end_time“:“2016-05-10T21:38:25.672Z“,“error_code“:null,“fail_reason“:null}]},“job_id“:“2c9eb2c15487316901549c98469a7e9e“,“job_type“:“createServer“,“begin_time“:“2016-05-10T21:35:05.879Z“,“end_time“:“2016-05-10T21:38:34.569Z“,“error_code“:null,“fail_reason“:null}
 #ECS Creation status: SUCCESS
 
 $ otc ecs list
 03df968c-72d5-40bf-8f7a-0ac2914c864b TEST_VM
 ... 

Zugegeben – dies sind eine ganze Reihe an Ausgaben, die aber im Wesentlichen zeigen, dass eine Virtuelle Maschine mit dem Kommando „otc ecs create …“ am API erzeugt werden kann. Das API-Kommando benötigt eine geraume Zeit, um die Ressourcen für die ECS zu reservieren. Dies wird dem API-Nutzer mit Laufzeitstatus angezeigt wie „Initial“ (status: „INIT”), „Running“ (status: „RUNNING”) und (erfolgreich) abgeschlossen (status: „SUCCESS”).

Die erzeugte ECS-Instanz kann mit dem Kommando „otc ecs list” gelistet werden.

In dem gezeigten Kommando wurden die folgenden notwendigen Parameter angegeben: Ein VPC (virtuelle private cloud) „vpc-32“ mit dem ein Subnetzwerk „subnet-32“ in der Verfügbarkeitszone (availability-zone) „eu-de-02“. Darüber hinaus die Security-Group „sg-ssh” und das SSH-Schlüsselpaar „SSHkey-205a“. Diese Elemente können mit den Tools oder der Webkonsole der Open Telekom Cloud erzeugt werden.

Erzeugen einer Virtuellen Maschine mit den OpenStack-Tools

Das Erzeugen einer ECS mit den nativen OpenStack-Kommandozeilenwerkzeugen benötigt mindestens drei Schritte, die in einigen Internetposts beschrieben sind und die wir in einem späteren Post zeigen wollen. Hier seien nur die Kommandos „openstack server list“ und „nova list“ genannt, die existierende VMs anzeigen.

Abschluss

Neben den nativen OpenStack-Kommandzeilenwerkzeugen (CLI) bietet die Open Telekom Cloud ein eigenes Kommandozeilenwerkzeug „Open Telekom Cloud Python Tools“ an. Dieses kann mit weiteren Funktionen über das API angesteuert werden. Die Open Telekom Cloud bietet verschlüsselte APIs für die verschiedenen Services, von denen neun gelistet wurden. Die Dokumentation der API-Kommandos ist im Internet einsehbar. In dem gezeigten Beispiel haben wir ein API-Passwort erzeugt, uns per CLI am API authentifiziert und eine Virtuelle Maschine erzeugt.

Resources

Open Telekom Cloud Documentation Center: https://docs.otc.t-systems.com/
OpenStack auf github: https://github.com/openstack/openstack
otc-tools auf github: https://github.com/OpenTelekomCloud/otc-tools


Jetzt direkt buchen und 250 € Startguthaben sichern* (Code: 4UOTC250)
24/7 Service
Nutzen Sie unser Beratungsangebot!

Kostenlos und durch Experten.

Wir beantworten Ihre Fragen zu Testmöglichkeit, Buchung und Nutzung – kostenfrei und individuell. Probieren Sie es aus!
Hotline: 24 Stunden am Tag, 7 Tage die Woche

0800 33 04477 aus Deutschland
00800 44 556 600 aus dem Ausland

* Gutschein ist einlösbar bis zum 30.06.2019. Bitte sprechen Sie uns bei der Buchung auf den Gutscheinbetrag an. Das Rabattvolumen ist nur für Kunden mit Rechnungsanschrift in Deutschland gültig und verfällt 2 Monate nach Abschluss des Vertrages. Das Guthaben wird mit den gültigen Listenpreisen gemäß Leistungsbeschreibung verrechnet. Eine Auszahlung ist ausgeschlossen.

  • Jetzt 250 € Startguthaben sichern

    Jetzt direkt buchen und 250 € Startguthaben sichern*
    Code: 4UOTC250

    Jetzt buchen

  • Telefon

    Kostenfreie Experten-Hotline

    Unsere zertifizierten Cloud-Experten stehen Ihnen mit persönlichem Service zur Seite.

    0800 33 04477 (aus Deutschland)

    24 Stunden am Tag, 7 Tage die Woche

  • E-Mail

    Unser Kunden-Service steht Ihnen per E-Mail-Support kostenlos zur Verfügung.

    E-Mail schreiben

  • Beratungstermin vereinbaren

    Unsere Experten für die Open Telekom Cloud beraten Sie kostenfrei, unverbindlich und individuell. 

    Beratungstermin vereinbaren