• Что происходит в Kubernetes при запуске kubectl run? Часть 2

    • Перевод


    Прим. перев.: Вторая и заключительная часть перевода материала, озаглавленного в оригинале как «What happens when… Kubernetes edition!» и рассказывающего о том, какие процессы (каких компонентов и в какой последовательности) происходят в Kubernetes на примере выполнения команды, разворачивающей в кластере 3 пода с nginx.

    Если первая часть была посвящена работе kubectl, kube-apiserver, etcd и инициализаторам, то теперь речь пойдёт про контроллеры Deployments и ReplicaSets, информаторы, планировщик и kubelet. Напомню, что мы остановились на моменте, когда переданный пользователем (через kubectl) запрос был авторизован и выполнен в Kubernetes, новые объекты (ресурсы) — созданы и сохранены в базу данных (etcd), после чего — инициализированы (т.е. стали видимыми для apiserver).
    Читать дальше →
    • +22
    • 5,5k
    • 2
  • Иллюстрированное руководство по устройству сети в Kubernetes

    • Перевод
    Прим. перев.: Автор статьи — Amanpreet Singh — называет себя «всё ещё начинающим в мире сетей», однако именно это и побудило его разобраться в их базовом устройстве в Kubernetes (который он использует в production), а затем — поделиться с сообществом очень доступным материалом с наглядными иллюстрациями. В оригинале он разбит на две части, однако в этом переводе мы объединили их в одну статью.



    Вот вы запустили множество сервисов в кластере Kubernetes и пожинаете плоды… или хотя бы собираетесь это сделать. Однако, даже несмотря на существование ряда утилит для настройки кластера и управления им, вам всё же интересно, как всё работает «под капотом». Куда смотреть, если что-то сломается? По себе знаю, что это важно.
    Читать дальше →
    • +38
    • 13,4k
    • 2
  • Учимся надежно управлять Kubernetes

    • Перевод

    Недавно мы создали распределенную систему планирования cron-заданий на основе Kubernetes – захватывающей новой платформы для управления кластером контейнеров. Сейчас Kubernetes занимает лидирующие позиции и предлагает множество интересных решений. Одно из основных его достоинств – то, что инженерам не нужно знать, на каких машинах работают их приложения.
    Распределенные системы по-настоящему сложны, и управление их службами – одна из самых больших проблем, с которыми сталкиваются операционные группы. Внедрить новое программное обеспечение в производство и научиться надежно управлять им – задача, к которой стоит относиться серьезно. Чтобы понять, почему обучение работе с Kubernetes важно (и почему это сложно!), мы предлагаем ознакомиться с фантастическим одночасовым переключением, вызванным ошибкой в Kubernetes.


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

    Читать дальше →
    • +11
    • 8,5k
    • 1
  • Удивительно полезный инструмент: lsof

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

    image
    Читать дальше →
  • Фантастические инди-игры: Odyssey, Kerbal Space Program, ChromaGun и другие


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

      Читать дальше →
    • Как создавалась онлайн-платформа для изучения английского языка

      • Tutorial
      image

      EnglishDom — онлайн-школа английского языка по скайпу, обучаем с 2010 года. Сейчас в нашем штате более 300 человек, мы провели 600 000+ скайп-уроков и помогли 10 000 студентов достичь своих целей в изучении английского языка.

      В сентябре 2017 года мы разработали и запустили собственную онлайн-платформу для изучения английского языка — EnglishDom Class. Как мы ее создавали, расскажем в этой статье.
      Читать дальше →
    • Почему ваш мозг ненавидит других людей

      • Перевод

      И как заставить его думать по-другому


      image

      Ребёнком я увидел версию фильма «Планета обезьян» от 1968 года. Как будущий приматолог я был им заворожён. Много лет спустя я нашёл анекдот о съёмках этого фильма: в обед люди, игравшие шимпанзе, и люди, игравшие горилл, ели отдельными группами.

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

      Все люди проводят разделительную черту «свой/чужой» по расам, этническим признакам, полу, языковой группе, религии, возрасту, социально-экономическому статусу, и так далее. И в этом нет ничего хорошего. Мы делаем это удивительно быстро и эффективно с нейробиологической точки зрения. У нас существует сложная систематика и классификация способов, которыми мы наговариваем на «них». Мы делаем это с изменчивостью, варьирующейся от мелкой минутной агрессии до дикарской резни. А также мы постоянно определяем, что плохого в «них», основываясь на чистых эмоциях, за которыми следует примитивная рационализация, которую мы путаем с рациональностью. Грустно.
      Читать дальше →
    • Что за болезнь: рак. История лечения

        Злокачественная опухоль отличается от других видов опухолей и заболеваний тем, что её клетки схожи со здоровыми клетками организма. Поэтому перед учеными стоит непростая задача: различить клетки и уничтожить только зараженные. На протяжении истории у врачей были разные идеи о том, как это сделать. Сегодня Атлас расскажет о том, как развивалась онкология и чем лечат рак в наши дни.


        Иллюстрации: Майкл Ковальски
        Читать дальше →
      • Тюнинг сетевого стека Linux для ленивых

        • Tutorial

        Сетевой стек Linux по умолчанию замечательно работает на десктопах. На серверах с нагрузкой чуть выше средней уже приходится разбираться как всё нужно правильно настраивать. На моей текущей работе этим приходится заниматься едва ли не в промышленных масштабах, так что без автоматизации никуда – объяснять каждому коллеге что и как устроено долго, а заставлять людей читать ≈300 страниц английского текста, перемешанного с кодом на C… Можно и нужно, но результаты будут не через час и не через день. Поэтому я попробовал накидать набор утилит для тюнинга сетевого стека и руководство по их использованию, не уходящее в специфические детали определённых задач, которое при этом остаётся достаточно компактным для того, чтобы его можно было прочитать меньше чем за час и вынести из него хоть какую-то пользу.

        Читать дальше →
      • Наш опыт с Kubernetes в небольших проектах (обзор и видео доклада)

          Дмитрий Столяров (Флант) с докладом про Kubernetes на RootConf, РИТ++ 2017

          6 июня на конференции RootConf 2017, проходившей в рамках фестиваля «Российские интернет-технологии» (РИТ++ 2017), в секции «Непрерывное развертывание и деплой» прозвучал доклад «Наш опыт с Kubernetes в небольших проектах». В нём рассказывалось об устройстве, принципах работы и основных возможностях Kubernetes, а также о нашей практике использования этой системы в небольших проектах.

          По традиции мы рады представить видео с докладом (около часа, гораздо информативнее статьи) и основную выжимку в текстовом виде.
          Читать дальше →
        • Создаём постоянное хранилище с provisioning в Kubernetes на базе Ceph

          • Перевод
          • Tutorial

          Предисловие переводчика: Когда мы собрались наконец-то подготовить свой материал по разворачиванию Ceph в Kubernetes, нашли уже готовую и, что немаловажно, свежую (от апреля 2017 года) инструкцию от компании Cron (из Боснии и Герцеговины) на английском языке. Убедившись в её простоте и практичности, решили поделиться с другими системными администраторами и DevOps-инженерами в формате «как есть», лишь добавив в листинги один небольшой недостающий фрагмент.

          Программно-определяемые хранилища данных набирают популярность последние несколько лет, особенно с масштабным распространением частных облачных инфраструктур. Такие хранилища являются критической частью Docker-контейнеров, а самое популярное из них — Ceph. Если хранилище Ceph уже используется у вас, то благодаря его полной поддержке в Kubernetes легко настроить динамическое создание томов для хранения (volume provisioning) по запросу пользователей. Автоматизация их создания реализуется использованием Kubernetes StorageClasses. В этой инструкции показано, как в кластере Kubernetes реализуется хранилище Ceph.
          Читать дальше →
          • +20
          • 11,2k
          • 8
        • Что намазать на зубы, чтобы они не выпали


            Хорошо зафиксированный пациент в анестезии не нуждается

            По многочисленным просьбам трудящихся сегодня мы будем заниматься очень важными вопросами:


            • Как правильно мазать зубы пальцем?
            • Хорошо ли растворяются пломбы в кислоте?
            • Почему больно, когда сверлят зубы дрелью без анестезии?
            • Зачем мазать зубы зеленкой?
            • Лечение кариеса на дому
            • Глубокое микрофторирование эмали

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

            Читать дальше →
          • Делаем свой friGate с анонимностью и без рекламы

            Введение

            Всем хороши плагины для обхода блокировок вроде популярного friGate, но есть у них один минус — любят встраивать свою рекламу и в перспективе следить за всем, что вы делаете в интернете.

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

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

            Попробуем добиться удобства, аналогичного friGate с использованием сервисов, находящихся полностью под нашим контролем.
            Нам понадобятся: выделенный сервер с Linux/FreeBSD (я использовал Ubuntu), домен, letsencrypt, squid и немного магии PAC-файлов.

            Домен можно взять бесплатный 3-го уровня от вашего хостера или тут: freedomain.co.nr, registry.cu.cc.

            Squid поддерживает шифрованое соединение с браузером — именно то, что нужно для такого случая.
            Эта возможность почему-то практически неизвестна широкой публике, поэтому появился этот пост.

            image

            Читать дальше →
          • Тестирование документированного API с помощью утилиты Dredd от Apiary

            • Tutorial

            Все мы любим ничего не делать работать с хорошо документированным API. С помощью стандартов API Blueprint или Swagger можно получить читаемую машиной и человеком документацию, а значит и инструменты проверки API на основе этой документации.


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


            image


            В этом tutorial поговорим о утилите Dredd на примере API от GitHub.

            Читать дальше →
          • Заставляем сервис php-fpm 5.6, запущенный через systemd, читать глобальные переменные окружения

              Это короткий how-to для реализации конфигурации php-сервиса, зависимого от окружения, в котором он запущен. Я буду рад, если кто-то подскажет более изящное решение или поправит в мелочах.

              Основная идея


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

              Проблема

              В этой статье слишком много раз повторяется «переменные окружения».
              Из коробки php-fpm игнорирует глобальные переменные окружения (getenv function), в то время как php cli их может получать.
              Читать дальше →
            • Как Discord хранит миллиарды сообщений

              • Перевод


              Discord продолжает расти быстрее, чем мы ожидали, как и пользовательский контент. Чем больше пользователей — тем больше сообщений в чате. В июле мы объявили о 40 млн сообщений в день, в декабре объявили о 100 млн, а в середине января преодолели 120 млн. Мы сразу решили хранить историю чатов вечно, так что пользователи могут вернуться в любой момент и получить доступ к своим данным с любого устройства. Это много данных, поток и объём которых нарастает, и все они должны быть доступными. Как мы это делаем? Cassandra!
              Читать дальше →
            • Пять причин, почему вам придется выучить английский язык

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

                Мы проанализировали опыт наших учеников и собрали примеры ситуаций, когда знание английского становится необходимым. Давайте посмотрим, что в итоге получилось.
                Читать дальше →
              • Почему мы уверены в том, что развернули

                  image
                  Часто бывает, когда что-то не работает. И никто не хочет, чтобы что-то не работало по его вине. В контексте больших инфраструктур и распределенных приложений ошибка конфигурации может быть фатальной.

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

                  Статья будет интересна командам, которые практикуют DevOps или SRE, ответственным Dev, и прочим хорошим людям.
                  Читать дальше →
                  • +21
                  • 9,7k
                  • 9
                • Разнообразный и мотивирующий «Английский онлайн»

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

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