Das Horizon-Webfrontend bietet schon viele Möglichkeiten eine Cloud-Infrastruktur zu verwalten. Mit der CLI ist das ganze jedoch noch reproduzierbarer und manchmal auch einfacher möglich.
Services anzeigen lassen
In der Horizon-Weboberfläche können unter Project -> API Access alle aktiven Service angezeigt werden. Jeder Service hat eine eigene Endpoint-URL.
Hintergrund
Die Verfügbaren Services sind Zentral im Identity-Service gespeichert und lassen sich durch diesen Abfragen. Deshalb brauchen die meisten Tools wie z.B. die OpenStack CLI neben Zugangsdaten nur den Identity Endpoint als Konfiguration.
Application Credential erstellen
Für die sichere Verbindung erstellen sie ein Application Credential für die CLI. Das geht in Horizon unter Identity -> Application Credentials.
Hinweis - Wenn sie sich per ScaleUp IDM anmelden müssen sie vorher den Domain-Kontext wechseln. Gehen sie auf Identität -> Domänen und klicken sie bei "Default" auf Domain-Kontext setzen
Achtung - Ein Application Credential Secret ist sensibel und sollte daher wie ein Passwort behandelt werden.
Clouds.yaml erstellen
Die clouds.yaml
ist eine Konfigurationsdatei wo die Verbindung zu unserer Cloud inklusive Zugangsdaten definiert werden kann.
Standartmäßig wird diese unter ~/.config/openstack/
gesucht. Legen sie dort eine clouds.yaml
an und geben sie ihr folgenden Inhalt:
clouds:
<cloud_name>:
auth_type: v3applicationcredential
auth:
auth_url: <auth_url>
application_credential_id: <application_credential_id>
application_credential_secret: <application_credential_secret>
region_name: "RegionOne"
interface: "public"
identity_api_version: 3
Passen sie folgende Werte an:
<cloud_name>
ersetzen sie durch einen beliebigen Namen.<auth_url>
ersetzen sie durch den Identity-Endpunkt, also z.B.https://keystone.occ2.scaleup.cloud
<application_credential_id>
ersetzen sie durch ihre Application Credential ID<application_credential_secret>
ersetzen sie durch ihren Application Credential Secret
Nun können sie die Verbindung testen. Listen sie z.B. alle Server in ihrem Projekt auf.
openstack server list --cloud <cloud_name>
Sie können auch den Namen der Cloud (bzw. ihres Zugangs) als Umgebungsvariable definieren und sich dann den --cloud parameter sparen:
export OS_CLOUD=<cloud_name>
openstack server list
Nun können sie auf die OpenStack CLI zugreifen.