Une version antérieure de ce didacticiel a été écrite parBrennen Bearnes.
introduction
Le panneau de commande Web de DigitalOcean fournit une interface pointer-cliquer pour gérer les Droplets. Cependant, vous préférerez peut-être un outil de ligne de commande si vous devez gérer de nombreuses gouttelettes, devez administrer des gouttelettes à partir du terminal sans bureau graphique disponible ou si vous avez des tâches qui pourraient tirer profit d'une interface scriptable.
doctl
est le client de ligne de commande officiel de DigitalOcean. Il utilisethe DigitalOcean API pour donner accès à la plupart des fonctionnalités de compte et de Droplet.
Conditions préalables
Pour suivre ce tutoriel, vous aurez besoin de:
-
Un ordinateur local avec
doctl
installé en suivantthe project’s installation and configuration instructions.
Ce didacticiel est conçu comme une référence pour la plupart des opérations dedoctl
. Comme les commandesdoctl
sont étroitement parallèles à l'API, il peut également être utile de lire lesAPI documentation etHow To Use the DigitalOcean API v2.
Utilisation génériquedoctl
Invocation de commandes
Dansdoctl
, les fonctionnalités individuelles sont appelées en donnant à l'utilitaire une commande, une ou plusieurs sous-commandes et parfois une ou plusieurs options spécifiant des valeurs particulières. Les commandes sont regroupées en trois catégories principales:
-
account
pour les informations relatives au compte -
auth
pour l'authentification avec DigitalOcean -
compute
pour la gestion de l'infrastructure
Pour voir un aperçu de toutes les commandes, vous pouvez appelerdoctl
par lui-même. Pour voir toutes les commandes disponibles dans l'une des trois catégories principales, vous pouvez utiliserdoctl category
, commedoctl compute
. Pour un guide d'utilisation sur une commande spécifique, entrez la commande avec l'indicateur--help
, comme dansdoctl compute droplet --help
.
Récupération de données au format JSON
Dans les environnements de script ou lorsque vous travaillez en ligne de commande avec des outils de traitement de données, il est souvent utile d’obtenir une sortie lisible par une machine à partir d’une commande.
Par défaut,doctl
formate sa sortie dans des colonnes de texte lisible par l'homme, mais peut produire une sortie JSON détaillée à l'aide de l'option--output json
.
doctl compute droplet get droplet_id --output json
Sample Output{
"id": droplet_id,
"name": "droplet_name",
"memory": 1024,
"vcpus": 1,
"disk": 30,
"region": {
"slug": "nyc3",
"name": "New York 3",
"sizes": [
...
En plus d'être un format lisible avec des bibliothèques standard dans la plupart des langages de programmation, la sortie JSON peut permettre une inspection plus fine des gouttelettes et d'autres ressources.
Mise en page
Il est souvent utile de n’obtenir qu’un ensemble de champs à partir de la sortie. Pour ce faire, vous pouvez utiliser l'indicateur--format
, qui prend la liste des champs par son nom. Par exemple, si vous souhaitez obtenir uniquement l'ID, le nom et l'adresse IP de vos gouttelettes, vous pouvez utiliser la commande suivante:
doctl compute droplet list --format "ID,Name,PublicIPv4"
Sample outputID Name Public IPv4
50513569 doctl-1 67.205.152.65
50513570 test 67.205.148.128
50513571 node-1 67.205.131.88
Modèles
La commandedoctl compute droplet get
prend en charge la création de modèles de sortie, ce qui vous permet de personnaliser le format de la sortie. Pour utiliser cette fonction, spécifiezthe Go-formatted template via l'indicateur--template
.
Par exemple, si vous souhaitez obtenir le nom d’un droplet au formatdroplet_name: droplet_name
, vous devez utiliser la commandeget
suivante:
doctl compute droplet get 12345678 --template "droplet_name: {{ .Name}}
Outputdroplet_name: ubuntu-1gb-nyc3-01
Travailler avec des ressources
Liste des ressources
Pour obtenir une liste de ressources, telles que Droplets, vous pouvez utiliser la commandelist
sans paramètre.
doctl compute droplet list
Sample output for list commandID Name Public IPv4 Private IPv4 Public IPv6 Memory VCPUs Disk Region Image Status Tags
50513569 test-1 67.205.152.65 512 1 20 nyc1 Ubuntu 16.04.2 x64 active
50513571 test-2 67.205.131.88 512 1 20 nyc1 Ubuntu 16.04.2 x64 active
50513570 site 67.205.148.128 512 1 20 nyc1 Ubuntu 16.04.2 x64 active
La commandelist
prend en charge un glob comme paramètre facultatif. Un glob représente un motif avec des caractères génériques pouvant être utilisé pour filtrer des ressources spécifiques par nom. Par exemple, pour obtenir une liste de Droplets dont les noms commencent partest
, vous pouvez utiliser la commande suivante:
doctl compute droplet list 'test*'
Sample output for list command with 'doctl-' as globID Name Public IPv4 Private IPv4 Public IPv6 Memory VCPUs Disk Region Image Status Tags
50513569 test-1 67.205.152.65 512 1 20 nyc1 Ubuntu 16.04.2 x64 active
50513571 test-2 67.205.131.88 512 1 20 nyc1 Ubuntu 16.04.2 x64 active
Création de ressources
La création d'une ressource nécessite des commandes plus longues avec des paramètres plus détaillés. Pour créer un Droplet, vous devez spécifier l’image que vous souhaitez utiliser, la région du centre de données et le type de Droplet souhaité à l’aide de son slug associé. VoirNew Size Slugs for Droplet Plan Changes
pour trouver le slug que vous souhaitez utiliser. Alternatively, run the doctl compute size list
command.
Par exemple, la commande suivante crée un droplet Debian 8 64 bits nommétest avec 1 Go de mémoire, un processeur, une clé SSH et les sauvegardes activées.
doctl compute droplet create test --size s-1vcpu-1gb --image debian-8-x64 --region nyc1 --ssh-keys 4d:23:e6:e4:8c:17:d2:cf:89:47:36:b5:c7:33:40:4e --enable-backups
Vous verrez cette sortie:
Sample Droplet creation outputID Name Public IPv4 Memory VCPUs Disk Region Image Status
11450164 test 1024 1 30 nyc1 Debian 8.3 x64 new
La suppression d’une ressource nécessite un ID de ressource en tant qu’argument ou un nom de ressource dans le cas où un ID n’existerait pas pour une ressource donnée (par exemple, Mots clés). Pour confirmer vos intentions, vous devez confirmer toutes les actions de suppression en répondant à la question de confirmation avecy
ouyes
.
doctl compute droplet delete 123456
OutputWarning: Are you sure you want to delete droplet(s) (y/N) ?
Ne pas fournir de réponse ou fournir une réponse différente dey
ouyes
annulera l'action sans supprimer la ressource. Vous pouvez faire en sorte quedoctl
assume une réponse affirmative sans la fournir explicitement, en utilisant l'indicateur--f
(--force
):
doctl compute droplet delete -f 123456
Recherche d'identificateurs uniques pour les ressources
La commande de création de droplet nécessite une série d'identificateurs, commenyc1
pour la région NYC1,debian-8-x64
pour l'image Debian et une empreinte de clé SSH comme4d:23:e6:e4:8c:17:d2:cf:89:47:36:b5:c7:33:40:4e
.
Un certain nombre de ressources, telles que des gouttelettes et des images, sont identifiées par une valeur (souvent numérique) unique dans la base de données de DigitalOcean.
Vous pouvez obtenir les identifiants uniques requis pour la plupart des commandes à partir de l'API:
Commander | Remarques |
---|---|
|
Vos gouttelettes. Certaines commandes prennent également le nom; la plupart nécessitent la valeur numérique de la colonneID. |
|
Les clés SSH associées à votre compte. Pour la création de gouttelettes, vous pouvez spécifier lesnumeric ID oufingerprint. |
|
Régions disponibles. Utilisez la chaîne de la colonneSlug. |
|
Images disponibles, y compris les instantanés, les sauvegardes et les images de distribution de base. Utilisez la chaîne de la colonneSlug pour créer de nouvelles gouttelettes. |
|
Tailles de gouttelettes disponibles. Utilisez la chaîne de la colonneSlug. |
|
Balises disponibles. Utilisez la chaîne de la colonneName. |
Travailler avec des gouttelettes
Création, suppression et inspection de gouttelettes
La commandedoctl compute droplet
vous permet de créer, supprimer et inspecter des gouttelettes. Encore une fois, la plupart des commandes permettant de travailler avec des Droplets individuels nécessitent l’ID unique du Droplet, qui se trouve dans la sortie dedoctl droplet list
.
Sous-commandedoctl compute droplet |
Remarques |
---|---|
|
Afficher un historique des actions effectuées pour un Droplet. |
|
Répertoriez les sauvegardes pour un droplet. |
|
Créez une gouttelette. La taille, l'image et la région sont obligatoires. |
|
Supprimez un droplet par identifiant ou nom. |
|
Obtenez des détails sur une gouttelette particulière. |
|
Répertoriez les noyaux d'un Droplet. |
|
Listez vos gouttelettes actuelles. |
|
Répertoriez vos Droplets exécutés sur le même matériel physique qu'un Droplet spécifique. |
|
Répertoriez les instantanés d'un droplet. |
|
Marquer une gouttelette. |
|
Démarquez une gouttelette. |
Initier des actions de gouttelettes
La commandedoctl compute droplet-action
vous permet de déclencher diverses actions pour un Droplet, y compris des actions de gestion de l'alimentation et des fonctionnalités de basculement telles que les sauvegardes et le réseau privé.
Sous-commandedoctl compute droplet-action |
Remarques |
---|---|
|
Obtenez des détails sur l'action sur un Droplet. |
|
Désactivez les sauvegardes pour un droplet. |
|
Redémarrez une gouttelette. |
|
Éteignez et rallumez un Droplet. |
|
Arrêtez une gouttelette. |
|
Éteignez une gouttelette. Le Droplet doit être sous tension. Il est généralement préférable de le faire à partir de la ligne de commande du Droplet lui-même afin d'éviter la perte de données. |
|
Allumez une gouttelette. Le Droplet doit être éteint. |
|
Droplet de réinitialisation de l'alimentation. |
|
Activez ipv6 pour un droplet. |
|
Activezprivate networking pour un droplet. |
|
Mettez à niveau un Droplet. |
|
Restaurez un droplet dans une image de sauvegarde spécifique. Les |
|
Redimensionner une gouttelette. Le Droplet doit être éteint. Par défaut, le disque n'est pas redimensionné, ce qui permet à Droplet d'être rétrogradé. Vous pouvez redimensionner le disque en utilisant l'indicateur |
|
Reconstruisez un Droplet à partir d'une image spécifique. |
|
Renommez un droplet en |
|
Remplacez le noyau d'un Droplet par |
|
Prenez un instantané d'un Droplet en le nommant |
Travailler avec SSH
Établir des connexions SSH
Pour vous connecter à un Droplet individuel avec SSH, il est généralement nécessaire de connaître son adresse IP ou son nom de domaine complet. Vous pouvez à la place utiliserdoctl
pour vous connecter à un droplet par son nom, son ID numérique ou son adresse IP privée:
doctl compute ssh droplet_name
doctl compute ssh droplet_id
doctl compute ssh --ssh-private-ip droplet_private_ip
De plus, vous pouvez fournir une commande à exécuter une fois la connexion SSH établie à l'aide de l'indicateur--ssh-command
. Cela lancera la commande dont le résultat sera imprimé sur votre terminal local, puis la session SSH se fermera.
doctl compute ssh --ssh-command command
[.note] #Note: le transfert de commande SSH n'est actuellement pas disponible sous Windows.
#
Le nom d'utilisateur SSH par défaut estroot (core pour CoreOS) et le port par défaut est22
. Vous pouvez utiliser des indicateurs pour définir des valeurs non définies par défaut et activer d'autres fonctionnalités:
Flag | La description |
---|---|
|
Nom d'utilisateur à utiliser pour la session SSH. |
|
Le port de la session SSH. |
|
Chemin vers la clé SSH. |
|
Activez le transfert d'agent. |
Vous pouvez également modifier les valeurs de configuration par défaut dans un fichier de configuration. The project’s README file a plus de détails sur la façon de procéder.
Utilisation de clés SSH
Vous pouvez gérer les clés publiques SSH associées à votre compte à l'aide de la commandedoctl compute ssh-key
. La plupart des commandes faisant référence à des clés SSH acceptent l'identifiant numérique de la clé ou son empreinte digitale.
Sous-commandedoctl compute ssh-key |
Remarques |
---|---|
|
Répertoriez les clés SSH associées à votre compte. |
|
Obtenez des informations sur une clé spécifique, par ID numérique ou par empreinte digitale de la clé. |
|
Associez une clé publique à votre compte en spécifiant son contenu. |
|
Associez une clé publique à votre compte en spécifiant un fichier source. |
|
Supprimez une clé de votre compte par ID numérique ou par empreinte digitale. |
|
Modifiez le nom d'une clé par un identifiant numérique ou une empreinte digitale. |
Travailler avec des IP flottantes
Une adresse IP flottante est une adresse IP statique accessible au public qui peut être attribuée à l’un de vos gouttelettes. Pour une description détaillée de la fonctionnalité, vous pouvez lireHow To Use Floating IPs on DigitalOcean. Vous pouvez manipuler des adresses IP flottantes avecdoctl compute floating-ip
.
Sous-commandedoctl compute floating-ip |
Remarques |
---|---|
|
Répertoriez toutes les adresses IP flottantes. |
|
Obtenez les détails d'une adresse IP flottante. |
|
Créez une adresse IP flottante dans la région |
|
Supprimez une adresse IP flottante. |
Affectation d'adresses IP flottantes à des gouttelettes
La commandedoctl compute floating-ip-action
est utilisée pour attribuer ou annuler l'attribution d'une adresse IP flottante à un droplet.
Sous-commandedoctl compute floating-ip-action |
Remarques |
---|---|
|
Attribuez une adresse IP flottante au droplet par son ID numérique. |
|
Annuler l'attribution d'une adresse IP flottante. |
|
Obtenez des détails sur une action IP flottante par son ID numérique. |
Travailler avec des domaines
La commandedoctl compute domain
est utilisée pour gérer les domaines. Voir nosIntroduction to Managing DNS series pour un aperçu général du sujet.
Sous-commandedoctl compute domain |
Remarques |
---|---|
|
Répertoriez les domaines. |
|
Créez un domaine avec des enregistrements par défaut pour |
|
Obtenez un enregistrement de domaine. |
|
Supprimer un domaine. |
Gestion des enregistrements de domaine
La commandedoctl compute domain records
peut être utilisée pour créer, supprimer, mettre à jour ou obtenir des informations sur les enregistrements DNS du domaine.
Sous-commandedoctl compute domain records |
Remarques |
---|---|
|
Liste des enregistrements pour un domaine donné. |
|
Créez un enregistrement pour le domaine. |
|
Supprimer l'enregistrement par ID numérique. |
|
Mettre à jour l'enregistrement par ID numérique. |
Utilisation de volumes de stockage en bloc
Création, suppression et inspection de volumes de stockage en mode bloc
La commandedoctl compute volume
peut être utilisée pour créer, supprimer ou obtenir des informations sur les volumes de stockage en bloc de DigitalOcean. Pour plus d'informations sur cette fonctionnalité, lisez notre guide sur lesHow To Use Block Storage on DigitalOcean.
Sous-commandedoctl compute volume |
Remarques |
---|---|
|
Liste des volumes. |
|
Créez un volume. Le nom, la région et la taille sont obligatoires. |
|
Obtenez le volume par ID numérique. |
|
Supprimer le volume. |
|
Volume de l'instantané. |
Initier des actions de volume
La commandedoctl compute volume-action
vous permet de déclencher des actions pour un volume, y compris l'attachement et le détachement de volumes de Droplets.
Sous-commandedoctl compute volume-action |
Remarques |
---|---|
|
Attachez un volume à une gouttelette. |
|
Détachez un volume d'une gouttelette. |
|
Redimensionner un volume. |
Travailler avec des équilibreurs de charge
La commandedoctl compute load-balancer
peut être utilisée pour créer, supprimer ou obtenir des informations sur les équilibreurs de charge de DigitalOcean. Pour plus d'informations sur cette fonctionnalité, lisez nosIntroduction to DigitalOcean Load Balancers.
Sous-commandedoctl compute load-balancer |
Remarques |
---|---|
|
Répertoriez les équilibreurs de charge. |
|
Créez un équilibreur de charge. Le nom, la région, une balise ou une liste d'ID de droplet et au moins une règle de transfert sont obligatoires. |
|
Créez un équilibreur de charge. Le nom, la région, une balise ou une liste d'ID de droplet et au moins une règle de transfert sont obligatoires. |
|
Obtenez un équilibreur de charge. |
|
Supprimer un équilibreur de charge. |
|
Ajoutez des gouttelettes à un équilibreur de charge. |
|
Supprimez les gouttelettes d'un équilibreur de charge. |
|
Ajoutez des règles de transfert à un équilibreur de charge. |
|
Supprimez les règles de transfert d'un équilibreur de charge. |
Lorsqu'elles sont utilisées comme argument dedoctl
, les règles de transfert doivent être exprimées comme:entry_protocol:protocol,entry_port:port,target_protocol:protocol,target_port:port
.
Gérer les certificats
La sous-commandedoctl compute certificate
vous permet de télécharger et de gérer des certificats SSL, des clés privées et des chaînes de certificats.
Sous-commandedoctl compute certificate |
Remarques |
---|---|
|
Répertoriez tous les certificats. |
|
Obtenez un certificat par ID. |
|
Créez un certificat. Le nom et le chemin du certificat feuille sont obligatoires. |
|
Supprimer un certificat par ID. |
Travailler avec des instantanés
La commandedoctl compute snapshot
peut être utilisée pour répertorier, supprimer ou obtenir des informations sur les instantanés de gouttelettes et de volumes.
Sous-commandedoctl compute snapshot |
Remarques |
---|---|
|
Répertoriez tous les instantanés. |
|
Obtenez un instantané. |
|
Supprimer un instantané. |
Pour créer un nouvel instantané, vous devez utiliser la commande appropriée sous l'arborescence de commande de la ressource appropriée. Par exemple:
-
doctl compute droplet-action snapshot droplet_ID
crée un instantané à partir d'un droplet. -
doctl compute volume snapshot volume_ID
crée un instantané à partir d'un volume.
Travailler avec des images
La commandedoctl compute image
vous permet de gérer toutes les images, y compris les images de distribution, les images d'application et les images créées par l'utilisateur telles que les sauvegardes et les instantanés. Nous vous recommandons d'utiliser la commandesnapshot
pour gérer les instantanés car elle fournit plus de détails, dispose d'une fonctionnalité de suppression et prend en charge les instantanés de stockage en bloc.
Sous-commandedoctl compute image |
Remarques |
---|---|
|
Liste toutes les images. |
|
Répertoriez toutes les images de distribution disponibles. |
|
Liste tous lesOne-Click Applications disponibles. |
|
Répertoriez toutes les images créées par l'utilisateur. |
|
Obtenez une image par ID. |
|
Mettez à jour le nom de l'image. Le nom est obligatoire. |
|
Supprimer une image par ID. |
Invocation d'actions d'image
La commandedoctl compute image-action
vous permet de transférer des images et d'obtenir des détails sur les actions invoquées sur les images.
Sous-commandedoctl compute image-action |
Remarques |
---|---|
|
Obtenez une action pour l'image par son identifiant. L'ID d'action est obligatoire. |
|
Transférez une image vers une autre région. L'identifiant de l'image et la région sont obligatoires. |
Travailler avec des pare-feu
La commandedoctl compute firewall
vous permet de créer et de gérer des pare-feu, y compris la création et la maintenance de règles. Pour plus d'informations sur l'administration des pare-feu à l'aide dedoctl
, consultez le didacticielHow To Secure Web Server Infrastructure With DigitalOcean Cloud Firewalls Using Doctl.
Commandedoctl compute firewall |
Remarques |
---|---|
|
Répertoriez tous les pare-feu. |
|
Répertoriez tous les pare-feu par ID numérique de Droplet. |
|
Créez un pare-feu. Le nom et au moins une règle entrante ou sortante sont obligatoires. |
|
Mettez à jour un pare-feu. L'ID numérique, le nom et au moins une règle entrante ou sortante sont obligatoires. |
|
Obtenez un pare-feu par son ID numérique. |
|
Supprimer un pare-feu par ID numérique. |
|
Ajoutez des gouttelettes par leur ID numérique au pare-feu. |
|
Supprimez les gouttelettes du pare-feu par leurs identifiants numériques. |
|
Ajoutez des balises au pare-feu. |
|
Supprimez les balises du pare-feu. |
|
Ajoutez des règles entrantes ou sortantes au pare-feu. |
|
Supprimez les règles entrantes ou sortantes vers le pare-feu. |
Lorsqu'elles sont utilisées comme argument dedoctl
, les règles entrantes ou sortantes doivent être exprimées comme:protocol:protocol,ports:ports,droplet_id:droplet-id
.
Travailler avec des balises
Les balises permettent d’appliquer des étiquettes personnalisées aux ressources, ce qui vous permet de les filtrer facilement. Vous pouvez en savoir plus sur les balises dansthe How To Tag DigitalOcean Droplets tutorial.
Sous-commandedoctl compute tag |
Remarques |
---|---|
|
Créez une balise. |
|
Obtenez une étiquette par nom. |
|
Répertoriez toutes les balises. |
|
Supprimer une balise par son nom. |
Travailler avec votre compte
Lecture de l'historique des actions pour votre compte
Le système DigitalOcean enregistre un historique des actions effectuées sur vos gouttelettes, adresses IP flottantes et autres ressources. Vous pouvez accéder à ces données avec la commandedoctl compute action
:
doctl compute action list
Vous pouvez voir les actions pour un Droplet spécifique comme ceci:
doctl compute droplet actions droplet_id
Récupérer les informations de votre compte
Vous pouvez découvrir des informations de base sur votre compte, telles que votre adresse e-mail configurée et la limite de Droplet:
doctl account get
Les demandes d'API étant limitées en termes de débit, il peut être utile de connaître le nombre de demandes que vous avez effectuées récemment et le moment où la limite doit être réinitialisée:
doctl account ratelimit
Conclusion
L'utilitairedoctl
est un outil utile pour gérer les droplets et d'autres ressources en ligne de commande. Cela permet de réduire considérablement le nombre d'interactions manuelles avec les interfaces Web nécessaires au développement quotidien et aux tâches administratives.
En plus de découvrirthe underlying API, vous souhaiterez peut-être explorerlibraries which wrap the API for popular programming languages ettools such as Ansible pour automatiser les tâches au niveau du système.