Как стать автором
Обновить
-3
0

Пользователь

Отправить сообщение

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

Время на прочтение12 мин
Количество просмотров147K

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


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


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

Читать дальше →

Визуальное руководство по диагностике неисправностей в Kubernetes

Время на прочтение11 мин
Количество просмотров49K
Прим. перев.: Эта статья входит в состав опубликованных в свободном доступе материалов проекта learnk8s, обучающего работе с Kubernetes компании и индивидуальных администраторов. В ней Daniele Polencic, руководитель проекта, делится наглядной инструкцией о том, какие шаги стоит предпринимать в случае возникновения проблем общего характера у приложений, запущенных в кластере K8s.



TL;DR: вот схема, которая поможет вам отладить deployment в Kubernetes:
Читать дальше →

Zabbix Review: как организовать code review для конфигурации мониторинга

Время на прочтение7 мин
Количество просмотров9.5K

Code review — инженерная практика в терминах гибкой методологии разработки. Это анализ (инспекция) кода с целью выявления ошибок, недочетов, расхождения в стиле написания кода и понимания, решает ли код поставленную задачу.



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

Читать дальше →

htop и многое другое на пальцах

Время на прочтение26 мин
Количество просмотров309K


На протяжении долгого времени я не до конца понимал htop. Я думал, что средняя загрузка [load average] в 1.0 означает, что процессор загружен на 50%, но это не совсем так. Да и потом, почему именно 1.0?

Затем я решил во всём разобраться и написать об этом. Говорят, что лучший способ научиться новому — попытаться это объяснить.
Читать дальше →

Как я восстанавливал данные в неизвестном формате с магнитной ленты

Время на прочтение8 мин
Количество просмотров39K

Предыстория


Будучи любителем ретро железа, приобрёл я как-то у продавца из Великобритании ZX Spectrum+. В комплекте с самим компьютером мне достались несколько аудиокассет с играми (в оригинальной упаковке с инструкциями), а также программами, записанными на кассеты без особых обозначений. На удивление данные с кассет 40-летней давности хорошо читались и мне удалось загрузить почти все игры и программы с них.



Однако, на некоторых кассетах я обнаружил записи, сделанные явно не компьютером ZX Spectrum. Звучали они совершенно по-другому и, в отличие от записей с упомянутого компьютера, не начинались с короткого BASIC загрузчика, который обычно присутствует в записях всех программ и игр.

Какое-то время мне не давало это покоя — очень хотелось узнать, что скрыто в них. Если бы получилось прочитать аудио сигнал как последовательность байтов, можно было бы поискать в них символы или что-то, что указывает на происхождение сигнала. Своего рода ретро-археология.

Elastic под замком: включаем опции безопасности кластера Elasticsearch для доступа изнутри и снаружи

Время на прочтение7 мин
Количество просмотров31K
image

Elastic Stack — известный инструмент на рынке SIEM-систем (вообще-то, не только их). Может собирать в себя много разнокалиберных данных, как чувствительных, так и не очень. Не совсем правильно, если доступ к самим элементам Elastic Stack не будет защищён. По умолчанию все коробочные элементы Elastic (Elasticsearch, Logstash, Kibana и коллекторы Beats) работают по открытым протоколам. А в самой Kibana отключена аутентификация. Все эти взаимодействия можно обезопасить и в этой статье мы расскажем как это сделать. Для удобства разделили повествование на 3 смысловых блока:

  • Ролевая модель доступа к данным
  • Безопасность данных внутри кластера Elasticsearch
  • Безопасность данных вне кластера Elasticsearch

Подробности под катом.
Читать дальше →

Настройка GeoIP ACL в HAProxy в два шага

Время на прочтение5 мин
Количество просмотров7.7K

Hello Planets by Augustinas Raginskis

Иногда возникает задача управления трафиком в зависимости от географического положения клиента. Возможные области применения — блокировка некоторых локаций либо перенаправление трафика на итоговый сервер в зависимости от локации клиента. Традиционно подобные вещи реализуются при помощи библиотек GeoIP компании MaxMind. В статье расскажу, как это сделать.
Читать дальше →

Как эффективнее использовать kubectl: подробное руководство

Время на прочтение23 мин
Количество просмотров23K

Если вы работаете с Kubernetes, то, вероятно, kubectl — одна из самых используемых вами утилит. А всякий раз, когда вы тратите много времени на работу с определенным инструментом, стоит хорошо его изучить и научиться эффективно использовать.

Команда Kubernetes aaS от Mail.ru перевела статью Даниэля Вейбеля, в которой вы найдете советы и приемы для эффективной работы с kubectl. Также она поможет глубже понять работу Kubernetes.

По словам автора, цель статьи — сделать вашу ежедневную работу с Kubernetes не только более эффективной, но и более приятной!
Читать дальше →

Сети Docker изнутри: как Docker использует iptables и интерфейсы Linux

Время на прочтение7 мин
Количество просмотров157K

Я познакомился с Docker довольно давно и, как и большинство его пользователей, был мгновенно очарован его мощью и простотой использования. Простота является основным столпом, на котором основывается Docker, чья сила кроется в легких CLI-командах. Когда я изучал Docker, я захотел выяснить, что происходит у него в бэкграунде, как вообще все происходит, особенно что касается работы с сетью (для меня это одна из самых интересных областей).


Я нашел много разной документации о том, как создавать контейнерные сети и управлять ими, но в отношении того, как именно они работают, материалов намного меньше. Docker широко использует Linux iptables и bridge-интерфейсы для создания контейнерных сетей, и в этой статье я хочу подробно рассмотреть именно этот аспект. Информацию я почерпнул, в основном, из комментариев на github-е, разных презентаций, ну и из моего собственного опыта. В конце статьи можно найти список полезных ресурсов.


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

Читать дальше →

Программируем прямо в Nginx

Время на прочтение13 мин
Количество просмотров40K


Nginx — великолепный веб-сервер. Все мы привыкли использовать его в связке с бекендами на разных языках программирования. Но оказывается можно писать простые программы прямо внутри конфигурационного файла Nginx. Это можно использовать для балансировки, написания простых API и даже отдавать динамические страницы прямо из конфига.

В статье мы разберем примеры написания простых программ в конфиге nginx.
Читать дальше →

AWS Lambda in Action. Часть 2: знакомимся с инструментами разработки и тестирования

Время на прочтение20 мин
Количество просмотров8.5K


Этот гайд — результат личного опыта разработки и тестирования Serverless-приложений, а также маневрирования между «костылями» и «велосипедами» при попытках их протестировать. Когда я только начинал заниматься разработкой Serverless-приложений, во всем приходилось разбираться руками, не было четких гайдов или удобных инструментов локальной разработки и тестирования.

Сейчас ситуация меняется: инструменты стали появляться, но найти мануалы по их использованию непросто. В этом материале я покажу на простом примере, как работать с новым функционалом. Вы сможете легко его освоить и обойти те проблемы и баги, с которыми «посчастливилось» столкнуться мне.

Вы узнаете, как вести разработку с помощью браузерной консоли AWS, SAM-CLI и IntelljIDEA. Еще я расскажу про тестирование: интеграционные, E2E и юнит-тесты. А напоследок обсудим, во сколько обойдется такое решение (спойлер: на нем можно неплохо сэкономить).

Статья будет полезна тем, кто начинает вести разработку Serverless-приложений и еще не знаком с ее инструментарием и подходами.
Читать дальше →

От классики и модернизма до фэнтези и стимпанка ― что читают системные администраторы

Время на прочтение7 мин
Количество просмотров9K


Разговорившись с коллегами-администраторами о художественной литературе, мы обнаружили, что нам нравятся книги самых разных жанров и стилей. Тогда нам стало интересно провести среди системных администраторов Selectel опрос по трем темам: что нравится из классики, какая книга любимая и что читают сейчас. Получилась большая литературная подборка, где сисадмины делятся своими личными впечатлениями от прочитанных книг.
Читать дальше →

Балансировка нагрузки и масштабирование долгоживущих соединений в Kubernetes

Время на прочтение9 мин
Количество просмотров19K

Эта статья, которая поможет разобраться в том, как устроена балансировка нагрузки в Kubernetes, что происходит при масштабировании долгоживущих соединений и почему стоит рассматривать балансировку на стороне клиента, если вы используете HTTP/2, gRPC, RSockets, AMQP или другие долгоживущие протоколы. 
Читать дальше →

Руководство по Git. Часть №2: золотое правило и другие основы rebase

Время на прочтение6 мин
Количество просмотров29K
Посмотрим, что происходит, когда вы выполняете git rebase и почему нужно быть внимательным. 

Это вторая и третья части гайда по Git из блога Pierre de Wulf в переводе команды Mail.ru Cloud Solutions. Первую часть можно почитать тут.
Читать дальше →

Давайте уже разберемся в DNS

Время на прочтение8 мин
Количество просмотров448K

image
Внимательный читатель найдет на этой картинке IPv6


Люди часто озадачены доменами. Почему мой сайт не работает? Почему эта хрень поломана, ничего не помогает, я просто хочу, чтобы это работало! Обычно, вопрошающий или не знает про DNS, или не понимает фундаментальных идей. Для многих DNS — страшная и непонятная штука. Эта статья — попытка развеять такой страх. DNS — это просто, если понять несколько базовых концепций.


Что такое DNS


DNS расшифровывается как Domain Name System. Это глобальное распределенное хранилище ключей и значений. Сервера по всему миру могут предоставить вам значение по ключу, а если им неизвестен ключ, то они попросят помощи у другого сервера.


Вот и все. Правда. Вы или ваш браузер запрашивает значение для ключа www.example.com, и получает в ответ 1.2.3.4.

Читать дальше →

10 интересных репозиториев на GitHub, полезных любому разработчику

Время на прочтение4 мин
Количество просмотров84K
Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО.


Фото с ресурса Unsplash. Автор: Vishnu R Nair

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

Каждый из них имеет множество звезд на GitHub, что только подтверждает их популярность, актуальность и полезность. Одни репозитории научат вас чему-то новому, благодаря другим вы сможете создать какие-то классные штуки. В целом, используя их, можно основательно прокачать навык разработки программного обеспечения.
Читать дальше →

«Правила роста: от джуниора до CTO», конспект вебинара Фёдора Борщёва

Время на прочтение6 мин
Количество просмотров13K

Фёдор Борщёв — CTO в маркетплейсе стройматериалов «ГдеМатериал», сооснователь rumetr.com и популяризатор чистоты кода. Пишет в блог, телеграм-канал @pmdaily и в советы о разработке в Бюро Гобрунова.


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


За три часа Фёдор прошёлся по темам:


  • управление проектами;
  • общение с людьми;
  • продукт и бизнес;
  • личные цели.

Читать дальше →

WireGuard — прекрасный VPN будущего?

Время на прочтение4 мин
Количество просмотров392K

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


Проблема текущих VPN решений в том, что их тяжело правильно настроить, дорого обслуживать, а так же в них полно legacy кода сомнительного качества.


Несколько лет назад канадский специалист по информационной безопасности Jason A. Donenfeld решил, что хватит это терпеть, и начал работу над WireGuard. Сейчас WireGuard готовится к включению в состав ядра Linux, он даже получил похвалы от Линуса Торвальдса и в американском сенате.


Заявленные преимущества WireGuard над другими VPN решениями:


  • Простой в использовании.
  • Использует современную криптографию: Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF и т.д.
  • Компактный читаемый код, проще исследовать на уязвимости.
  • Высокая производительность.
  • Четкая и проработанная спецификация.

Неужели найдена серебрянная пуля? OpenVPN и IPSec пора закапывать? Я решил с этим разобраться, а заодно сделал скрипт для автоматической установки личного VPN сервера.

Читать дальше →

Packer, Terraform и Ansible: деплой кластера Kubernetes за час

Время на прочтение16 мин
Количество просмотров23K


Привет, меня зовут Андрей Щукин, я помогаю крупным компаниям мигрировать сервисы и системы в Облако КРОК. Вместе с коллегами из компании Southbridge, которая проводит в учебном центре «Слёрм» курсы по Kubernetes, мы недавно провели вебинар для наших заказчиков.

Я решил взять материалы отличной лекции Павла Селиванова и написать пост для тех, кто ещё только начинает работать с инструментами provisioning’а облаков и не знает, с чего начать. Поэтому я расскажу про стек технологий, которые используются у нас в обучении и продакшене Облака КРОК. Поговорим о современных подходах к управлению инфраструктурой, про связку компонентов Packer, Terraform и Ansible, а также про инструмент Kubeadm, с помощью которого мы будем производить установку.

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

Не давайте имён курам
Печёные пирожки полезнее жареных
Начинаем печь. Packer
Terraform — инфраструктура как код
Запуск Terraform
Структура кластера Kubernetes
Kubeadm
Репозиторий со всеми файлами
Читать дальше →

DNS-поиск в Kubernetes

Время на прочтение5 мин
Количество просмотров28K
Прим. перев.: Проблема DNS в Kubernetes, а точнее — настройки параметра ndots, — на удивление популярна, причём уже не первый год. В очередной заметке по этой теме её автор — DevOps-инженер из крупной брокерской компании в Индии — в весьма простой и лаконичной манере рассказывает, о чём полезно знать коллегам, эксплуатирующим Kubernetes.



Одно из главных преимуществ развёртывания приложений в Kubernetes — беспроблемное обнаружение приложений. Внутрикластерное взаимодействие сильно упрощается благодаря концепции сервиса (Service), которая представляет собой виртуальный IP, поддерживающий набор IP-адресов pod'ов. Например, если сервис vanilla желает связаться с сервисом chocolate, он может обратиться напрямую к виртуальному IP для chocolate. Возникает вопрос: кто в данном случае разрешит DNS-запрос к chocolate и как?
Читать дальше →
1

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность