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

    • Tutorial

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


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


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

    Читать дальше →
  • Краткое руководство по разработке чартов в Helm

    • Перевод
    Unsplash by Frank Eiffert

    Helm — мощный инструмент для применения, обновления и управления приложениями в Kubernetes. Сообщество Helm создает множество чартов с открытым исходным кодом. Вы можете развернуть Redis, Nginx или Prometheus Operator с помощью одной команды. И они поставляются со всем, что нужно, например с Ingress.

    Команда Mail.ru Cloud Solutions перевела статью, автор которой описывает быстрый способ создания базового чарта, показывает полезные команды и делится лучшими практиками. Он не останавливается на аспектах языка шаблонов Go, поскольку большинство из них описаны в документации по Helm. В этом руководстве — более абстрактные аспекты и идеи по улучшению рабочего процесса.
    Читать дальше →
    • +24
    • 4,8k
    • 1
  • Ускоряем Ansible

      Турбокомпрессор в разрезе

      Ни для кого не секрет, что с настройками «по умолчанию» Ansible может делать своё дело не слишком быстро. В статье я укажу на несколько причин этого и предложу полезный минимум настроек, которые, вполне возможно, реально увеличат скорость работы вашего проекта.
      Cтавим турбо на сток!
    • В одной лодке с «ублюдком»: 11 продвинутых советов по использованию Git

      *"ублюдок" — вольный перевод слова "git" — "an unpleasant or contemptible person", "неприятный или презренный человек".



      В комментариях к статье 15 базовых советов по Git для эффективной работы каждый день развернулась дискуссия на тему эффективности использования тех или иных команд и опций. Надо признать, что git предоставляет столько различного функционала, что во-первых, за всем становится невозможно уследить, а во-вторых, его можно совершенно по-разному вписывать в рабочий процесс.


      Давайте посмотрим, что можно использовать, чтобы улучшить себе жизнь. Статья предполагает, что читатель умеет пользоваться основными возможностями git и понимает что делает, когда, скажем, вводит в консоль git rebase --merge --autostash.

      Читать дальше →
    • Развертывание OpenSource Puppet 4 с несколькими Puppet masters. Часть I. Подготовительная

      • Tutorial
      Развертывание OpenSource Puppet 4 с несколькими Puppet masters. Часть II. Настройка Puppet Masters
      Развертывание OpenSource Puppet 4 с несколькими Puppet masters. Часть III. Настройка puppet-db с помощью Puppet

      Предисловие


      Мой опыт использования puppet. До написания настоящей статьи, я работал с Open Source Puppet версии 3 в stand alone конфигурации, и использовал его для управления несколькими сотнями хостов. Но пришло время расти: количество управляемых хостов вышло за тысячу, и грозит в ближайшем будущем перевалить за несколько тысяч. Было принято решение для распределения нагрузки и повышения отказоустойчивости развернуть Open Source Puppet версии 4 с несколькими серверами Puppet Master и отдельным сервером PuppetDB с postgresql. А также использовать для хранения окружений с конфигурациями конечных хостов git-репозиторий на git-сервере.

      Краткий обзор статей на habrahabr по развертыванию Puppet


      Вначале хотел бы предложить краткий обзор уже имеющийся статей на habrahabr.

      Настройка современного Puppet сервера с нуля
      Перевод статьи «Setup of modern Puppet of the server from scratch» выполненный grundic, оригинал которой мне удалось найти только в кэше гугла. Эта статья была взята мной за основу при подготовке публикации. Детали, описанные в оригинале статьи «Setup of modern Puppet of the server from scratch», как и дополнения переводчика в ее переводе, уже успели немного устареть. Это, а также желание поделиться описанием дополнительных тонкостей, побудило меня к написанию собственной статьи.
      Читать дальше →
    • 5 самых популярных вопросов при внедрении service mesh в корпорации на примере Istio

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

        image
        Читать дальше →
      • Введение в GitOps для OpenShift

          Сегодня мы расскажем о принципах и моделях GitOps, а также о том, как эти модели реализуются на платформе OpenShift. Интерактивное руководство на эту тему доступно по ссылке.



          Если вкратце, то GitOps – это набор практических методов использования pull-запросов Git для управления конфигурациями инфраструктуры и приложений. Git-репозиторий в рамках GitOps рассматривается как один единственный источник сведений о состоянии системы, причем любые изменения этого состояния полностью отслеживаются и поддаются аудиту.
          Читать дальше: Введение в GitOps для OpenShift
        • Упрощаем миграцию с OpenShift 3 на OpenShift 4

            Итак, состоялся официальный запуск платформы Red Hat OpenShift 4. Сегодня мы расскажем, как перейти на нее с OpenShift Container Platform 3 максимально быстро и просто.



            В рамках этой статьи нас прежде всего интересуют новые кластеры OpenShift 4, использующие возможности умной и неизменной (immutable – одинаковой для всех сред развертывания) инфраструктуры на основе RHEL CoreOS и средств автоматизации. Ниже мы покажем, как перейти на OpenShift 4 без лишних проблем.
            Читать дальше: Упрощаем миграцию с OpenShift 3 на OpenShift 4
          • Red Hat Universal Base Image (UBI) строить и жить помогает

              Контейнеры представляют собой облегченную версию пользовательского пространства операционной системы Linux – фактически, это «голый» минимум. Тем не менее, это все равно полноценная операционная система, и поэтому качество этого самого контейнера так же важно, как полновесной операционной системы. Именно поэтому долгое время мы предлагали образы Red Hat Enterprise Linux (RHEL), чтобы пользователи могли иметь сертифицированные, современные и актуальные контейнеры корпоративного уровня. Запуск образов контейнеров (container images) RHEL на хостах контейнеров (container hosts) RHEL обеспечивает совместимость и переносимость между средами, не говоря уже о том, что это – уже знакомые инструменты. Была, правда, одна проблема. Вы не могли просто передать такой образ кому-то еще, даже если речь шла о заказчике или партнере, использующем Red Hat Enterprise Linux.



              Но теперь все изменилось
              Читать дальше: Build, Share, Collaborate
            • Podman и Buildah для пользователей Docker

                Хотя есть много хороших блогов и учебников по Podman и Buildah, пользователям Docker явно не хватает ясных и четких разъяснений на тему, как им перейти на Podman, зачем нужен Buildah и в других вопросах подобного рода.



                Постараемся ответить на эти вопросы и рассказать, как безболезненно мигрировать с Docker на Podman.
                Читать дальше: Podman и Buildah для пользователей Docker
              • Как мы в ЦИАН укрощали терабайты логов



                  Всем привет, меня зовут Александр, я работаю в ЦИАН инженером и занимаюсь системным администрированием и автоматизацией инфраструктурных процессов. В комментариях к одной из прошлых статей нас попросили рассказать, откуда мы берем 4 ТБ логов в день и что с ними делаем. Да, логов у нас много, и для их обработки создан отдельный инфраструктурный кластер, который позволяет нам оперативно решать проблемы. В этой статье я расскажу о том, как мы за год адаптировали его под работу с постоянно растущим потоком данных.
                  Читать дальше →
                • Создание Warcraft (часть 1)

                  • Перевод
                  Введение (от переводчика)


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

                  Патрик, автор статьиИ вот недавно случилось интересное — Патрик Вайат (Patrick Wyatt), один из тех людей, кто стоял у истоков Blizzard, и человек, который затеял разработку Warcraft начал цикл воспоминаний о тех временах. Первая статья, которую я вам предлагаю прочитать ниже — о начале разработки Warcraft. О том, откуда появилась идея; о том, какая сеть была организована у ребят в офисе, пока они грезили о мультиплеере; о EMS и тонкостях эстетики программирования под DOS; о команде проекта и так далее.

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

                  Это касается, понятное дело, и любых других неточностей, опечаток, пунктуации и стилистики.




                  image Давным давно, в начале времен, когда игры для PC писались под операционной системой DOS, я начал работать над игрой под названием Warcraft.

                  Читать дальше →
                • Как создавался World of Warcraft: взгляд изнутри на 20 лет разработки

                  • Перевод
                  Уже в течение 14 лет World of Warcraft остаётся не только активным, но и актуальным. Он не стал основателем жанра MMORPG, но продолжает эволюционировать вместе с ним. World of Warcraft был продан миллионами копий, заработал миллиарды долларов и выиграл сотни наград. После выпуска седьмого расширения — Battle for Azeroth, WoW по-прежнему может похвастаться растущей базой поклонников.


                  Нам позируют некоторые из бывших лидеров фракций World of Warcraft. [Все изображения из статьи принадлежат Blizzard Entertainment.]

                  С самого начала World of Warcraft задумывался как ответ другим играм; игроки в успешные MMO задавались вопросом — может ли игровой процесс может быть лучше? После выхода таких игр, как Ultima Online и Everquest, команда разработчиков из Blizzard Entertainment перенесла игроков в Азерот (Azeroth), впервые появившийся в Warcraft 3. Игроки могли исследовать обширный мир, заполненный героями, злодеями, богами и монстрами в игровом процессе, который был гораздо более дружелюбным к пользователю, чем в играх-конкуренртах. Я сам играл в эти старые MMOs; я помню анархию и убийство игроков (вы не забыли Corp Por) в Ultima Online и собирание игроками толп мобов, беготню без брони до своего трупа и жёсткий гринд в Everquest. По сравнению с этим World of Warcraft был похож на глоток свежего воздуха.

                  Разработка игр сложна. Игры постоянно терпят крах — иногда потому, что плохи, иногда они просто не находят подходящую аудиторию. Выпустить успешную игру трудно, а поддерживать её успешность больше десяти лет требует сочетания ремесла, любви и удачи. Это видно по тому, что куча сломанных конкурентов World of Warcraft осталась на заре MMORPG. В течение последних 14 лет World of Warcraft расцветал благодаря тому, что разработчики учитывали ощущения игроков и учились больше общаться с сообществом.
                  Читать дальше →
                • Глубокое погружение в Linux namespaces

                  • Перевод

                  Часть 1
                  Часть 2
                  Часть 3
                  Часть 4


                  В этой серии постов мы внимательно рассмотрим один из главных ингредиентов в контейнере – namespaces. В процессе мы создадим более простой клон команды docker run – нашу собственную программу, которая будет принимать на входе команду (вместе с её аргументами, если таковые имеются) и разворачивать контейнер для её выполнения, изолированный от остальной системы, подобно тому, как вы бы выполнили docker run для запуска из образа.

                  Читать дальше →
                  • +39
                  • 43k
                  • 9
                • Япония: страна настолько здравого смысла, что он для нас местами иррационален



                    С того момента, когда у вас появляется подруга-анимешница, вы только и слышите, что о Японии. Какие там все странные. Как там круто. Как вас зарежут за невежливое слово. И так далее. Для меня это всегда были ниндзя, самураи, якудза, аниме, богиня Кэнон для фотоаппарата, электроника, суши и щупальца. Думаю, вы можете продолжить список.

                    На месте оказалось, что всё это есть, но это не главное. Это просто мелочи. Главное то, что если мы будем когда-нибудь строить космические города, я знаю, кто лучше всех справится. Потому что Япония сейчас — это очень технологичная и при этом очень зелёная страна. Они умудрились в одном из самых технологичных городов мира вписать красоту в каждую мелочь и сохранить ощущение, что ты на природе. И максимально эффективно распорядиться ресурсами, включая мусор. И при этом их не беспокоит недоделанность и несовершенство мира вокруг — у нас красота бывает только в оконченном состоянии, а у них ещё и в процессе. То есть всё время.

                    И вся вот эта лютая хрень, которую вы слышали про страну, на самом деле логично следует из предпосылок, которые есть в базовом культурном коде. Сейчас расскажу.
                    Читать дальше →
                  • Шпаргалки по безопасности: Docker



                      Docker контейнеры — самая популярная технология для контейнеризации. Изначально она использовалась в основном для dev и test окружений, со временем перешла и в production. Docker контейнеры начали плодиться в production среде, как грибы после дождя, однако мало из тех, кто использует данную технологию, задумывался о том, как же безопасно публиковать Docker контейнеры.

                      Основываясь на OWASP, мы подготовили список правил, выполнение которых позволит значительно обезопасить ваше окружение, построенное на Docker контейнерах.
                      Читать дальше →
                      • +29
                      • 27,2k
                      • 5
                    • Следим за качественными цифровыми релизами фильмов без суеты

                      • Tutorial


                      В большинстве случаев качественные нелегальные раздачи какого-то фильма начинают появляться только после цифрового релиза (не путайте цифровые релизы с премьерами в кинотеатрах), т.е. в VOD-сервисах или на Blu-ray. Под качественными подразумеваются BDRip 1080p, BDRemux и UHD BDRemux, самый минимум — это WEB-DL 1080p (чаще всего из iTunes), с русскоязычными звуковыми дорожками от лицензионного издания Blu-ray или из iTunes. А до этого с раздачами фильма творится чехарда с комбинацией мха и опилок, которая может ввести в заблуждение зрителя, желающего смотреть новинки с хорошим качеством.
                      Читать дальше →
                    • Обзор свободного ПО для Android



                      Привет Хабр.

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

                      И так, можно ли пользоваться мобильным устройством без серьёзного ущерба для приватности?

                      Ответ — да, можно, но для этого необходимо избавиться от ПО и сервисов, бесконтрольно собирающих данные. Для этого понадобится желание что-то изменить и любое устройство на которое можно установить кастомную систему Android (iOS по понятным причинам не рассматривается, а из альтернатив только SailfishOS и GNU/Linux, но эти системы можно установить на очень ограниченное число моделей). Всех кто заинтересовался я приглашаю под кат.
                      Читать дальше →
                    • Иди-ка ты на !@# со своей «токсичностью»

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

                        Так какого же чёрта моё прекрасное IT превращается в детский сад «Весёлый Програм-Мишка»?
                        Читать дальше →
                      • Хватит делать сайты с бесконечной прокруткойǃ

                        • Перевод


                        TL;DR. Хотя бесконечная прокрутка подходит для некоторых случаев, но она может создать проблемы.

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

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