Über SSH Verbindungen zu verwalteten Knoten herstellen

Erfahren Sie, wie Sie mit SSH eine Verbindung zu Worker-Knoten in Knotenpools in Clustern herstellen, die Sie mit der Kubernetes Engine (OKE) erstellt haben.

Wenn Sie einen SSH-Public Key beim Erstellen eines verwalteten Knotenpools in einem Cluster angegeben haben, wird der Public Key auf allen Worker-Knoten im Knotenpool installiert. Bei UNIX- und UNIX-ähnlichen Plattformen (einschließlich Solaris und Linux) können Sie dann über SSH mit dem SSH-Utility (einem SSH-Client) eine Verbindung zu den Worker-Knoten herstellen, um administrative Aufgaben auszuführen. Hinweis: Sie können keine SSH-Verbindung zu virtuellen Knoten herstellen.

Beachten Sie, dass in den folgenden Anweisungen davon ausgegangen wird, dass der UNIX-Rechner für die Verbindung mit dem Worker-Knoten die folgenden Anforderungen erfüllt:

  • Das SSH-Utility ist installiert.
  • Es besteht Zugriff auf die SSH-Private-Key-Datei, die dem SSH-Public Key zugeordnet ist, der beim Erstellen des Clusters angegeben wurde.

Wie Sie mit SSH eine Verbindung zu Worker-Knoten herstellen, hängt davon ab, ob Sie bei der Definition der Knotenpools im Cluster öffentliche oder private Subnetze für die Worker-Knoten angegeben haben.

Verbindung zu verwalteten Knoten in öffentlichen Subnetzen mit SSH herstellen

Bevor Sie mit SSH eine Verbindung zu einem verwalteten Knoten in einem öffentlichen Subnetz herstellen können, müssen Sie eine Ingress-Regel in der entsprechenden Netzwerksicherheitsgruppe (empfohlen) oder Subnetzsicherheitsliste definieren, um SSH-Zugriff zu ermöglichen. Die Ingress-Regel muss den Zugriff auf den Port 22 auf den Worker-Knoten von Quelle 0.0.0.0/0 und einem beliebigen Quellport wie folgt zulassen:

Typ Quell-CIDR IP-Protokoll Quellportbereich Ziel Portbereich Typ und Code Lässt Folgendes zu: und Beschreibung:
Zustandsbehaftet 0.0.0.0/0 TCP Alle 22 N/V

Lässt Folgendes zu: TCP-Traffic für Ports: 22 (SSH-Remoteanmeldungsprotokoll)

Beschreibung: Ermöglicht den SSH-Zugriff.

So stellen Sie über SSH von einem UNIX-Rechner mit dem SSH-Utility eine Verbindung zu einem verwalteten Knoten in einem öffentlichen Subnetz her:

  1. Ermitteln Sie die IP-Adresse des Worker-Knotens, zu dem Sie eine Verbindung herstellen möchten. Hierfür gibt es mehrere Möglichkeiten:

    • Über kubectl. Falls noch nicht geschehen, führen Sie die Schritte zum Einrichten der kubeconfig-Konfigurationsdatei des Clusters aus, und legen Sie (gegebenenfalls) die Umgebungsvariable KUBECONFIG so fest, dass sie auf die Datei verweist. Beachten Sie, dass Sie Ihre eigene kubeconfig-Datei einrichten müssen. Sie können nicht mit einer kubeconfig-Datei, die von einem anderen Benutzer eingerichtet wurde, auf ein Cluster zugreifen. Siehe Clusterzugriff einrichten. Geben Sie dann in einem Terminalfenster kubectl get nodes ein, um die öffentlichen IP-Adressen von Worker-Knoten in Knotenpools im Cluster anzuzeigen.
    • Konsole verwenden. Zeigen Sie in der Konsole die Seite Clusterliste an, und wählen Sie dann das Cluster aus, zu dem der Worker-Knoten gehört. Klicken Sie auf der Registerkarte Knotenpools auf den Namen des Knotenpools, zu dem der Worker-Knoten gehört. Auf der Registerkarte Knoten wird die öffentliche IP-Adresse jedes Worker-Knotens im Knotenpool angezeigt.
    • Über die REST-API. Mit dem ListNodePools-Vorgang können Sie die öffentlichen IP-Adressen von Worker-Knoten in einem Knotenpool anzeigen.
  2. Geben Sie im Terminalfenster ssh opc@<node_ip_address> ein, um eine Verbindung zum Worker-Knoten herzustellen, wobei <node_ip_address> die IP-Adresse des Worker-Knotens ist, die Sie sich zuvor notiert haben. Beispiel: Sie können ssh opc@192.0.2.254 eingeben.

    Wenn der SSH-Private Key nicht in der vom SSH-Utility erwarteten Datei oder im erwarteten Pfad gespeichert ist (das SSH-Utility könnte beispielsweise erwarten, dass der Private Key in ~/.ssh/id_rsa gespeichert wird), müssen Sie den Private-Key-Dateinamen und -Speicherort explizit auf eine der folgenden beiden Arten angeben:

    • Geben Sie mit der Option -i den Dateinamen und den Speicherort des Private Keys an. Beispiel: ssh -i ~/.ssh/my_keys/my_host_key_filename opc@192.0.2.254
    • Fügen Sie den Private-Key-Dateinamen und den Speicherort zu einer SSH-Konfigurationsdatei hinzu, und zwar entweder zur Clientkonfigurationsdatei (~/.ssh/config), sofern vorhanden, oder zur systemweiten Clientkonfigurationsdatei (/etc/ssh/ssh_config). Sie können beispielsweise Folgendes hinzufügen:

      Host 192.0.2.254 IdentityFile ~/.ssh/my_keys/my_host_key_filename

    Für weitere Informationen zur Konfigurationsdatei des SSH-Utilitys geben Sie man ssh_config ein.

    Beachten Sie auch, dass Berechtigungen für die Private-Key-Datei den Lese-/Schreib-/Ausführungszugriff ermöglichen müssen, aber die Datei nicht für andere Benutzer zugänglich sein darf. Beispiel: Um die entsprechenden Berechtigungen festzulegen, können Sie chmod 600 ~/.ssh/my_keys/my_host_key_filename eingeben. Wenn Berechtigungen nicht korrekt festgelegt wurden und die Private-Key-Datei für andere Benutzer zugänglich ist, ignoriert das SSH-Utility einfach die Private-Key-Datei.

Verbindung zu verwalteten Knoten in privaten Subnetzen mit SSH herstellen

Verwaltete Worker-Knoten in privaten Subnetzen haben nur private IP-Adressen (keine öffentlichen IP-Adressen). Sie können nur von anderen Ressourcen innerhalb des VCN aufgerufen werden.

Mit privatem Cloud Shell-Zugriff können Sie SSH-Zugriff auf Worker-Knoten in privaten Subnetzen erhalten (siehe Cloud Shell Private Networking).

Oracle empfiehlt, den Oracle Cloud Infrastructure Bastion-Service zu verwenden, um externen SSH-Zugriff auf Worker-Knoten in privaten Subnetzen zu aktivieren. Weitere Informationen zu Bastionen finden Sie unter Bastion für Clusterzugriff einrichten.