Рубрики
Uncategorized

Настройка капель цифровых океанов с облачным

ВВЕДЕНИЕ ВХОДИТЕЛЕНЫ Будут случаи, когда вы захотите автоматизировать Provisioni … Помечено в DevOps, Облако, Digitalocean.

Часто существует случаев, когда вы захотите автоматизировать предоставление и конфигурацию капель цифровых океанов. Там есть множество инструментов, однако, Облако-init это отраслевой стандарт, который используется для инициализации и настройки экземпляров с пользовательские данные Отказ

Terraform — это инфраструктура-приспособление, которое позволяет пользователям безопасно и эффективно и эффективно строить, изменять и вердать вашу инфраструктуру. Он использует синтаксис высокого уровня для декларативно положения и управления инфраструктурой, позволяя способности разрушать конфигурацию на меньшие куски для лучшей организации, повторного использования и ремонтопригодности. Информация о установке и эксплуатации террафора можно найти здесь Отказ Проходя user_data Параметр в файл Terraform.yaml вы можете использовать автоматизацию для настройки капли цифровой океаны при загрузке. Больше на этом ниже.

Если TerraForm — это ваша предпочтительная инфраструктурная подготовка метода, то вы можете найти поставщик цифрового океана Terraporm на Github Repo здесь Отказ

Для любого поставщика инфраструктуры при использовании Terraform в качестве инструмента предоставления вам всегда нужно указать провайдер Блок, как видно здесь:

provider "digitalocean" {
    token = var.do_token
}

Вот пример модуля, который использует пользовательские данные Чтобы настроить капельку во время загрузки:

# Create a server
resource "digitalocean_droplet" "my-dream-server-1" {
    image  = "ubuntu-18-04-x64"
    name   = "web-1"
    region = "nyc2"
    size   = "s-1vcpu-1gb"
    user_data = "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKICAtIGlmdG9wCiAgLSBubW9uCg=="
}

С помощью этого модуля у вас есть Ресурс это обозначает digitalocean_droplet Как тип ресурса, который вы хотите обеспечить, и использование переменных, таких как Project_id и user_data справиться с предоставлением. Когда вы предоставляете строку для user_data , вы обозначаете скрипт запуска, который голый металлический сервер будет работать на загрузке.

Использование облака-init для настройки капель цифровых океанов

Вы можете предусматривать новые серверы через API для получения пользовательских данных для вашего пакетного устройства через Облако-init услуга. Это позволяет автоматизировать различные задачи конфигурации сервера, выбрав директивы пользовательских данных по развертыванию сервера. Ваши предоставляемые задачи будут выполнены, когда ваш сервер загружается в первый раз. Есть два способа сделать это — Скрипты оболочки или облако-init Директивы. Мы собираемся говорить о директивах облачных инициаций.

Облако-init Директивы выполняются, когда ваш сервер загружается впервые, но синтаксис немного отличается. Ваш сценарий должен начать с # cloud-config Линия, в противном случае пользовательские директивы данных будут отклонены. Для дальнейшей ссылки я рекомендую проверить официальную документацию Cloud-init: https://cloudinit.readtheDocs.io/en/latest/index.html.

Простой пример Облако-init Сценарий, который был бы пропущен, это :

#cloud-config

packages:

 - httpd

 - mariadb-server

runcmd:

 - systemctl start httpd

 - sudo systemctl enable httpd

 - [ sh, -c, "chmod 755 /var/tmp" ]

Чтобы пройти этот сценарий данных в цифровую API Ocean, он должен сначала преобразовать в Base64 формат. На системе Linux вы сделаете следующее для вашего test.yaml файл:

:# base64 test.yaml

I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczogCiAtIGh0dHBkIAogLSBtYXJpYWRiLXNlcnZlcgpydW5j

bWQ6CiAtIHN5c3RlbWN0bCBzdGFydCBodHRwZAogLSBzdWRvIHN5c3RlbWN0bCBlbmFibGUgaHR0

cGQKIC0gWyBzaCwgLWMsICJjaG1vZCA3NTUgL3Zhci90bXAiIF0K

Этот выходной текст должен быть получен через цифровые API океана user_data Параметр при заказе нового сервера.

Положить все вместе

Чтобы увидеть это в действии, укажите ресурсы провайдер Так что вы можете обозначить цифровой океан как платформа, которому вы оказываете. Ваш последний скрипт должен выглядеть так:

# Set provider

provider "digitlocean" {
    token = var.do_token
}

# Create a server
resource "digitalocean_droplet" "my-dream-server-1" {
    image  = "ubuntu-18-04-x64"
    name   = "web-1"
    region = "nyc2"
    size   = "s-1vcpu-1gb"
    user_data = "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKICAtIGlmdG9wCiAgLSBubW9uCg=="
}

Это все, что есть к этому! Terraform — это действительно отличный инструмент для автоматизации инфраструктуры, как только вы понимаете синтаксис и как он работает.

Оригинал: «https://dev.to/appfleet/configuring-digital-ocean-droplets-with-cloud-init-4nh2»