Ressources Hosteur

Explorons ensemble les technologies de demain

  1. Accueil
  2.  > 
  3. HWS
  4.  > 
  5. Ressources
  6.  > 
  7. Rubrique Aide Hosteur


   Votre espace client
   Gestion des services
   FAQ
Sommaire FAQ
   FAQ FlexOne
   Hosteur Emailing
TRANSACTIONNEL Comment personnaliser vos emails en utilisant des attributs de contacts Conditions d’affichage dans l’éditeur Drag & Drop Langage de template utilisé dans HOSTEUR Emailing
   Hosteur Ragnarokkr
Menu Ragnarokkr 7. SSH RAGNARØKKR Marketplace
7.5. Accès SSH au conteneur : Gérer votre serveur à distance

Accès SSH au conteneur : Gérer votre serveur à distance

La plateforme RAGNARØKKR permet d'établir un accès SSH à n'importe quel conteneur sur votre compte. Dans ce guide, nous allons vous fournir quelques-unes des commandes les plus courantes qui peuvent s'avérer utiles pour gérer votre serveur via un terminal SSH.
Il y a deux façons de connecter votre serveur à l'intérieur de RAGNARØKKR PaaS via SSH :
•    Web SSH : cliquez sur l'option du même nom à côté de la couche d'environnement requise ou du conteneur particulier pour y accéder rapidement et commencer à le gérer en ligne directement dans votre navigateur, via l'onglet du terminal qui s'ouvre automatiquement au bas du tableau de bord RAGNARØKKR

•    SSH Gate : vous pouvez également vous connecter à votre serveur via un client SSH local de votre choix en vous basant sur une paire de clés SSH générées au préalable (la clé publique doit être ajoutée à vos paramètres de compte, et la clé privée correspondante gérée sur votre machine locale)

Une fois que toutes les conditions sont remplies, vous pouvez établir une connexion SSH au moyen de la ligne de commande correspondante (encadrée ci-dessus) depuis l'onglet du même nom des paramètres de votre compte.

Pour des raisons de simplicité et d'accès rapide, nous utiliserons dans cet article l'outil Web SSH intégré ; cependant, les commandes décrites ci-dessous peuvent être utilisées lorsque l'on travaille via un client local distant absolument similaire.

Remarques :
•    Dans la majorité des serveurs de RAGNARØKKR PaaS (y compris les conteneurs Docker personnalisés), vous obtenez automatiquement des autorisations de root complètes lorsque vous êtes connecté via SSH. Pour le reste, principalement les nœuds hérités, qui ont été créés sur des modèles de pile d’exécution (stack templates) certifiés qui sont gérés par RAGNARØKKR, le niveau de contrôlabilité suffisant est assuré par un ensemble de commandes supplémentaires intentionnellement autorisées.

•    La liste complète des commandes de terminal (http://www.linfo.org/command_index.html) avec la description de toutes les options appropriées se trouve sur les sites web dédiés, similaires à ceux mentionnés ci-dessus. Dans ce guide, nous allons examiner un certain nombre de commandes les plus courantes afin de vous donner un aperçu des bases du fonctionnement des conteneurs via le protocole SSH.

Navigation par le système de fichiers de conteneurs à distance
Cette section est plutôt destinée aux débutants qu'à un développeur moyen, de sorte que la majorité d'entre vous pourrait probablement la sauter et passer à des opérations plus complexes. Cependant, nous pensons qu'il est encore utile de le mentionner avant de poursuivre.

Une fois que vous avez entré le conteneur requis via la console, vous accédez au répertoire d'accueil du serveur par défaut, qui est généralement dédié au stockage de vos données et configurations personnalisées. Pour la navigation entre les dossiers, la commande cd est utilisée, avec les arguments suivants disponibles :

•    {chemin_du_répertoire} - soit le nom du dossier imbriqué (où plusieurs niveaux d'imbrication séparés par des barres obliques peuvent être spécifiés), soit un chemin complet vers le répertoire requis par rapport à la racine du conteneur
•    .. - pour naviguer un niveau plus haut dans l'arborescence des fichiers
•    ~ - pour passer instantanément à votre répertoire de travail (serveur à domicile) depuis n'importe quel endroit
•    / - pour passer instantanément au répertoire racine du conteneur


 

Par conséquent, la chaîne violette à côté du nom d'hôte du conteneur changera, indiquant votre emplacement actuel.


Astuce : Si vous êtes nouveau dans la pile d'exécution de votre instance, il est fort probable que vous souhaitiez d'abord explorer sa structure interne (c'est-à-dire l'arborescence des fichiers et des répertoires, les fichiers de configuration disponibles, etc.) La façon la plus pratique d'y parvenir est d'utiliser l'interface graphique intégrée du gestionnaire de fichiers de RAGNARØKKR, disponible en cliquant sur le bouton Réglages à côté du serveur requis :

L'arborescence de fichiers appropriée sera affichée dans un onglet dédié ci-dessous.

1. Pour créer un nouveau fichier ou dossier, exécutez les commandes suivantes :
•    touch [path-to/]{file} : pour créer un nouveau fichier
•    mkdir [path-to/]{dir} : pour créer un nouveau dossier

{file} et {dir} : le nom du fichier ou du dossier préféré (s'il est créé dans le répertoire courant)
[path-to/] : paramètre optionnel pour le cas où ce nouvel élément devrait être placé dans un endroit différent.

2. Pour être sûr que le fichier et le dossier que nous avons spécifié ci-dessus ont bien été créés, obtenons la liste des fichiers et des dossiers composés à l'emplacement actuel avec la commande suivante : ls

3. Parmi les autres commandes les plus courantes destinées à la gestion des fichiers, on peut citer :
•    cat (http://www.linfo.org/cat.html): est utilisé pour fonctionner avec des fichiers texte ; selon les args indiqués, permet de visualiser, de fusionner et de dupliquer le contenu des fichiers
•    cp (http://www.linfo.org/cp.html): pour copier des fichiers et des répertoires
•    locate (http://www.linfo.org/locate.html): pour trouver le fichier ou le répertoire requis dans un serveur par son nom (ou une partie de celui-ci)
•    mv (http://www.linfo.org/mv.html): pour déplacer et/ou renommer des fichiers et des répertoires
•    pwd (http://www.linfo.org/pwd.html): pour afficher le chemin complet vers le répertoire courant (par rapport à la racine du conteneur)
•    rm (http://www.linfo.org/rm.html): pour supprimer un fichier ou un répertoire spécifique

Maintenant, considérons les possibilités du shell (interpréteur de commande) par défaut pour surveiller et gérer les métriques de votre nœud, sa consommation de ressources, l'exécution de processus internes, etc.


Commandes de visualisation des informations sur le système du serveur
1. Pour obtenir un bref résumé de l'état actuel du conteneur et s'assurer, par exemple, qu'aucun malfaiteur n'affecte ses performances et/ou son fonctionnement, utilisez la commande w :

Le résultat reçu vous fournira quelques informations générales sur le système dans un en-tête (à savoir l'horodatage du système actuel, le temps de disponibilité de l'instance, le nombre d'utilisateurs enregistrés et la quantité moyenne de processus actifs au cours des 1/5/15 dernières minutes) et des détails sur les utilisateurs connectés ci-dessous (leurs noms, type de terminal, IP de connexion source, temps de connexion, statistiques sur la dernière activité et nom du ou des processus actuellement actifs, exécutés pour le compte).

Remarque : En raison des spécificités de l'implémentation native du shell, le résultat de la commande w n'inclut pas d'informations sur les utilisateurs, connectés via l'émulateur de terminal.

2. Toutes les statistiques sur l'utilisation de la RAM du serveur sont stockées dans le fichier /proc/meminfo. Pour consulter son contenu, utilisez la commande cat mentionnée ci-dessus : cat /proc/meminfo

Ici, vous pouvez vérifier des données telles que la mémoire totale allouée (MemTotal), la mémoire inutilisée (MemFree), la mémoire utilisée comme cache (Cached), et plus encore.

3. Afin d'afficher les données de base sur les conteneurs logiciels et matériels, exécutez la ligne suivante : uname -a

Ici, vous pouvez voir des informations sur le noyau d'un serveur (nom, version, date de sortie), le nom d'hôte du nœud, le type de processeur, le système d'exploitation, etc.


Comment gérer les processus de traitement des conteneurs à distance via le terminal
1. Lorsque vous êtes connecté via SSH, vous pouvez surveiller tous les processus en cours à l'intérieur d'un conteneur avec la commande top :

Ainsi, les informations sont constamment mises à jour en temps réel, affichant des informations sur tous les processus de l'utilisateur (y compris ceux du système).
Appuyez sur Ctrl + C pour terminer l'exécution de la commande et revenir au mode de saisie de la console.

2. Pour afficher uniquement les processus actifs de votre utilisateur, tapez ps et exécutez cette commande :

3. Une autre commande utile est kill, qui permet de terminer tout processus en cours, désigné par son {PID} comme argument (l'identificateur de processus requis peut être trouvé dans le résultat de la commande précédente) :

Comme vous pouvez le voir, le processus d'exécution, affiché à l'écran dans la 2ème étape de cette section, a été arrêté car il n'est pas répertorié parmi les actifs pour l'instant.


Exploitation des archives des applications via la console SSH
Vous pouvez aller chercher les fichiers nécessaires sur Internet (par exemple, l'archive de votre application) directement par la console, pour les stocker et/ou les déployer ensuite sur votre serveur.

1. La commande wget permet de télécharger des fichiers par le {lien} spécifié : wget {lien}

2. Ensuite, vous pouvez dézipper l'archive téléchargée avec la commande unzip : unzip {archive} (où {archive} est le chemin d'accès à votre paquet compressé)

Par conséquent, tous les fichiers extraits seront placés dans un dossier portant le même nom (après l'archive) à l'intérieur du répertoire courant.


Définition des variables de serveur personnalisées via SSH
1. La liste des variables d'environnement par défaut pour tout conteneur peut être consultée dans le fichier .bash_profile, qui se trouve dans le répertoire d'origine du conteneur. Pour les vérifier, il faut donc s'assurer que l'on est bien dans le bon répertoire du conteneur et exécuter la commande suivante : cat .bash_profile

2. Le fichier .bash_profile n'est pas modifiable, donc si vous devez définir vos propres variables, écrivez-les dans le fichier .bashrc dans le même dossier (créez-le simplement, s’il est manquant). Pour ce faire, utilisez un éditeur de texte de votre choix (par exemple, vi) :

3. Ici, les nouvelles variables doivent être définies selon le format suivant : export {VAR_NAME}={VAR_VALUE}
Où :
•    {VAR_NAME} : le nom de la variable que vous souhaitez créer
•    {VAR_VALUE} : la valeur pour la variable appropriée

Remarque : Le fichier .bashrc est lu lors de l'initiation de bash, donc les changements seront automatiquement appliqués lors du démarrage de toute session utilisateur ultérieure. Mais si vous devez appliquer immédiatement les modifications apportées, exécutez la commande bash pour redémarrer le shell.

4. Pour vérifier si votre variable personnalisée a été appliquée avec succès, exécutez la commande suivante : echo ${VAR_NAME}

Dans la réponse de la console, vous devriez voir la {VAR_VALUE} similaire à la valeur que vous venez d'attribuer à la variable ${VAR_NAME} dans le fichier .bashrc.


Spécificités des conteneurs à distance certifiés qui sont gérés par RAGNARØKKR
Chez RAGNARØKKR PaaS, il existe deux types de modèles de piles d'exécution (stack templates) de logiciels, qui servent de base à la création de chacun des conteneurs :
•    Dockerisé : modèle unifié basé sur le support natif de la norme Docker avec la généralité des principes de gestion des conteneurs et des fonctionnalités pour tous les types de serveurs (c'est-à-dire indépendamment du fait qu'il s'agisse d'un nœud de calcul, d'un serveur de base de données, d'une instance de mise en cache, etc.) Lorsque vous vous connectez à un tel serveur via SSH, vous obtenez automatiquement le contrôle total de l'instance avec les privilèges root accordés et pouvez effectuer toutes les opérations nécessaires à l'intérieur d'un conteneur.

•    Certifié : Les modèles de logiciels certifiés sont basés sur une implémentation native de la pile d'exécution, adaptée par notre équipe en fonction des spécificités de la plateforme.

En entrant sur ce serveur via SSH, vous êtes connecté en tant qu'utilisateur du serveur par défaut. Afin d'offrir suffisamment de possibilités pour une gestion efficace des conteneurs, nous avons prévu quelques options supplémentaires pouvant être exécutées sous un compte utilisateur ordinaire :
•    sudo sbin/service {service_name} {start|stop|restart|condrestart|status|reload|upgrade|help} : un ensemble de commandes pour faire fonctionner le processus du serveur principal, défini avec le paramètre {service_name} (où, selon le serveur utilisé, les valeurs possibles sont : jetty, mysql, tomcat, memcached, mongod, postgresql, couchdb, glassfish-domain1, nginx, php-fpm et httpd)
•    sudo usr/bin/jem firewall {fwstart|fwstop} : pour lancer/arrêter respectivement le pare-feu des conteneurs
•    sudo usr/bin/jem nscd : pour contrôler le démon de mise en cache du service de noms, qui stocke les enregistrements des requêtes les plus courantes du serveur de noms (comme les mots de passe, les hôtes, les groupes, etc.)
•    sudo sbin/service rpcbind.service : pour fonctionner avec le service RPC bind, utilisé pour associer des noms lisibles par l'utilisateur à des numéros de programme qui traitent les appels RPC entrants

L'une des commandes ci-dessus, bien qu'elle soit exécutée en mode sudo, ne nécessite pas la saisie du mot de passe de l'administrateur du serveur. Cela vous permet de profiter de toutes les fonctionnalités de conteneur requises, essentielles au bon fonctionnement de votre application, même avec des autorisations de compte régulières.


Maintenant que vous connaissez toutes les bases nécessaires pour gérer vos conteneurs via la console, vous pouvez profiter d'une flexibilité PaaS encore plus grande tout en exécutant vos applications.

10% de réduction sur votre prochaine commande(1)
Inscrivez-vous à notre NEWSLETTER pour recevoir votre code de réduction
(1) Valable uniquement pour toutes nouvelles commandes, hors achat de crédit hosteur et hors renouvellement de prestation. (Commande de produits matériels non inclus)