Cloud Shell verwenden
In diesem Abschnitt wird die Verwendung von Cloud Shell beschrieben.
Erste Schritte mit Cloud Shell
Sie können auf zwei Arten auf Cloud Shell zugreifen:
- Über die OCI-Konsole
- Über die Schaltfläche "Testen", die in vielen Befehlszeilen- und Codebeispielen in der gesamten Dokumentation angezeigt wird
Cloud Shell erstellt Ihr Home-Verzeichnis mit Ihrer Benutzer-OCID. Wenn Sie mehrere Accounts in einem Mandanten verwenden (z.B. einen föderierten und einen nicht föderierten Benutzeraccount), erhalten Sie für jeden Account ein separates, eindeutiges Cloud Shell-Home-Verzeichnis.
So greifen Sie über die Konsole auf Cloud Shell zu:
- Melden Sie sich bei der Konsole an.
- Klicken Sie im Konsolen-Header auf das Symbol "Cloud Shell/Codeeditor", und wählen Sie im Dropdown-Menü die Option "Cloud Shell" aus. Beachten Sie, dass die in der Cloud Shell ausgeführte OCI-CLI Befehle für die Region ausführt, die beim Starten der Cloud Shell im Auswahlmenü "Region" der Konsole ausgewählt wurde.
Dadurch wird die Cloud Shell in einer "Schublade" unten in der Konsole angezeigt:
Mit den Symbolen in der oberen rechten Ecke des Cloud Shell-Fensters können Sie die Cloud Shell-Session minimieren, maximieren, neu starten und schließen.
Um den Fokus über die Tastatur von der Cloud Shell zu entfernen, verwenden Sie Strg-ESCAPE.
Bei Zwischenablagevorgängen können Windows-Benutzer Strg+C oder Strg+Einfg zum Kopieren von Daten und Umschalt+Einfg oder Strg+V zum Einfügen von Daten verwenden. Mac OS-Benutzer verwenden Cmd+C zum Kopieren und Cmd+V zum Einfügen.
So greifen Sie über die Schaltfläche "Testen" auf Cloud Shell zu:
Viele Code- und Befehlsbeispiele in der OCI-Dokumentation enthalten eine Schaltfläche Testen. Diese Schaltfläche kopiert das Beispiel in die Zwischenablage und öffnet eine Cloud Shell-Session, damit Sie das Beispiel ausprobieren können.
Die Cloud Shell wird mit vorab authentifizierter OCI-CLI geliefert. Sie können sie also sofort verwenden, ohne sie erst einrichten zu müssen.
Versuchen Sie es mit den folgenden Befehlen:
oci os ns get
oci iam compartment list
Mit einem OKE-Cluster aus der Cloud Shell interagieren
Folgen Sie den Anweisungen unter Cloud Shell-Zugriff auf Cluster einrichten, um folgende Schritte auszuführen:
- Richten Sie eine OKE-kubeconfig-Datei zur Verwendung mit Cloud Shell ein:
- Wählen Sie ein Cluster aus.
- Wählen Sie die Schaltfläche Auf Cluster zugreifen aus.
- Wählen Sie Cloud Shell-Zugriff aus.
- Wählen Sie Cloud Shell starten aus, um das Cloud Shell-Fenster anzuzeigen.
Führen Sie im Cloud Shell-Fenster den Oracle Cloud Infrastructure-CLI-Befehl aus, um die kubeconfig-Datei einzurichten und in einem Speicherort zu speichern, der für kubectl zugänglich ist. Beispiel:
$ oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.phx.aaaaaaaaae... --file $HOME/.kube/config --region us-phoenix-1 --token-version 2.0.0
-
Prüfen Sie, ob kubectl verfügbar ist und über das Cloud Shell-Fenster eine Verbindung zum Cluster herstellen kann, indem Sie im Cloud Shell-Fenster den folgenden Befehl eingeben:
$ kubectl get nodes
Dateien übertragen
- Sie können im Dialogfeld "Dateiübertragung" jeweils nur eine Datei für die Übertragung auswählen. Sie können jedoch mehrere Dateien per Drag-and-Drop verschieben.
- Sie können keine Verzeichnisse übertragen.
- Die maximale Dateigröße beträgt 4 GB.
- Dateiberechtigungen werden bei übertragenen Dateien nicht beibehalten.
- Dateinamen werden protokolliert. Verwenden Sie keine personenbezogenen Daten in Dateinamen.
- Ziehen Sie eine oder mehrere Dateien in das Cloud Shell-Fenster.
So laden Sie eine Datei über das Menü in Cloud Shell hoch:
- Klicken Sie oben links im Cloud Shell-Fenster auf das Cloud Shell-Menü, und wählen Sie Hochladen aus. Das Dialogfeld Dateiupload wird angezeigt.
- Ziehen Sie eine Datei per Drag & Drop, oder klicken Sie auf auf dem Computer auswählen.Hinweis
Das Dialogfeld "Dateiübertragung" unterstützt nur die Auswahl jeweils einer Datei für die Übertragung. - Klicken Sie auf Hochladen.
- Das Dialogfeld Dateiübertragung wird angezeigt.
- In Bearbeitung befindliche Dateiübertragungen werden mit einer Fortschrittsleiste angezeigt.
- Sie können eine laufende Dateiübertragung abbrechen, wenn Sie neben der Fortschrittsleiste der Datei auf das X klicken.
- Abgeschlossene Dateiübertragungen werden mit einem grünen Häkchen angezeigt.
- Sie können das Dialogfeld "Dateiübertragung" ausblenden, indem Sie auf Ausblenden klicken
- Sie können das Dialogfeld "Dateiübertragung" jederzeit anzeigen, indem Sie im Menü "Cloud Shell" Dateiübertragungen auswählen
So laden Sie eine Datei aus Cloud Shell herunter:
- Klicken Sie oben links im Cloud Shell-Fenster auf das Cloud Shell-Menü, und wählen Sie Herunterladen aus. Das Dialogfeld Dateidownload wird angezeigt:
- Geben Sie den Namen der Datei in Ihrem Home-Verzeichnis ein, die Sie herunterladen möchten.Hinweis
Sie können nur Dateien aus Ihrem Home-Verzeichnis herunterladen. - Klicken Sie auf die Schaltfläche Herunterladen.
- Das Dialogfeld Dateiübertragung wird angezeigt.
- In Bearbeitung befindliche Dateiübertragungen werden mit einer Fortschrittsleiste angezeigt.
- Sie können eine laufende Dateiübertragung abbrechen, wenn Sie neben der Fortschrittsleiste der Datei auf das X klicken.
- Abgeschlossene Dateiübertragungen werden mit einem grünen Häkchen angezeigt.
- Sie können das Dialogfeld "Dateiübertragung" ausblenden, indem Sie auf Ausblenden klicken
- Sie können das Dialogfeld "Dateiübertragung" jederzeit anzeigen, indem Sie im Menü "Cloud Shell" Dateiübertragungen auswählen
OCI-CLI-Konfiguration für Cloud Shell anpassen
Cloud Shell enthält eine vorab authentifizierte OCI-CLI, die aktualisiert und für Ihren Benutzer bereitgestellt wird, wenn Sie eine neue Cloud Shell öffnen. OCI-Konfigurationsspeicherort und -Token befinden sich außerhalb des Home-Verzeichnisses des Benutzers in /etc/oci
. Beispiel:
example_user@cloudshell:~ (us-ashburn-1)$ ll /etc/oci
total 20K
drwxrwx---. 1 root oci 44 Oct 12 00:07 ./
drwxr-xr-x. 1 root root 4.0K Oct 12 00:07 ../
-rw-------. 1 jonathan_s oci 1.9K Jan 1 1970 config
-rw-------. 1 jonathan_s oci 1.3K Jan 1 1970 delegation_token
example_user@cloudshell:~ (us-ashburn-1)$
Der Speicherort der Konfigurationsdatei, der OCI-CLI-Authentifizierungstyp und die Profilauswahl werden mit Umgebungsvariablen angegeben:
OCI_CLI_AUTH=instance_obo_user
OCI_CLI_CONFIG_FILE=/etc/oci/config
OCI_CLI_PROFILE=us-ashburn-1
Um die OCI-CLI anzupassen, können Sie eine OCI-CLI-RC-Datei erstellen und im lokalen OCI-Verzeichnis ablegen:
$ oci setup oci-cli-rc --file path/to/target/file
Weitere Informationen zur Konfiguration der OCI-CLI finden Sie unter CLI konfigurieren.
Cloud Shell-Regionen verwalten
Cloud Shell verwendet die CLI-Konfigurationsdatei und Umgebungsvariablen, um zu bestimmen, mit welcher Region die OCI-CLI interagiert. Die OCI-CLI-Konfigurationsdatei (die von der Umgebungsvariablen OCI_CLI_CONFIG_FILE
angegeben wird) enthält die CLI-Profile für Cloud Shell. Jede Region ist ein eigenständiges CLI-Profil, und das aktuelle Profil wird über die Umgebungsvariable OCI_CLI_PROFILE
angegeben.
Beispiel: Wenn Sie Cloud Shell über die Konsole öffnen und dabei "US East (Ashburn)" in der Dropdown-Liste für die Konsolenregion ausgewählt ist, wird Cloud Shell geöffnet und dabei OCI_CLI_PROFILE
auf us-ashburn-1
gesetzt.
In Cloud Shell ist kein
[DEFAULT]
-Profil vorhanden, da sich die ausgewählte Region je nach Konsolenkonfiguration beim Öffnen von Cloud Shell ändert.Wenn Sie die OCI-CLI-Einstellungen in Cloud Shell anpassen möchten, können Sie eine OCI-CLI-Konfigurationsdatei verwenden. Beispielsweise können Sie ein Standard-Compartment in der Konfigurationsdatei unter dem entsprechenden Regionsprofil in der RC-Datei festlegen. Beim Beispiel "us-ashburn-1" können Sie eine Standard-Compartment-Einstellung wie die folgende hinzufügen:
[COMPARTMENT DEFAULTS]
[us-ashburn-1]
compartment-id = ocid1.compartment.oc1..xxxxxxxx
Cloud Shell-Umgebung zurücksetzen
Mit dem Tool csreset
können Sie die Cloud Shell-Umgebung auf den Standardstatus zurücksetzen. Sie können entweder nur Ihre bash-Profil- und emacs-Einstellungen zurücksetzen, oder Sie können zusätzlich zum Zurücksetzen der bash- und emacs-Einstellungen noch alle Daten in Ihrem Home-Verzeichnis löschen.
So setzen Sie die bash-Dateien zurück
Mit der Option --bashfiles
(oder -b
) können Sie die Dateien $HOME/.bashrc
, $HOME/.bash_profile
, $HOME/.bash_logout
und $HOME/.emacs
auf ihre Standardwerte zurücksetzen:
csreset --bashfiles
oder
csreset -b
So setzen Sie alles zurück
Um alle Daten im $HOME-Verzeichnis zu löschen, müssen Sie alle Dateien bereinigen, die aufgrund der Ausführung von Anwendungen oder Tools erstellt wurden. Beispiel: Wenn Sie podman pull hello-world
ausgeführt haben, verwenden Sie podman image rm
, um die von podman unter dem Verzeichnis $HOME/.local
erstellten Dateien zu entfernen und dann csreset -a
auszuführen.
Hilfe anzeigen
Um Verwendungsoptionen anzuzeigen, verwenden Sie die Option --help
oder -h
:
csreset -h
oder
csreset --help
Home-Verzeichnis von Cloud Shell mit Object Storage sichern und wiederherstellen
Den Inhalt des Home-Verzeichnisses von Cloud Shell können Sie in einem Bucket in Object Storage archivieren und sichern.
Der Cloud Shell-Service sorgt zwar für sessionübergreifende Persistenz, bietet jedoch nicht die Möglichkeit, vom Benutzer versehentlich gelöschte Dateien wiederherzustellen. Zudem bietet der Service keine Disaster Recovery für Daten in Ihrem Home-Verzeichnis. Wenn Sie kritische Daten gespeichert haben, erstellen Sie regionsübergreifende Backups.
So sichern Sie das Home-Verzeichnis von Cloud Shell in Object Storage
- Erstellen Sie in Object Storage einen Bucket für das Backup (es ist auch möglich, einen vorhandenen Bucket zu verwenden). Informationen zum Arbeiten mit Buuckets in Object Storage finden Sie unter Object Storage-Buckets.Hinweis
Mit dem Befehloci os ns get
können Sie den Object Storage-Standard-Namespace für Ihren Mandanten suchen. - Führen Sie den folgenden Befehl aus einer Cloud Shell-Eingabeaufforderung aus. Achten Sie darauf,
OCI_CS_USER_BACKUPS_BUCKET_NAME
undOCI_CS_USER_BACKUPS_NAMESPACE
mit den entsprechenden Werten für Ihr Backup zu belegen:OCI_CS_USER_BACKUPS_BUCKET_NAME="MyCloudShellBackupsBucket" OCI_CS_USER_BACKUPS_NAMESPACE="NamespaceForBackupsBucket" FILENAME=CloudShellHomeDirectoryBackup-$OCI_REGION-$OCI_CS_USER_OCID-$(date --iso-8601=seconds).tar.gz TEMP_TAR_LOCATION=/tmp tar -zcvf $TEMP_TAR_LOCATION/$FILENAME ~/ echo "Creating backup object: $FILENAME in bucket: $OCI_CS_USER_BACKUPS_BUCKET_NAME in namespace: $OCI_CS_USER_BACKUPS_NAMESPACE" oci os object put --namespace-name $OCI_CS_USER_BACKUPS_NAMESPACE --bucket-name $OCI_CS_USER_BACKUPS_BUCKET_NAME --file $TEMP_TAR_LOCATION/$FILENAME rm $TEMP_TAR_LOCATION/$FILENAME
- Vergewissern Sie sich, dass alle Befehle ohne Fehler ausgeführt wurden. Führen Sie den folgenden Befehl aus, um zu überprüfen, dass die Backupdatei in Object Storage vorhanden ist und die erwartete Größe aufweist:
oci os object head --namespace-name $OCI_CS_USER_BACKUPS_NAMESPACE --bucket-name $OCI_CS_USER_BACKUPS_BUCKET_NAME --name $FILENAME
So stellen Sie das Home-Verzeichnis von Cloud Shell aus Object Storage wieder her
- Suchen Sie den Namen des Objekts mit dem Backup sowie den Namen des Buckets, in dem es sich befindet. Sie benötigen diese Werte als Parameter für die folgenden Befehle. Informationen zu Object Storage finden Sie in der Dokumentation zu Object Storage.
- Führen Sie die folgenden Befehle aus einer Cloud Shell-Eingabeaufforderung aus. Ersetzen Sie dabei die Variablen
OCI_CS_USER_BACKUPS_BUCKET_NAME
,OCI_CS_USER_BACKUPS_OBJECT_NAME
undOCI_CS_USER_BACKUPS_NAMESPACE
durch die entsprechenden Werte.Hinweis
Mit dem Befehloci os ns get
können Sie den Object Storage-Standard-Namespace für Ihren Mandanten suchen.Hinweis
Der tar-Befehl überschreibt keine vorhandenen Dateien. Wenn Sie vorhandene Dateien überschreiben möchten, entfernen Sie den Parameter--skip-old-files
, und fügen Sie den Parameter--overwrite
hinzu.OCI_CS_USER_BACKUPS_BUCKET_NAME="MyCloudShellBackupsBucket" OCI_CS_USER_BACKUPS_OBJECT_NAME="CloudShellHomeDirectoryBackup-us-ashburn-1-ocid1.user...tar.gz" OCI_CS_USER_BACKUPS_NAMESPACE="NamespaceForBackupsBucket" TEMP_TAR_LOCATION=/tmp oci os object get --namespace-name $OCI_CS_USER_BACKUPS_NAMESPACE --bucket-name $OCI_CS_USER_BACKUPS_BUCKET_NAME --name $OCI_CS_USER_BACKUPS_OBJECT_NAME --file $TEMP_TAR_LOCATION/$OCI_CS_USER_BACKUPS_OBJECT_NAME tar --skip-old-files -xzvf $TEMP_TAR_LOCATION/$OCI_CS_USER_BACKUPS_OBJECT_NAME -C / rm -rf $TEMP_TAR_LOCATION/$OCI_CS_USER_BACKUPS_OBJECT_NAME
- Prüfen Sie die Befehlsausgabe und die Dateien im Home-Verzeichnis, um sicherzustellen, dass alle Befehle ohne Fehler ausgeführt wurden.
Mit Python-Versionen arbeiten
python
ein:python
Mit kubectl-Versionen arbeiten
Cloud Shell wird mit allen aktuell von OKE unterstützten Kubernetes-Versionen vorinstalliert. Diese Versionen werden in /usr/local/bin/kubectl-{version}
(Beispiel: /usr/local/bin/kubectl-v1.17.13
) installiert, und der Pfad zur Binärdatei ist in der PATH-Umgebungsvariablen enthalten.
Wenn Sie kubectl
in Ihrer Cloud Shell-Session ausführen, wird standardmäßig die vorletzte installierte Version von kubectl aufgerufen. So wird die Kompatibilität anhand von Kubernetes-Versionsabweichungs-Policys optimiert.
Wenn Sie eine andere kubectl-Version als die Standardversion verwenden möchten, können Sie die versionsspezifische Binärdatei aufrufen.
kubectl-v1.17.13 get services
Eine weitere Möglichkeit besteht darin, einen Alias zu erstellen, um kubectl auf eine bestimmte Version zu verweisen. alias kubectl=kubectl-v1.17.13
Wenn der Alias zwischen Cloud Shell-Sessions persistiert werden soll, fügen Sie die Aliasdefinition der Datei
~/.bashrc
hinzu.Sprachlaufzeiten verwalten
csruntimectl
können Sie die Sprachlaufzeiten anzeigen und verwalten, die Cloud Shell für die Programmausführung verwendet.Der Befehl
csruntimectl
unterstützt derzeit Java und Python.list
. Beispiel:csruntimectl java list
set
können Sie angeben, welche Version der Laufzeit Cloud Shell verwendet. Beispiel: So legen Sie die Java-Laufzeit fest:csruntimectl java set oraclejdk-11
Beachten Sie, dass diese Einstellung auch in allen Cloud Shell-Sessions beibehalten wird.
help
können Sie eine Liste der aktuell unterstützten Optionen ausgeben:csruntimectl help
Öffentliche IP-Adresse für eine Cloud Shell-Session abrufen
Die öffentliche Cloud Shell-IP-Adresse ist dynamisch. Sie ändert sich während einer Cloud Shell-Session nicht, möglicherweise jedoch beim Starten einer neuen Session.
curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
Dieser Befehl gibt die öffentliche IP-Adresse des mit Cloud Shell verknüpften NAT-Gateways zurück. Da Cloud Shell nicht mit einem Internetgateway verknüpft ist, können Sie mit dieser IP-Adresse keinen Webservice erreichen, der auf Cloud Shell ausgeführt wird.