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
Hinweis

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:

  1. Melden Sie sich bei der Konsole an.
  2. Klicken Sie im Konsolenheader 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.

Cloud Shell-Startmenü

Dadurch wird die Cloud Shell in einer "Schublade" unten in der Konsole angezeigt:

Beispiel für Cloud Shell-Schublade

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 mit der Tastatur von Cloud Shell zu entfernen, verwenden Sie Strg-ESCAPE.

Hinweis

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 die 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:

  1. Richten Sie eine OKE-kubeconfig-Datei zur Verwendung mit Cloud Shell ein:
    1. Wählen Sie ein Cluster aus.
    2. Klicken Sie auf die Schaltfläche Auf Cluster zugreifen.
    3. Klicken Sie auf Cloud Shell-Zugriff.
    4. Klicken Sie auf Cloud Shell starten, um das Cloud Shell-Fenster anzuzeigen.
    5. 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
  2. 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 Dateien mit folgenden Einschränkungen in und aus Cloud Shell ü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.
So laden Sie eine Datei per Drag-and-Drop in Cloud Shell hoch:
  1. Ziehen Sie eine oder mehrere Dateien in das Cloud Shell-Fenster.

So laden Sie eine Datei über das Menü in Cloud Shell hoch:

  1. Klicken Sie oben links im Cloud Shell-Fenster auf das Cloud Shell-Menü, und wählen Sie Hochladen aus. Das Dialogfeld Dateiupload wird angezeigt.
  2. Verschieben Sie eine Datei per Drag-and-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.
  3. Klicken Sie auf die Schaltfläche Hochladen.
  4. Das Dialogfeld Dateiübertragung wird angezeigt.
    1. In Bearbeitung befindliche Dateiübertragungen werden mit einer Fortschrittsleiste angezeigt.
    2. Sie können eine laufende Dateiübertragung abbrechen, indem Sie auf das X neben der Fortschrittsleiste der Datei klicken.
    3. Abgeschlossene Dateiübertragungen werden mit einem grünen Häkchen angezeigt.
    4. Sie können das Dialogfeld "Dateiübertragung" ausblenden, indem Sie auf Ausblenden klicken.
    5. Sie können das Dialogfeld "Dateiübertragung" jederzeit anzeigen, indem Sie im Cloud Shell-Menü die Option Dateiübertragungen auswählen.

So laden Sie eine Datei aus Cloud Shell herunter:

  1. Klicken Sie oben links im Cloud Shell-Fenster auf das Cloud Shell-Menü, und wählen Sie Herunterladen aus. Das Dialogfeld Dateidownload wird angezeigt:
  2. 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.
  3. Klicken Sie auf Herunterladen.
  4. Das Dialogfeld Dateiübertragung wird angezeigt.
    1. In Bearbeitung befindliche Dateiübertragungen werden mit einer Fortschrittsleiste angezeigt.
    2. Sie können eine laufende Dateiübertragung abbrechen, indem Sie auf das X neben der Fortschrittsleiste der Datei klicken.
    3. Abgeschlossene Dateiübertragungen werden mit einem grünen Häkchen angezeigt.
    4. Sie können das Dialogfeld "Dateiübertragung" ausblenden, indem Sie auf Ausblenden klicken.
    5. Sie können das Dialogfeld "Dateiübertragung" jederzeit anzeigen, indem Sie im Cloud Shell-Menü die Option 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.

Hinweis

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

Mit der Option --all (oder -a) können Sie alle Daten in Ihrem $HOME-Verzeichnis löschen und die Dateien $HOME/.bashrc, $HOME/.bash_profile, $HOME/.bash_logout und $HOME/.emacsauf ihre Standardwerte zurücksetzen:

csreset --all

oder

csreset -a

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.

Hinweis

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

  1. 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 Buckets in Object Storage finden Sie unter Object Storage-Buckets.
    Hinweis

    Mit dem Befehl oci os ns get können Sie den Object Storage-Standard-Namespace für Ihren Mandanten suchen.
  2. Führen Sie den folgenden Befehl aus einer Cloud Shell-Eingabeaufforderung aus. Achten Sie darauf, OCI_CS_USER_BACKUPS_BUCKET_NAME und OCI_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 
  3. 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

  1. 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.
  2. 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 und OCI_CS_USER_BACKUPS_NAMESPACE durch die entsprechenden Werte.
    Hinweis

    Mit dem Befehl oci 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
  3. 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

Cloud Shell verwendet Python 3. Um python auszuführen, geben Sie in der Eingabeaufforderung 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.

Beispiel:
kubectl-v1.17.13 get services
Eine weitere Möglichkeit besteht darin, einen Alias zu erstellen, um kubectl auf eine bestimmte Version zu verweisen.
Beispiel:
alias kubectl=kubectl-v1.17.13
Hinweis

Wenn der Alias zwischen Cloud Shell-Sessions persistiert werden soll, fügen Sie die Aliasdefinition der Datei ~/.bashrc hinzu.

Sprachlaufzeiten verwalten

Mit dem Befehl csruntimectl können Sie die Sprachlaufzeiten anzeigen und verwalten, die Cloud Shell für die Programmausführung verwendet.
Hinweis

Der Befehl csruntimectl unterstützt derzeit nur Java.
Um die aktuell in Cloud Shell unterstützten Versionen einer Laufzeit anzuzeigen, verwenden Sie die Option list. Beispiel:
csruntimectl java list
Mit der Option 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.

Mit der Option help können Sie eine Liste der aktuell unterstützten Optionen ausgeben:
csruntimectl help

Öffentliche IP-Adresse für eine Cloud Shell-Session abrufen

Sie können die öffentliche IP-Adresse der Cloud Shell-Session ermitteln. Diese Information kann in verschiedenen Situationen hilfreich sein, beispielsweise beim Einrichten des Zugriffs auf externe Ressourcen aus einer Cloud Shell-Session.
Hinweis

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.
Die öffentliche IP-Adresse der Cloud Shell-Session können Sie mit dem folgenden Befehl ermitteln:
curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
Hinweis

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.