Connexion aux noeuds gérés via SSH

Découvrez comment utiliser SSH pour vous connecter aux noeuds de processus actif dans les pools de noeuds des clusters créés à l'aide de Kubernetes Engine (OKE).

Si vous fournissez une clé SSH publique lors de la création d'un pool de noeuds gérés dans un cluster, celle-ci est installée sur tous les noeuds de travail du pool de noeuds. Sur UNIX et les plates-formes similaires (y compris Solaris et Linux), vous pouvez vous connecter aux noeuds de processus actifs via SSH à l'aide de l'utilitaire ssh (un client SSH) pour effectuer des tâches d'administratives. Vous ne pouvez pas vous connecter aux noeuds virtuels à l'aide de SSH.

Les instructions suivantes supposent que l'ordinateur UNIX utilisé pour la connexion au noeud de processus actif remplit les critères suivants :

  • L'utilitaire ssh est installé.
  • L'ordinateur a accès au fichier de clé privée SSH associé à la clé publique SSH spécifiée lors de la création du cluster.

La procédure de connexion aux noeuds de processus actifs via SSH varie selon que vous avez indiqué des sous-réseaux publics ou privés pour les noeuds de processus actifs lors de la définition des pools de noeuds dans le cluster.

Connexion aux noeuds gérés dans les sous-réseaux publics via SSH

Pour pouvoir vous connecter à un noeud géré dans un sous-réseau public via SSH, vous devez définir une règle entrante dans le groupe de sécurité réseau (recommandé) ou la liste de sécurité de sous-réseau applicable qui autorise l'accès SSH. La règle entrante doit autoriser l'accès au port 22 sur les noeuds de processus actifs à partir de la source 0.0.0.0/0 et de n'importe quel port source. Elle se présente comme suit :

Type CIDR source Protocole IP Plage de ports source Plage de ports de destination Type et code Autorise : et Description :
Avec conservation de statut 0.0.0.0/0 TCP Tous 22 n/a

Autorise : Trafic TCP pour les ports : protocole de connexion distante SSH 22

Description : autorise l'accès SSH.

Pour vous connecter à un noeud géré dans un sous-réseau public via SSH à partir d'un ordinateur UNIX à l'aide de l'utilitaire SSH, procédez comme suit :

  1. Identifiez l'adresse IP du noeud de processus actif auquel vous connecter. Pour ce faire, vous disposez de plusieurs méthodes :

    • Utilisation de kubectl. Si vous ne l'avez pas encore fait, suivez les étapes permettant de configurer le fichier de configuration Kubeconfig du cluster et (si nécessaire) de définir la variable d'environnement KUBECONFIG de sorte qu'elle pointe vers le fichier. Vous devez configurer votre propre fichier Kubeconfig. Vous ne pouvez pas accéder à un cluster à l'aide d'un fichier Kubeconfig configuré par un autre utilisateur. Reportez-vous à Configuration de l'accès à un cluster. Ensuite, dans une fenêtre de terminal, saisissez kubectl get nodes pour afficher les adresses IP publiques des noeuds de processus actifs dans les pools de noeuds du cluster.
    • Utilisation de la console. Dans la console, affichez la page Liste des cluster, puis sélectionnez le cluster auquel le noeud de processus actif appartient. Dans l'onglet Pools de nœuds, sélectionnez le nom du pool de nœuds auquel le nœud de processus actif appartient. Dans l'onglet Noeuds, vous voyez l'adresse IP publique de chaque noeud de processus actif du pool de noeuds.
    • Utilisation de l'API REST. Utilisez l'opération ListNodePools pour visualiser les adresses IP publiques des noeuds de processus actifs d'un pool de noeuds.
  2. Dans la fenêtre de terminal, entrez ssh opc@<node_ip_address> pour vous connecter au noeud de processus actif, où <node_ip_address> est l'adresse IP du noeud de processus actif que vous avez notée précédemment. Par exemple, vous pouvez entrer ssh opc@192.0.2.254.

    Si la clé privée SSH n'est pas stockée dans le fichier ou dans le chemin attendu par l'utilitaire ssh (par exemple, l'utilitaire ssh peut supposer que la clé privée est stockée dans ~/.ssh/id_rsa), vous devez indiquer explicitement le nom de fichier et l'emplacement de la clé privée de l'une des deux manières suivantes :

    • Utilisez l'option -i pour spécifier le nom de fichier et l'emplacement de la clé privée. Par exemple, ssh -i ~/.ssh/my_keys/my_host_key_filename opc@192.0.2.254
    • Ajoutez le nom de fichier et l'emplacement de la clé privée à un fichier de configuration SSH. Soit au fichier de configuration client (~/.ssh/config) s'il existe, soit au fichier de configuration client à l'échelle du système (/etc/ssh/ssh_config). Par exemple, vous pouvez ajouter la ligne suivante :

      Host 192.0.2.254 IdentityFile ~/.ssh/my_keys/my_host_key_filename

    Pour plus d'informations sur le fichier de configuration de l'utilitaire ssh, entrez man ssh_config

    Les droits d'accès du fichier de clé privée doivent également vous octroyer un accès en lecture/écriture/exécution, mais empêcher les autres utilisateurs d'accéder au fichier. Par exemple, pour définir les droits d'accès appropriés, vous pouvez saisir chmod 600 ~/.ssh/my_keys/my_host_key_filename. Si les droits d'accès ne sont pas correctement définis et que le fichier de clé privée est accessible à d'autres utilisateurs, l'utilitaire ssh ignorera simplement le fichier de clé privée.

Connexion aux noeuds gérés dans les sous-réseaux privés via SSH

Les noeuds de processus actifs gérés dans les sous-réseaux privés ne comportent que des adresses IP privées (ils ne comportent pas d'adresses IP publiques). Ils sont uniquement accessibles par d'autres ressources du réseau cloud virtuel.

Vous pouvez utiliser l'accès privé à Cloud Shell pour obtenir un accès SSH aux noeuds de processus actif dans les sous-réseaux privés (reportez-vous à Réseau privé Cloud Shell).

Oracle recommande d'utiliser le service Oracle Cloud Infrastructure Bastion pour activer l'accès SSH externe aux noeuds de processus actif dans les sous-réseaux privés. Pour plus d'informations sur les bastions, reportez-vous à Configuration d'un bastion pour l'accès au cluster.