Поиск по сайту:

Как начать работу с Doctl, клиентом командной строки DigitalOcean


DigitalOcean предоставляет API в качестве альтернативы своей облачной веб-панели управления. Официальный клиент командной строки doctl предлагает интуитивно понятную оболочку API. Вы можете управлять своими ресурсами DigitalOcean, используя программный интерфейс с простым написанием сценариев.

Монтаж

Doctl доступен в системах Windows, macOS и Linux. В зависимости от платформы поддерживаются различные методы установки. Все системы могут загрузить последнюю версию напрямую с GitHub.

Большинство дистрибутивов Linux включают doctl в свои репозитории пакетов. Он также предлагается как Snap в дистрибутивах с поддержкой Snap. Использование диспетчера пакетов является предпочтительным механизмом установки, поскольку он будет держать вас в курсе новых выпусков.

DigitalOcean также предоставляет официальные контейнеры Docker на Docker Hub. Они идеально подходят для одноразового использования в средах с поддержкой Docker. Инструкции по использованию образа Docker можно найти на его странице Docker Hub; в целом использование идентично прямой установке.

Создание токена доступа

Вам необходимо подключить doctl к своей учетной записи DigitalOcean, прежде чем вы начнете использовать инструмент. Аутентификация является постоянной после настройки, поэтому вам не нужно будет указывать учетные данные для каждой команды.

Начните с входа в свою учетную запись DigitalOcean. Щелкните ссылку «API» в нижней части боковой панели. В разделе «Токены личного доступа» нажмите кнопку «Создать новый токен». Дайте вашему токену имя и включите области чтения и записи.

После того, как ваш токен будет создан, его значение будет отображаться в панели управления. Сохраните это сейчас, так как позже получить его будет невозможно. Вам нужно будет создать новый токен, если значение этого будет забыто.

Подключение к вашей учетной записи

Теперь вы можете вернуться к своему терминалу. Используйте сгенерированный токен доступа для подключения doctl к вашей учетной записи:

Инициализация авторизации doctl

Вам будет предложено ввести токен доступа. Если проверка прошла успешно, doctl сохранит ваши учетные данные. Они будут отправлены автоматически с последующими командами. Файлы конфигурации сохраняются в каталоге .config/doctl в вашей домашней папке.

Тестирование вашей конфигурации

Теперь вы сможете успешно взаимодействовать со своей учетной записью DigitalOcean.

Попробуйте запустить doctl account get, чтобы проверить, можно ли получить данные вашей учетной записи.

Взаимодействие с ресурсами DigitalOcean

doctl позволяет взаимодействовать практически со всеми доступными ресурсами DigitalOcean. Возможностей слишком много, чтобы их можно было исчерпывающе охватить в одной статье, поэтому мы остановимся на подробном описании нескольких часто используемых команд.

  • doctl Compute — высокоуровневая команда для взаимодействия с различными типами ресурсов. Включает дроплеты, домены, тома, резервные копии, моментальные снимки, образы, брандмауэры и балансировщики нагрузки.
  • вычислительный дроплет doctl — позволяет взаимодействовать с дроплетами. Попробуйте список дроплетов doctl, чтобы получить список всех ваших дроплетов, или дроплет doctl calculate create --image ubuntu-20-04-x64 --size s-1vcpu-1gb --region lon1 my- droplet для создания базовой капли Ubuntu в центре обработки данных LON1. Множество других подкоманд предоставляют полные возможности управления.
  • doctl databases db — взаимодействие с базами данных в кластере баз данных. Используйте doctl databases db list для извлечения существующих баз данных и doctl databases db create для создания. Другие связанные команды позволяют масштабировать кластеры базы данных.
  • doctl kubernetes — это пространство имен команд позволяет вам управлять кластерами Kubernetes. Множество подкоманд позволяет настраивать узлы, пулы узлов, версии кластера и подключения к реестру контейнеров.
  • doctl реестр — управляет вашим реестром контейнеров DigitalOcean, включая параметры для создания, удаления и перечисления реестров и контейнеров. Вы также можете запустить или отменить процесс сборки мусора, чтобы освободить место в хранилище.

Доступно множество функций; рекомендуется обратиться к официальной документации, чтобы получить полный список команд и параметров. Как правило, любая конечная точка API DigitalOcean имеет эквивалентную команду doctl.

Изучение доступных команд упрощается благодаря обширной встроенной документации. Запуск команды верхнего уровня, такой как doctl calculate, без каких-либо аргументов отобразит список всех доступных подкоманд. Это позволяет быстро обнаруживать функции и означает, что вам не нужно записывать весь список в память.

Кроме того, doctl поддерживает автоматическое завершение команд в большинстве популярных оболочек. Для этого обычно достаточно добавить source <(doctl-completed bash) в файл ~/.profile. Замените bash своей собственной оболочкой. Рекомендации по конкретной оболочке можно найти в документах doctl.

Использование нескольких учетных записей (контексты)

doctl обеспечивает упрощенную поддержку нескольких учетных записей пользователей DigitalOcean. Вы можете определить автономные аутентифицированные «контексты», между которыми вы переключаетесь с помощью флага --context или переменной среды DIGITALOCEAN_CONTEXT.

Чтобы добавить контекст, используйте следующую команду:

doctl auth init --context my-context

Это та же самая команда проверки подлинности, которую мы видели ранее, на этот раз измененная для использования контекста my-context. Контекст создается автоматически, если он еще не существует. Если контекст не указан, используется контекст default.

Установка значений конфигурации по умолчанию

Вы можете установить значения по умолчанию для большинства параметров и флагов, используя файл конфигурации. Обычно он находится по адресу ~/.config/doctl/config.yaml.

Чтобы определить значение конфигурации, добавьте его в файл в формате category.command.subcommand.flag: value.

compute.droplet.create.size: s-1vcpu-1gb

Приведенный выше параметр по умолчанию будет использовать для всех созданных дроплетов тип s-1vcpu-1gb.

Значения по умолчанию можно переопределить в любое время, передав новое значение флагу командной строки, как обычно.

Выходные форматы

doctl обычно выдает вывод в виде удобочитаемых таблиц и списков. Если вы планируете использовать инструмент в сценариях или хотите получить более подробную информацию, вы можете передать --output json, чтобы получить необработанный JSON из API DigitalOcean.

Вы можете настроить поля, которые возвращаются в таблицах, используя флаг --format. Запустите исходную команду и обратите внимание на имена столбцов в ее выводе. Вы можете передать их в виде списка, разделенного запятыми, в --format, удалив все пробелы, которые встречаются в представленных именах. При запуске измененной команды будут включены только указанные поля.

Заключение

Изучение doctl может сэкономить вам время при управлении ресурсами в ваших учетных записях DigitalOcean. Он упрощает создание сценариев и дает вам отправную точку при создании собственных инструментов мониторинга и оповещения.

DigitalOcean регулярно обновляет утилиту. Он поддерживает практически все операции API и типы ресурсов. Заметным исключением является хранилище объектов Spaces; поскольку это совместимо с Amazon S3, DigitalOcean рекомендует вместо этого использовать утилиту управления, специфичную для S3.

Вы можете найти полную документацию doctl на сайте документации DigitalOcean. Программное обеспечение также имеет открытый исходный код, поэтому вы можете вносить свои собственные улучшения в его репозиторий GitHub.