Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Облачные вычисления

Инфраструктура как код с Terraform в облаке Bare Metal

Инфраструктура как код (IaC) упрощает процесс управления виртуализированными облачными ресурсами. С появлением облачных выделенных серверов теперь можно развертывать физические машины с таким же уровнем гибкости.

Облачная платформа выделенных серверов phoenixNAP Bare Metal Cloud (BMC) была разработана с учетом совместимости с IaC. BMC полностью интегрирован с HashiCorp Terraform, одним из наиболее широко используемых инструментов IaC в DevOps. Эта интеграция позволяет пользователям использовать специально созданного поставщика Terraform для развертывания серверов BMC за считанные минуты с помощью всего пары строк кода.

Почему инфраструктура как код?

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

До IaC системные администраторы развертывали все вручную. Каждый сервер, базу данных, балансировщик нагрузки или сеть приходилось настраивать вручную. Команды теперь используют различные механизмы IaC для развертывания или отключения сотен серверов от разных поставщиков за считанные минуты.

Несмотря на то, что на рынке представлено множество мощных инструментов IAC, Terraform выделяется как один из самых выдающихся игроков в области IAC.

Основы Terraform

Terraform от HashiCorp — это инфраструктура как механизм кода, который позволяет командам DevOps безопасно развертывать, изменять и версии облачных ресурсов. Его инструмент с открытым исходным кодом можно использовать бесплатно, но большинство команд предпочитают использовать его с Terraform Cloud или Terraform Enterprise, которые обеспечивают совместную работу и управление.

Для развертывания с помощью Terraform разработчики определяют нужные ресурсы в файле конфигурации, написанном на языке конфигурации HashiCorp (HCL). Затем Terraform анализирует этот файл, чтобы создать план выполнения. После подтверждения пользователем он выполняет план для предоставления именно того, что было определено в файле конфигурации.

Terraform определяет различия между желаемым состоянием и существующим состоянием инфраструктуры. Этот механизм играет важную роль в конвейере DevOps, где крайне важно поддерживать согласованность в нескольких средах.

Развертывание облачных серверов без операционной системы с помощью Terraform

Terraform поддерживает растущий список поставщиков, поддерживающих ее программное обеспечение. Провайдеры — это настраиваемые подключаемые модули от различных поставщиков услуг, которые пользователи инициализируют в своих файлах конфигурации.

У phoenixNAP есть собственный провайдер Terraform — pnap. Любой пользователь Bare Metal Cloud может использовать его для развертывания и управления серверами BMC без использования веб-портала Bare Metal Cloud. Исходный код поставщика phoenixNAP и документация доступны на официальной странице поставщика Terraform.

Пример использования Terraform с Bare Metal Cloud

Чтобы начать развертывание серверов BMC с помощью Terraform, создайте учетную запись BMC и установите Terraform в локальной системе или на удаленном сервере. Перед запуском Terraform соберите необходимые данные аутентификации и сохраните их в файле config.yaml. файл. Вам нужен clientId и clientSecret , которые можно найти в вашей учетной записи BMC.

После того, как все настроено, начните определять желаемые ресурсы BMC. Для этого создайте файл конфигурации Terraform и объявите, что хотите использовать поставщик pnap. :

terraform {
  required_providers {
    pnap = {
          source = "phoenixnap/pnap"
          version = "0.6.0"
    }
  }
}

provider "pnap" {
  # Configuration options
}

Раздел зарезервирован для configuration options должен содержать описание желаемого состояния вашей инфраструктуры BMC.

Чтобы развернуть самую базовую конфигурацию сервера Bare Metal Cloud, s1.c1.small , с ОС Ubuntu в центре обработки данных Phoenix:

resource "pnap_server" "My-First-BMC-Server" {
    hostname = "your-hostname"
    os = "ubuntu/bionic"
    type = "s1.c1.small"
    location = "PHX"
    ssh_keys = [
       "ssh-rsa..."
    ]
    #action = "powered-on"
}

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

Чтобы развернуть этот экземпляр Bare Metal Cloud, запустите terraform init Команда CLI для указания Terraform начать процесс инициализации.

Ваши конфигурации Terraform должны храниться в файле с расширением .tf. расширение. Хотя Terraform использует для определения конфигураций доменно-ориентированный язык, пользователи также могут писать файлы конфигурации в формате JSON. В этом случае расширение файла должно быть .tf.json. .

Все файлы конфигурации Terraform можно повторно использовать. , масштабируемый , и может иметь версию для упрощения совместной работы над схемами инициализации BMC.

Если вам нужно развернуть один или сотни серверов, Terraform и BMC сделают это возможным. Нет никаких ограничений на количество серверов, которые вы можете определить в своих файлах конфигурации. Вы также можете использовать других поставщиков наряду с phoenixNAP.

Для упрощения управления сложными настройками в Terraform есть функция под названием модули. — контейнеры, которые позволяют вам абстрактно определять архитектуру вашей среды. Модули — это повторно используемые фрагменты кода, которые могут вызывать другие модули, содержащие один или несколько объектов инфраструктуры.

Совместная работа над конфигурациями BMC с помощью Terraform Cloud

После того, как вы научитесь писать и предоставлять конфигурации Terraform, вы захотите настроить метод, который позволит всей вашей команде DevOps работать более эффективно над развертыванием новых и изменением существующих ресурсов BMC.

Вы можете хранить конфигурации Terraform в системе контроля версий и бесплатно запускать их удаленно из Terraform Cloud. Это поможет снизить вероятность развертывания неправильно настроенных ресурсов, улучшит контроль и обеспечит надежное выполнение всех изменений из облака.

Вы также можете использовать удаленное хранилище данных Terraform Cloud. Файлы состояния Terraform сопоставляют конфигурации Terraform с ресурсами, развернутыми в реальном мире. Использование Terraform Cloud для хранения файлов состояния гарантирует, что ваша команда всегда будет на одной волне.

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

Автоматизируйте свою инфраструктуру

В этой статье представлен общий обзор того, как использовать гибкость Terraform для программного взаимодействия с вашими ресурсами Bare Metal Cloud. Используя поставщика phoenixNAP Terraform и Terraform Cloud, вы можете быстро развернуть, настроить и вывести из эксплуатации несколько экземпляров BMC, написав всего пару строк кода.

Такой автоматизированный подход к подготовке инфраструктуры повышает скорость и гибкость рабочих процессов DevOps. BMC в сочетании с Terraform Cloud позволяет командам сосредоточиться на создании программного обеспечения, а не тратить время на ожидание ручной инициализации выделенных серверов.


Облачные вычисления

  1. Создайте свою облачную инфраструктуру для повышения производительности и эффективности
  2. Зачем ИТ-специалистам навыки картографирования
  3. Локальная инфраструктура устарела?
  4. Еженедельный пакет:облачно, возможны инновации
  5. Плюсы и минусы "Инфраструктура как код"
  6. Преимущества использования облака со службами DevOps
  7. Готовые контейнеры для кода:начало работы с инструментами автоматизации процессов в облаке
  8. Инфраструктура облачных вычислений; Понимание основ
  9. ЧИТАЛЬНЫЙ ЛИСТ AWS:с руководством по экзамену
  10. для гибки листового металла с помощью листогибочного пресса