Поскольку мой второй месяц в DevOps подходит к концу, пришло время подумать о месяце AWS, Vagrant и Jenkins (плюс, возможно, другой проект!)
Неделя 5 — бродяга
Введение в управление виртуальными машинами пришло на этой неделе. Сфокусировав в основном на бродяги и виртуальную коробку, мы рассмотрели методы, в которых мы можем быстро развернуть виртуальные машины и приложения из нескольких источников.
Нам также рассказали о запоминающейся шутке «Go Global за считанные минуты!» и четыре ключевых столпа DevOps:
- Гибкость
- Простота использования
- Надежность
- Расходы
Это звучит довольно хорошо!
Сам бродяга
Конечная цель, по сути, заключалась в том, чтобы иметь возможность иметь Бродяга Установите операционную систему и автоматически разверните приложение для нас. Но первый препятствие на самом деле пришло откуда -то Я не рассматривал … мой компьютер:
Так… Что не так с этим изображением? Ну, мой Mac — один из новых Mac на основе M1. Это не было проблемой до сих пор, но это представляет проблему, когда дело доходит до виртуализации, потому что на данный момент ни VirtualBox, ни VMware не имеют версий их программного обеспечения для загрузки и использования. Не волнуйтесь, у меня есть еще один компьютер, готовый к работе, который я использую в основном для игр, на которые я установил Ubuntu. Тогда все было хорошо в мире!
Так что, не обращаясь к слишком много деталей, я настроил свой VagrantFile для создания двух машин:
План состоял в том, чтобы приложение Node.js автоматически развернуто и подключилось к базе данных MongoDB, чтобы извлечь из него данные, и конечная цель состояла в том, чтобы подготовить его, просто вводя в бродяга вверх
Анкет
Вы можете проверить полную конфигурацию здесь:
Monotiller/Engineering89_vagrant
Установка бродяги, виртуальная коробка и рубин
Бродячие команды
бродяга вверх
Чтобы запустить виртуальную машинуVagrant Drouss
Чтобы все удалитьVagrant Reload
хорошо, перезагрузитьбродячья остановка
Чтобы остановить виртуальную машину
Попасть в бродячие
- Давайте
ssh
в нашу виртуальную машину и запустить Nginx Web-Server - Используйте
apt-get
Диспетчер пакетов в Linux — для Macпиво
apt-get-
используется для установки и удаления любых необходимых пакетов- Использовать команду в
администратор
Режим мы можем использоватьсудо
перед командой Sudo Apt -Get Upgrade -y
sudo apt -get update -y
Ping www.spartaglobal.com
- Работать в
Административный режим
все время (не делай этого)Sudo -su
- Мы установим Nginx в нашей гостевой машине
- Запустите страницу NGINX по умолчанию в браузере Host Machine
- Выходить из вашей виртуальной машины
выход
- Установите nginx
sudo apt -get установить nginx -y
- Проверка статуса Nginx
SystemCtl Status nginx
- Или перезапуск
SystemCtl перезапустить nginx
или просто…
Я признаю, что было несколько вещей, которые я не мог автоматизировать в файле обеспечения, таких как настройка переменной среды, но в более поздних конфигурациях (что по какой -то причине я еще не стал настаивать на Github) Таким образом, у меня есть еще один файл Bash, который я запускаю впоследствии, который выполняет последние шаги конфигурации.
Все еще не понял, почему это не работает, но это еще не остановило меня!
Неделя 6 — Проект 2
Наша шестая неделя была интересной, будучи подготовленным проектом так близко после предыдущего, но, по крайней мере, это позволило нам теперь привлечь наше использование API с виртуальными машинами.
Нам было поручено создать веб -сайт поиска на работу, который соскребил веб -сайт для записей, а затем позволил пользователю манипулировать данными так, как они хотели бы (сортировать по алфавиту, зарплате и т. Д.), А затем предоставить легко скачать CSV что пользователь может затем взять и манипулировать данными на досуге.
Выше был нашим рабочим процессом для манипулирования данными как нарисованные моим товарищем по команде, который идет по Twilliams9397 на GitHub
Ну, мы сделали это, и мы получили его, чтобы автоматически развернулись и работали по бродягу. Я не буду вдаваться в подробности по самому приложению, так как вы можете проверить его для себя здесь:
Engineering89-Job-Project-Group-2/Project
Представление JobCentre ++
Но я очень рад, как это получилось. Самое главное (я надеюсь на удовольствие @genei09 ) Я думаю, что мы прибили git. У нас был только один конфликт слияния, и мы получили его очень быстро Так что я называю это победой. Плюс я не понимал, что Предложения в обзорах кода были вещи, и мы обнаружили, что действительно полезны для быстро меняющихся вещей на лету.
Создание хорошей системы на раннем этапе было отличным. Плюс слияние изменений было настолько удовлетворительным. Я никогда не осознавал, как хорошо, что целые дни работали просто объединен прямо в … Э -э -э, во всяком случае.
Вот сайт:
Это действительно была суть всего проекта, это было главным результатом, и какая работа была самой работой. Соскабливание и отображение информации о различных ролях на Itjobswatch Анкет Затем мы пошли немного дальше и добавили поле поиска, а также отдельные страницы с более подробной информацией о каждой роли:
Затем мы также соскребили некоторые вакансии на сайте и дали людям возможность добавить свой собственный:
Я действительно горжусь работой, которую мы выполняли не только с помощью строительства на вершине того, что мы делали ранее, но и с помощью действительно прибивая наши инструменты для сотрудничества!
Неделя 7 — AWS и сеть
Мы начали неделю, узнав о EC2, услуге для размещения виртуальных машин в облаке, а также S3, службы онлайн -хранения, а также CLI AWS, который мы на самом деле не использовали много.
Настройка оба и их использование почти так же просто, как и звучит, поскольку у нас уже был опыт работы с Vagrant, это было лишь продолжением этого. Мне очень нравится, однако, что возможность просто дать ему файл подготовки и иметь мое приложение по всему миру за считанные минуты, на самом деле действительно впечатляет. Хотя это может быть официально для этой цели, я чувствую, что для быстрого прототипа и предварительного просмотра кода будет очень полезно, используя как это, так и Дженкинс, поскольку я могу попросить людей тестировать код, прежде чем подтолкнуть его к производственным серверам. Действительно с нетерпением жду использования этой технологии.
Дженкинс Был наш последний порт захода, и хотя мы использовали его с ранее существовавшими тестовыми приложениями, мы все еще смогли понять, что он может сделать. Тестирование и развертывание приложений автоматически? Довольно мило!
Я планирую экспериментировать с действиями GitHub самостоятельно, так как это кажется похожим, но мне не нужно запускать свой собственный сервер Jenkins (я дешев, хорошо?). Но автоматизация — это то, что я определенно собираюсь провести больше исследований. Если у вас есть какие -либо советы, я бы хотел услышать их!
Как сказал мой инструктор, вам нужно научиться делать что -то вручную, прежде чем вы сможете сделать это автоматически и, честно говоря, автоматизация добавляет слой сложности в настройки, потому что это затрудняет знать, где происходит ошибка и для экспериментов. Но я вижу это как инвестицию, проведя несколько дополнительных минут, чтобы сэкономить через несколько часов!
Неделя 8 — VPCS
Неделя 8 была отброшена немного с Kilter, это было связано с тем, что наш инструктор не был доступен из -за непредвиденных обстоятельств, поэтому позиция была введена в означающую, что вместо IAC и Ansible мы вместо этого узнали о создании VPC, группах безопасности, интернет -шлюзах, Подсети и так далее.
Бастион был на самом деле действительно интересной концепцией и был чем -то, о чем я действительно не думал делать раньше. В нашем примере мы использовали наше демонстрационное приложение с 5 недели, которое состояло из приложения Node.js и базы данных MongoDB. Мы хотим, чтобы приложение было общедоступным через веб -браузер, а приложение также извлекало данные из Datanase, но мы не хотим, чтобы база данных была общедоступной по понятным причинам.
Наличие бастиона в значительной степени похоже на хранителя ворот, поэтому мы можем только вмешаться в базу данных через бастион. Так что, если он выключен, доступ к базе данных тоже отключен. Мне очень нравится идея И это кажется более надежным, чем использование групп безопасности или сетевых ACL.
Завершая
Потенциал для масштабирования тестирования и производства вверх и вниз в основном динамически с использованием облачных сервисов — это то, что я был бы заинтересован в том, чтобы попробовать себя, но не сейчас, так как я видел, что это может стать дорого.
Я предполагаю, что если бы был блокатор, это, вероятно, будет интерфейс AWS, это немного сбивает с толку, так как многие меню выглядят одинаково, и иногда это, кажется, скрывает некоторые варианты, стоящие за меню, я бы не ожидал, что они будут. Но как только я понял это, я был в порядке, плюс похоже, что они все еще получают отзывы для редизайна, так что все еще может измениться!
В следующем месяце мой последний курс, мы будем освещать Ansible, Terraform, а также завершать проект большой группы, где все 15 из нас будут работать над одним проектом!
Еще раз спасибо за чтение, и я очень ценю комментарии, которые я получил в прошлый раз! Увидимся снова через месяц!
Оригинал: «https://dev.to/monotiller/second-month-in-devops-3mgk»