Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

Vorheriges v3 SUSE Rancher Prime API-Handbuch

The v3 API is not supported and backwards compatibility is not guaranteed.

Rancher v2.8.0 führte die Rancher Kubernetes API (RK-API) ein, die die unterstützte API von Rancher ist. Diese Seite beschreibt die v3 API. Für weitere Informationen zur RK-API siehe das RK-API-Quickstart und das Referenzhandbuch.

Verwendung der API

Die vorherige v3 API hat ihre eigene Benutzeroberfläche, die über einen Webbrowser zugänglich ist. Dies ist eine einfache Möglichkeit, Ressourcen anzuzeigen, Aktionen auszuführen und die entsprechenden curl oder HTTP-Anfragen und -Antworten zu sehen. Um darauf zuzugreifen:

  1. Klicken Sie auf Ihren Benutzeravatar in der oberen rechten Ecke.

  2. Klicken Sie auf Account & API-Schlüssel.

  3. Unter dem Abschnitt API-Schlüssel finden Sie das Feld API-Endpunkt und klicken Sie auf den Link. Der Link sieht ungefähr so aus: https://<rancher_fqdn>/v3, wobei <RANCHER_FQDN> der vollqualifizierte Domainname Ihrer Rancher-Implementierung ist.

Authentifizierung

API-Anfragen müssen Authentifizierungsinformationen enthalten. Die Authentifizierung erfolgt mit HTTP-Basisauthentifizierung unter Verwendung von rancher-admin/users/settings/api-keys.adoc[API-Schlüsseln]. API-Schlüssel können neue Cluster erstellen und haben über /v3/clusters/ Zugriff auf mehrere Cluster. Cluster- und Projektrollen gelten für diese Schlüssel und beschränken, welche Cluster und Projekte das Konto sehen kann und welche Aktionen es ausführen kann.

Standardmäßig werden bestimmte clusterweite API-Token mit unbegrenzter Lebensdauer (ttl=0) generiert. Mit anderen Worten, API-Token mit ttl=0 laufen nie ab, es sei denn, Sie machen sie ungültig. Für Details zur Ungültigmachung dieser Token siehe die Seite zu API-Token.

Anfragen stellen

Die API ist im Allgemeinen RESTful, bietet jedoch mehrere Funktionen, um die Definition von allem für einen Client entdeckbar zu machen, sodass generische Clients geschrieben werden können, anstatt spezifischen Code für jeden Ressourcentyp schreiben zu müssen. Für detaillierte Informationen zur generischen API-Spezifikation siehe weitere Dokumentation.

  • Jeder Typ hat ein Schema, das beschreibt:

    • Die URL, um zur Sammlung dieses Typs von Ressourcen zu gelangen.

    • Jedes Feld, das die Ressource haben kann, zusammen mit ihrem Typ, grundlegenden Validierungsregeln, ob sie erforderlich oder optional sind, usw.

    • Jede Aktion, die auf diesem Typ von Ressource möglich ist, mit ihren Eingaben und Ausgaben (auch als Schemata).

    • Jedes Feld, das das Filtern ermöglicht.

    • Welche HTTP-Verb-Methoden für die Sammlung selbst oder für einzelne Ressourcen in der Sammlung verfügbar sind.

Das Design ermöglicht es Ihnen, nur die Liste der Schemata zu laden und alles über die API abzurufen. Die Benutzeroberfläche für die API enthält keinen Code, der spezifisch für Rancher ist. Die URL, um Schemata zu erhalten, wird in jeder HTTP-Antwort als X-Api-Schemas Header gesendet. Von dort aus können Sie dem collection Link auf jedem Schema folgen, um zu wissen, wo Ressourcen aufgelistet werden, und anderen links innerhalb der zurückgegebenen Ressourcen folgen, um weitere Informationen zu erhalten.

In der Praxis möchten Sie möglicherweise einfach URL-Strings konstruieren. Wir empfehlen dringend, dies auf die oberste Ebene zu beschränken, um eine Sammlung aufzulisten (/v3/<type>) oder eine bestimmte Ressource zu erhalten (/v3/<type>/<id>). Alles, was tiefer als das ist, unterliegt Änderungen in zukünftigen Versionen.

Ressourcen haben Beziehungen zueinander, die Links genannt werden. Jede Ressource enthält eine Karte von links mit dem Namen des Links und der URL, wo Sie diese Informationen abrufen können. Erneut sollten Sie die Ressource GET und dann der URL in der links Karte folgen, nicht diese Strings selbst konstruieren.

Die meisten Ressourcen haben Aktionen, die etwas tun oder den Zustand der Ressource ändern. Um sie zu verwenden, senden Sie ein HTTP POST an die URL in der actions Karte der Aktion, die Sie möchten. Bestimmte Aktionen erfordern Eingaben oder erzeugen Ausgaben. Siehe die individuelle Dokumentation für jeden Typ oder die Schemata für spezifische Informationen.

Um eine Ressource zu bearbeiten, senden Sie ein HTTP PUT an den links.update Link auf der Ressource mit den Feldern, die Sie ändern möchten. Wenn der Link fehlt, haben Sie keine Berechtigung, die Ressource zu aktualisieren. Unbekannte Felder und solche, die nicht bearbeitet werden können, werden ignoriert.

Um eine Ressource zu löschen, senden Sie ein HTTP DELETE an den links.remove Link der Ressource. Wenn der Link fehlt, haben Sie keine Berechtigung, die Ressource zu aktualisieren.

Um eine neue Ressource zu erstellen, senden Sie ein HTTP POST an die Sammlung-URL im Schema (die /v3/<type> ist).

filterung

Die meisten Sammlungen können serverseitig nach gängigen Feldern mit HTTP-Abfrageparametern gefiltert werden. Die filters Karte zeigt Ihnen, welche Felder gefiltert werden können und welche gefilterten Werte für die Anfrage, die Sie gemacht haben, waren. Die API-Benutzeroberfläche hat Steuerungen, um Filter einzurichten und Ihnen die entsprechende Anfrage zu zeigen. Für einfache "gleich" Übereinstimmungen ist es nur field=value. Modifier können zum Feldnamen hinzugefügt werden, zum Beispiel field_gt=42 für "Feld ist größer als 42." Siehe die API-Spezifikation für vollständige Details.

Sortieren

Die meisten Sammlungen können serverseitig nach gängigen Feldern mit HTTP-Abfrageparametern sortiert werden. Die sortLinks Karte zeigt Ihnen, welche Sortierungen verfügbar sind, zusammen mit der URL, um die Sammlung nach dieser zu sortieren. Sie enthält auch Informationen darüber, nach was die aktuelle Antwort sortiert wurde, falls angegeben.

Seitennummerierung

API-Antworten sind standardmäßig mit einer Begrenzung von 100 Ressourcen pro Seite paginiert. Dies kann mit dem limit Abfrageparameter geändert werden, bis zu einem Maximum von 1000, zum Beispiel /v3/pods?limit=1000. Die pagination Karte in den Sammlungsantworten sagt Ihnen, ob Sie das vollständige Ergebnisset haben oder nicht, und hat einen Link zur nächsten Seite, wenn Sie dies nicht haben.

Erfassung von v3 API-Aufrufen

Sie können die Entwicklertools des Browsers verwenden, um zu erfassen, wie die v3 API aufgerufen wird. Zum Beispiel könnten Sie diese Schritte befolgen, um die Chrome-Entwicklertools zu verwenden, um den API-Aufruf zur Bereitstellung eines Rancher Kubernetes-Distributionsclusters zu erhalten:

  1. Gehen Sie in der Rancher-Benutzeroberfläche zu Cluster-Verwaltung und klicken Sie auf Erstellen.

  2. Klicken Sie auf einen der Cluster-Typen. Dieses Beispiel verwendet Digital Ocean.

  3. Füllen Sie das Formular mit einem Clusternamen und einer Knotenvorlage aus, aber klicken Sie nicht auf Erstellen.

  4. Sie müssen die Entwicklertools vor der Clustererstellung öffnen, um den API-Aufruf zu sehen, der aufgezeichnet wird. Um die Tools zu öffnen, klicken Sie mit der rechten Maustaste auf die Rancher-Benutzeroberfläche und klicken Sie auf Untersuchen.

  5. Klicken Sie in den Entwicklertools auf die Registerkarte Netzwerk.

  6. Stellen Sie auf der Registerkarte Netzwerk sicher, dass Fetch/XHR ausgewählt ist.

  7. Klicken Sie in der Rancher-Benutzeroberfläche auf Erstellen. In den Entwicklertools sollten Sie eine neue Netzwerk-Anfrage mit dem Namen cluster?_replace=true sehen.

  8. Klicken Sie mit der rechten Maustaste auf cluster?_replace=true und klicken Sie auf menu:Kopieren[Als cURL kopieren.]

  9. Fügen Sie das Ergebnis in einen beliebigen Texteditor ein. Sie können die POST-Anfrage sehen, einschließlich der URL, an die sie gesendet wurde, aller Header und des vollständigen Körpers der Anfrage. Dieser Befehl kann verwendet werden, um einen Cluster über die Kommandozeile zu erstellen. Hinweis: Die Anfrage sollte an einem sicheren Ort gespeichert werden, da sie Anmeldeinformationen enthält.

Aktivieren Sie „In API anzeigen“

Sie können auch erfasste v3 API-Aufrufe für Ihre jeweiligen Cluster und Ressourcen anzeigen. Dieses Feature ist standardmäßig nicht aktiviert. Um es zu aktivieren:

  1. Klicken Sie auf Ihr Benutzerfeld in der oberen rechten Ecke der Benutzeroberfläche und wählen Sie Voreinstellungen aus dem Menü.

  2. Klicken Sie im Abschnitt Erweiterte Funktionen auf Aktivieren Sie „In API anzeigen“

Nach der Überprüfung wird der Link „In API anzeigen“ unter dem Untermenü auf den Ressourcen-Seiten in der Benutzeroberfläche angezeigt.