Новость слишком проста, чтобы делать сложную подводку — теперь у DigitalOcean есть Metadata, свой сервер метаданных. Зачем? Для чего угодно, но в первую очередь для управления дроплетами (виртуальными серверами, в терминологии DO).
Metadata — сервис, предоставляемый для дроплетов DigitalOcean, позволяющий каждому серверу получить данные о нем самом (так называемые метаданные). Как пример таких данных, можно назвать данные о пользователях, ID дроплета, регион датацентра, и данные об IP-адресах. В дополнение к обычному получению метаданных дроплета, Metadata позволяет пользователям передавать определенные данные дроплетам при их создании, что может использоваться CloudInit для облегчения настройки облачных серверов.
Metadata в настоящий момент доступен для новых дроплетов в следующих регионах: SGP1, SFO1, LON1, AMS2, AMS3, и NYC3. Если дроплет находится в одном из этих регионов, а метаданные недоступны, рекомендуется выключить и включить дроплет.
Полная документация по Metadata приведена на Портале для разработчиков DigitalOcean.
При создании дроплета метаданные задаются в панели управления дроплета, в разделе «Available Settings», в поле «user data»:
Если вы создаете дроплеты при помощи DigitalOcean API, метаданные можно передать как параметр user_data в POST-запросе на создание сервера:
Получение метаданных выглядит также несложным: достаточно сделать HTTP GET-запрос специального URL-а
Информация хранится иерархически, так что более подробные запросы, такие как
Metadata — сервис, предоставляемый для дроплетов DigitalOcean, позволяющий каждому серверу получить данные о нем самом (так называемые метаданные). Как пример таких данных, можно назвать данные о пользователях, ID дроплета, регион датацентра, и данные об IP-адресах. В дополнение к обычному получению метаданных дроплета, Metadata позволяет пользователям передавать определенные данные дроплетам при их создании, что может использоваться CloudInit для облегчения настройки облачных серверов.
Metadata в настоящий момент доступен для новых дроплетов в следующих регионах: SGP1, SFO1, LON1, AMS2, AMS3, и NYC3. Если дроплет находится в одном из этих регионов, а метаданные недоступны, рекомендуется выключить и включить дроплет.
Полная документация по Metadata приведена на Портале для разработчиков DigitalOcean.
При создании дроплета метаданные задаются в панели управления дроплета, в разделе «Available Settings», в поле «user data»:
Если вы создаете дроплеты при помощи DigitalOcean API, метаданные можно передать как параметр user_data в POST-запросе на создание сервера:
curl -X POST "https://api.digitalocean.com/v2/droplets" \
-d'{"name":"metadata.example.com","region":"nyc3","size":"512mb","private_networking":true,"image":"ubuntu-14-04-x64","user_data":
"'"$(cat ~/user-data.yaml)"'",
"ssh_keys":[ <SSH KEY IDs> ]}' \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"
Получение метаданных выглядит также несложным: достаточно сделать HTTP GET-запрос специального URL-а
http://169.254.169.254/metadata/v1/. Ответ будет содержать данные:
id
hostname
user-data
vendor-data
public-keys
region
interfaces/
dns/
Информация хранится иерархически, так что более подробные запросы, такие как
169.254.169.254/metadata/v1/user-data
или 169.254.169.254/metadata/v1/interfaces/public/0/ipv4/address
, позволят получить заданные в поле «user data» данные, или, соответственно, публичный IPv4 адрес дроплета.Only registered users can participate in poll. Log in, please.
Интересна ли вам возможность работы с метаданными серверов?
18.57%
Я создаю сервера автоматически
52
58.57%
Я не создаю сервера автоматически
164
21.43%
Я нуждаюсь в снабжении серверов метаданными
60
47.14%
Я не нуждаюсь в снабжении серверов метаданными
132
280 users voted.
120 users abstained.