Pull to refresh
0
0
Still @Still

User

Send message

Управляем обновлением AWS Autoscaling Group: гармония Terraform и Ansible

Level of difficultyMedium
Reading time7 min
Views2.5K

В мире DevOps, где автоматизация играет ключевую роль, управление ресурсами и процессами обновления инфраструктуры в облаке является критически важной задачей. Во многих современных проектах, особенно тех, что развертываются в облачной среде AWS, используется механизм Auto Scaling Groups (ASG) с целью достижения трех основных задач: балансировки нагрузки, повышения надежности сервиса и оптимизации стоимости эксплуатации.

Представьте себе: вы работаете в компании, развертывающей свои приложения на ресурсах Amazon. Ваши приложения важны, поскольку они обслуживают тысячи пользователей ежедневно. Для этого часто используется механизм Auto Scaling Groups (ASG) с целью достижения трех основных задач: балансировки нагрузки, повышения надежности сервиса и оптимизации стоимости эксплуатации.

И чтобы ускорить процесс развертывания и упростить управление конфигурацией, вы используете предварительно подготовленные AMI образы. Эти образы создаются с помощью инструментов типа HashiCorp Packer (или других аналогичных) и содержат все необходимое для того, чтобы ваше приложение стартовало быстро и без сбоев. Для разворачивания самой инфраструктуры вы используете Terraform, который стал стандартом de facto во многих крупных компаниях, управляющих облачными ресурсами и использующими подход IaC (Infrastructure as Code).

К сожалению, ресурсы Terraform (например тот же aws_autoscaling_group) не позволяют отслеживать прогресс и успешность выполнения операции обновления ASG в рамках instance refresh, а могут лишь запустить его. Если какие-то другие части инфраструктуры (например, обновления сертификатов или dns-записей) каким-то образом зависят от состояния и версии запущенных инстансов, то желательно проконтролировать завершение процесса обновления для получения корректного состояния инфраструктуры после завершения работы terraform.

Чтобы решить данную проблему, вводим в игру Ansible...

Ansible...
Total votes 1: ↑1 and ↓0+1
Comments0

Введение в непрерывную поставку (CD) при помощи GitLab

Reading time19 min
Views44K

Введение в непрерывную поставку (CD) при помощи GitLab


Введение в непрерывную поставку (CD) при помощи GitLab


Данный туториал позволит вам быстро прочувствовать как происходит командная работа с использованием GitLab. В целом, начать практиковать DevOps/CD с GitLab проще чем с использованием других продуктов потому что GitLab — это решение "всё в одном".


В процессе этого туториала мы


  • настроим базовое управления проектом на GitLab.com;
  • создадим конвейер непрерывной поставки
  • проведём несколько циклов работы с GitLab Flow
  • изучим метрики CI/CD в GitLab

Желательны но необязательны базовые знания


  • Git;
  • Node.js;
  • React;
  • Docker;
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments2

Изучаем МойОфис: как использовать макросы в редакторах документов и электронных таблиц

Reading time10 min
Views15K

Привет, Хабр! Недавно в нашем корпоративном блоге мы рассказали о выходе новой версии МойОфис 2021.02, в которой появились удобные инструменты для работы с формулами и математическими выражениями, а также со сводными таблицами.

Помимо этого, в состав релиза 2021.02 вошел программный отладчик макрокоманд. Он проверяет исполнение кода и помогает обнаружить ошибки синтаксиса. Сегодня мы продемонстрируем возможности работы с макросами в документах на примере текстового редактора «МойОфис Текст», а заодно коснемся темы создания надстроек, которые позволят расширить функциональные возможности редактора.

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments7

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон, часть 2

Reading time17 min
Views59K

Я продолжаю выразительно пересказывать документацию Ансибла и разбирать последствия её незнания (ссылка на предыдущую часть).


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


Мы будем разбирать каждый элемент инвентори (кроме host_group_vars plugin) и обсуждать зачем он, как его использовать правильно, и как неправильно.


Оглавление:


  • Что такое хост? (и немного про транспорты)
  • Доступ IP vs FQDN; inventory_hostname vs ansible_host
  • ansible_user — писать или не писать?
  • Группы
  • Переменные: в инвентори или в плейбуку?
  • Классификация инвентори по происхождению.
Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments15

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

Reading time12 min
Views134K

Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового.


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


Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

Читать дальше →
Total votes 112: ↑110 and ↓2+108
Comments66

Самодельный респиратор-полумаска из подручных материалов за 10 минут

Reading time7 min
Views23K

Эта статья о том, как изготовить респиратор из подручных материалов, которые у многих есть дома или на даче. Для чего это может быть нужно? Из за сложившейся ситуации с коронавирусом, приобрести респиратор даже класса защиты FFP1 стало довольно проблематично. А проблема защиты дыхания при выходе на улицу, строительных работах связанных с пылью, опрыскивании деревьев и т.п. — никуда не исчезла и даже стала еще актуальнее.



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

Читать дальше →
Total votes 35: ↑27 and ↓8+19
Comments90

Buildbot в примерах

Reading time19 min
Views4.2K

Потребовалось мне настроить процесс сборки и доставки на сайт пакетов программ из Git-репозитария. И увидев, ни так давно, тут на Хабре статью по buildbot (ссылка в конце) решил для этого попробовать его и применить.


Так как buildbot — это распределённая система, то будет логичным под каждую архитектуру и операционку сделать отдельный сборочный хост. В нашем случае это будут LXC-контейнеры (в случае linux) и qemu (в случае windows):


  • vm-srv-build1 — centos 7, тут будет buildbot мастер (master) и один из рабочих (worker)
  • vm-srv-build2 — debian 10, для сборки DEB пакетов
  • vm-srv-build3 — windows 10, для сборки, сами понимаете, под что

Собирать будем Rac GUI — графическая морда к 1С rac для управления кластером серверов. Под линукс будут использоваться штатные средства под каждую ОС, для сборки exe-файла под windows из tcl-скрипта используется freewrap.

Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments0

Организация коммутационного поля СКС высокой плотности

Reading time4 min
Views27K
Объм и плотность коммутационного поля СКС прямо пропорциональны хаосу на нем и обратно пропорциональны возможности его устранения. Проблематика проектирования и построения новой СКС сводится к расстановке рабочих мест, кабельных трасс и коммутационных узлов. Никто не задумывается о технических решениях, призванных обеспечить эффективное эксплуатирование системы после ее сдачи.


Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments19

Считаем сетевой трафик с помощью netflow и lightsquid

Reading time4 min
Views22K
Однажды в нашем небольшом офисе понадобилось настроить систему учёта трафика под linux. Бегло просмотрев готовые решения, я решил использовать что-то попроще. Погуглив, мне понравился подход использовать самописный скрипт, который бы конвертировал статистику netflow в squid-совместимый лог, который затем можно анализировать чем угодно. Готовый скрипт, гуляющий по гуглу, я использовать не стал, т.к. он использует ipcad, которой отсутствует в debian и ubuntu. Написал свой вариант, использующий любой netflow сенсор и flow-tools в качестве коллектора. Скрипт постепенно усложнялся и, в итоге, вырос в небольшую систему учёта трафика. Архив этого удовольствия весит около 50кб, при этом:

  • устанавливается с помощью deb для дистрибутивов, основанных на debian или с помощью собственного инсталлятора для остальных
  • умеет считать интернет-трафик на маршрутизаторе по всем ip v4 протоколам и портам
  • умеет ограничивать доступ не прописанным пользователям
  • вместо голой статистики ip-адресов netflow умеет детализировать отчёты с помощью dig и squid
  • умеет выборочно блокировать трафик
  • имеет веб-интерфейс для управления пользователями и группами пользователей
  • настраивается немногим сложнее lightsquid, который использует в работе
  • не использует промежуточный лог access.log, собственный парсер конвертирует статистику netflow напрямую в отчёт lightsquid


Заинтересованных прошу под кат.
Total votes 15: ↑14 and ↓1+13
Comments11

Advanced PowerShell vol. 1: повторное использование кода

Reading time6 min
Views34K
Привет! Как большой поклонник и активный практик PowerShell я часто сталкиваюсь с тем, что мне необходимо повторно использовать ранее написанные куски кода.
Собственно, для современных языков программирования code reuse — это обычное дело.
PowerShell в этом вопросе не отстает, и предлагает разработчикам (написателям скриптов) сразу несколько механизмов обращения к написанному ранее коду.
Вот они по возрастанию сложности: использование функций, дот-сорсинг и написание собственных модулей.

Рассмотрим их все порядку.

В качестве решения лабораторной задачи напишем скрипт, который расширяет раздел C:\ до максимально возможного размера на удаленном Windows-сервере LAB-FS1.
Такой скрипт будет состоять из одной строки и выглядеть так:

Invoke-Command -ComputerName LAB-FS1 -ScriptBlock { "rescan", "select volume=c", "extend" | diskpart }

Работает это так. Сначала PowerShell устанавливает удаленное соединение с сервером LAB-FS1 и запускает на нем локально набор команд, заключенный в фигурные скобки параметра -ScriptBlock. Этот набор в свою очередь последовательно передает команде diskpart три текстовых параметра, а diskpart выполняет (по очереди) повторное сканирование разделов, выбор раздела C:\ и расширение его до максимально возможного размера.



Как видите, скрипт крайне простой, но в то же время крайне полезный.
Рассмотрим, как правильно упаковать его для повторного использования.
Для этого у нас есть три способа.
Total votes 12: ↑9 and ↓3+6
Comments12

Алгоритм «газетной» вёрстки web-страницы

Reading time3 min
Views1K
Сей пост специально пишу в личный блог, дабы не засорять общие.

На работе встала задачка: есть энное количество статей, возможно, с картинками, и просто картинок, и эту кучку добра надо автоматически заверстать на веб-страницу в формате газеты — т.е., в несколько колонок, одну статью в одну колонку, другую — в три, но по высоте меньше. И ещё все картинки вписать в колонки, чтобы смотрелось точь-в-точь как разворот газеты.
Мне почему-то не хочется верить, что я первый, кто столкнулся с такой задачей. Это не отменяет того, что я уже примерно представляю себе алгоритм ;) Но тем не менее, хотелось бы услышать тех, кто уже сталкивался с такой задачей. Или просто тех, кому задача показалась интересной. Да кого, угодно, на самом деле =)

Читать дальше →
Total votes 16: ↑12 and ↓4+8
Comments23

Загрузочный HDD — Настройка автоподключения дисков в Windows To Go

Reading time5 min
Views25K
Не так давно, чисто случайно я узнал, что Windows можно устанавливать и запускать с внешнего USB носителя. Нет, не то что бы я об этом не знал совсем — Windows PE никто не отменял. Но я не знал что существует решение прямо из «коробки» и называется Windows To Go, правда это решение внедрено только в «коробку», на которой написано Windows Enterprise.
После нехитрой установки получаем загрузоный носитель в Windows, которая обладает несущественными ограничениями. С целью безопасности, созданный таким образом, носитель в любой Windows автоматически не монтируется (ему не назначается буква), т.е. он не доступен обычному пользователю. А так же при загрузке с такого носителя не видны внутренние диски компьютера, т.к. они отключены (режим внутренних дисков «Вне сети»).
Как я с этим боролся
Total votes 20: ↑17 and ↓3+14
Comments8

Умный дом (Самое начало) — ч.1

Reading time6 min
Views216K


Тема «Умный дом» уже у всех на слуху. Про неё говорят, в неё вкладывают, её развивают… По этой теме к таким гигантам как Siemens, General Electric и др. присоединились, казалось бы, не совсем профильные компании, такие как Microsoft, Google, Apple.

Единого стандарта по теме нет, равно как нет инструкции, мол, «делай так и вот так», поэтому теоретически построить свой умный дом может каждый и именно так, как ему захочется и потому эту тему я не смог пропустить и активно к ней подключился. Не скажу, что с умными домами я собаку съел… нет, скорее так, понадкусывал, но тем не менее, на основе свое опыта и своих наблюдений попробую выложить развёрнутый… ммм… How-To? Нет, не потянет. Обзор? Тоже не то… Скорее это будет напутствие или некий набор советов.

Театр начинается с вешалки, а я начну с того, что сразу расставлю все точки над «И», чтобы у читателей не возникало в процессе чтения необоснованного негатива или просто какого-то недопонимания.

Самое главное — это то, что статья рассчитана на людей, которые толком ещё не поняли, нужен ли им вообще этот самый «Умный дом» и нужно ли влезать в эту тему?

Теперь термин.
Будем честны, «Умный дом» — это не только такая система с искусственным интеллектом, которая разговаривает с Вами по утрам в ванной (пока вы бреетесь) и готовит Вам ужин пока вы едете домой. Не нужно путать систему с женой.

Читать дальше →
Total votes 80: ↑57 and ↓23+34
Comments52

Маленький сетевой одноплатный компьютер за 20 USD

Reading time2 min
Views41K
Ну вот, наконец-то, у меня в руках первый полноценно работающий экземпляр нашего одноплатного компьютера.

Полгода разработки, два месяца ожидания (пока изготовят первых 20 экземпляров и доставят в Москву), неделя непрерывного секса (чтобы запустить)… И вот оно — наше маленькое чудо!

image

Это не «самый маленький в мире компьютер». И не самый дешевый. И уж конечно не самый мощный. Но он достаточно маленький, довольно дешевый и не такой уж медленный. Чип Qualcom Atheros AR9331, 64 Мб DDR2, 16 Мб NOR flash. WiFi, один гигабитный Ethernet и до пяти 100мбитных, USB, UART, SPI, I2S, 20+ GPIO, OpenWrt на борту — что еще нужно для счастья? Зажечь в первый раз светодиод по команде со смартфона — ни к этому ли мы все стремимся?

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

Первые подробности — под катом.
Читать дальше →
Total votes 72: ↑71 and ↓1+70
Comments174

Как сверстать веб-страницу. Часть 2 — Bootstrap

Reading time19 min
Views694K

Введение


Уважаемый читатель, эта статья является второй частью цикла статей, посвященных вёрстке.

В первой части мы верстали шаблон Corporate Blue от студии Pcklaboratory с помощью стандартных средств на чистом HTML и CSS. В данной статье мы попробуем сверстать этот же шаблон, но с помощью CSS фреймворка Bootstrap 3.
Читать дальше →
Total votes 104: ↑86 and ↓18+68
Comments59

Как сверстать веб-страницу. Часть 1

Reading time13 min
Views1.2M
Уважаемый читатель, этой статьей я открываю цикл статей, посвященных вёрстке.
В первой части будет описано, как это сделать с помощью стандартных средств на чистом HTML и CSS. В последующих частях рассмотрим как сделать тоже самое, но с помощью современных фреймворков и CMS.

Часть 1. Верстка стандартными средствами


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

Итак, давайте приступим. В качестве нашего подопытного мы возьмем бесплатный psd шаблон Corporate Blue от студии Pcklaboratory.
Читать дальше →
Total votes 155: ↑120 and ↓35+85
Comments110

SoftEther VPN — продвинутый мультипротокольный VPN-сервер и клиент

Reading time3 min
Views387K
Как скоро я смогу вас заинтересовать, если скажу, что в этой статье речь пойдет о VPN-сервере, который может поднимать L2TP/IPsec, OpenVPN, MS-SSTP, L2TPv3, EtherIP-серверы, а также имеет свой собственный протокол «SSL-VPN», который неотличим от обычного HTTPS-трафика (чего не скажешь про OpenVPN handshake, например), может работать не только через TCP/UDP, но и через ICMP (подобно pingtunnel, hanstunnel) и DNS (подобно iodine), работает быстрее (по заверению разработчиков) текущих имплементаций, строит L2 и L3 туннели, имеет встроенный DHCP-сервер, поддерживает как kernel-mode, так и user-mode NAT, IPv6, шейпинг, QoS, кластеризацию, load balancing и fault tolerance, может быть запущен под Windows, Linux, Mac OS, FreeBSD и Solaris и является Open-Source проектом под GPLv2?

То-то и оно. Такое пропустить нельзя.
Читать дальше →
Total votes 125: ↑120 and ↓5+115
Comments45

Управляем службами Windows с помощью PowerShell. Часть 4. Изменение служб с помощью WMI

Reading time5 min
Views14K

Продолжаем публиковать переводы статей по управлению службами Windows, которые выходят на сайте 4sysops.com. В предыдущем посте было рассмотрено использование WMI для извлечения информации о службе. WMI объект службы предлагает новые свойства, которые отсутствуют в .NET объекте службы. И хотя мы можем использовать Set-Service для изменения объекта службы, есть такие ситуации, когда вам необходимо использовать WMI.
Под катом приведен перевод статьи с портала 4sysops.com Managing Services the PowerShell way – Part 6.

Предыдущие статьи:
Управляем службами Windows с помощью PowerShell. Часть 1. Получаем статус служб
Управляем службами Windows с помощью PowerShell. Часть 2. Остановка, запуск, пауза
Управляем службами Windows с помощью PowerShell. Часть 3. Конфигурируем службы с помощью WMI и CIM

Читать дальше →
Total votes 11: ↑8 and ↓3+5
Comments0

Создаем адаптивную навигацию на сайте

Reading time3 min
Views98K
Одна из самых непростых задач в верстке адаптивного сайта — это навигация. В этой статье подробно описан один из способов реализации адаптивного меню.



Демо Скачать исходники
Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments40
1

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity