• 9 лучших практик по обеспечению безопасности в Kubernetes

    • Перевод
    Прим. перев.: Это уже не первая статья с общими рекомендациями по безопасности в Kubernetes, что мы переводим в своём блоге. Однако её актуальность — по меньшей мере, как напоминание о простых и важных вещах, на которые не стоит закрывать глаза из-за нехватки времени, — только подтверждается недавними событиями, упоминаемыми автором в начале материала. К слову, автором является Connor Gilbert — менеджер продуктов компании StackRox, предлагающей готовую платформу для обеспечения безопасности приложений, разворачиваемых в рамках Kubernetes-кластеров. Итак, вот что он советует читателям блога CNCF…

    NB: Чтобы сделать статью более информативной, для некоторых из упоминаемых автором терминов/методов мы добавили ссылки на соответствующую документацию.




    В прошлом месяце в Kubernetes, самой популярной в мире системе оркестровки контейнеров, обнаружили первую крупную уязвимость в безопасности, что ударило по экосистеме проекта. Уязвимость CVE-2018-1002105 даёт возможность злоумышленникам скомпрометировать кластеры через API-сервер Kubernetes, что позволяет исполнять вредоносный код для установки malware и т.п.
    Читать дальше →
  • Плагин kubectl-debug для отладки в pod'ах Kubernetes



      В конце прошлого года на Reddit представили плагин к kubectl, помогающий производить отладку в pod'ах кластера Kubernetes — kubectl-debug. Эта идея сразу же показалась интересной и полезной нашим инженерам, так что мы решили посмотреть на её воплощение и рады поделиться своими результатами с читателями хабры.
      Читать дальше →
      • +33
      • 2,3k
      • 5
    • Приключения с домашним Kubernetes-кластером

      • Перевод
      Прим. перев.: Автор статьи — Marshall Brekka — занимает позицию директора по проектированию систем в компании Fair.com, предлагающей своё приложение для лизинга автомобилей. В свободное же от работы время он любит применять свой обширный опыт для решения «домашних» задач, которые вряд ли удивят любого гика (посему вопрос «Зачем?» — применительно к описанным дальше действиям — априори опущен). Итак, в своей публикации Marshall делится результатами недавнего развёртывания Kubernetes на… ARM-платах.



      Как и у многих других гиков, за прошедшие годы у меня накопились разнообразные платы для разработки вроде Raspberry Pi. И как и у многих гиков, они пылились на полках с мыслью, что когда-нибудь пригодятся. И вот для меня этот день наконец-то настал!
      Читать дальше →
    • English notes #1: Заканчивай с этим «very»

        Прим. ред.: Этой статьёй мы начинаем цикл публикаций, посвящённых английскому языку и подготовленных нашим штатным учителем для инженеров компании (в данном случае — на основе видеоурока engVid, JamesESL English Lessons). С одной стороны — нам нужно изучать язык, с другой — нравится это делать, а с третьей — почему бы не разбавить технические материалы своего блога? Ваши отзывы очень приветствуются!

        Слово «very» очень популярно в английском языке, да и не только. Однако, употребляя его слишком часто, вы можете прослыть косноязычным или попросту Эллочкой-людоедочкой.



        Как известно, в великом романе-эпопее «Война и Мир» Лев Николаевич не совершает повторов на протяжении каждых трех страниц(!). Не это ли искусство? Однако, не будем долго мечтать — let's get down to business.
        Читать дальше →
      • [Иллюстрированное] Руководство по устройству сети в Kubernetes. Часть 3

        • Перевод
        Прим. перев.: Эта статья продолжает цикл материалов о базовом устройстве сетей в Kubernetes, что описывается в доступной форме и с наглядными иллюстрациями (впрочем, конкретно в этой части иллюстраций уже практически не оказалось). Переводя две предшествующие части этого цикла, мы объединили их в одну публикацию, в которой рассказывалось о сетевой модели K8s (взаимодействие внутри узлов и между узлами) и оверлейных сетях. Её предварительное чтение желательно (рекомендуется самим автором). Продолжение же посвящено сервисам Kubernetes и обработке исходящего и входящего трафика.
        NB: Текст автора для удобства дополнен ссылками (преимущественно — на официальную документацию K8s).


        Читать дальше →
        • +16
        • 4,9k
        • 1
      • Представляем библиотеку kubedog для слежения за ресурсами Kubernetes

          Рады анонсировать новую Open Source-разработку компании «Флант» для DevOps-специалистов и не только — kubedog. Это написанная на Go библиотека и CLI на её основе для отслеживания событий ресурсов Kubernetes и сбора их логов.


          На данный момент библиотека поддерживает слежение за следующими ресурсами: Pod (и Container), Job, Deployment, StatefulSet и DaemonSet. События и логи передаются через callback’и.
          Читать дальше →
          • +28
          • 3,8k
          • 5
        • Slack банит аккаунты из Крыма

            Минувшим вечером один из сотрудников нашей компании «внезапно и без объявления войны» получил следующую весть от корпоративного Slack'а про санкции США «к определённым странам и регионам, таким как Куба, Иран, Северная Корея, Сирия и регион Украины Крым»:



            Особенно неприятным прозвучало завершение: «closing the account effective immediately».
            Читать дальше →
          • Как поддерживать здоровые привычки в коммуникации удалённых команд

            • Перевод
            Прим. перев.: Эта статья написана Taurie Davis — дизайнером из GitLab, которая любит «выявлять проблемы, создавать надёжные решения и творить интуитивно понятные интерфейсы». В ней даются простые советы о том, как наладить коммуникации далеко не только в удалённых командах, но и в нашей повседневной жизни. Даже если они покажутся очевидными, их ценность проявляется тогда, когда мы не забываем их постоянно применять, формируя полезную и выигрышную для всех привычку.

            У себя в компании («Флант») мы регулярно проводим performance review для всех инженеров (и не только) и постоянно работаем над тем, чтобы улучшать этот процесс. В частности, на них разбираются и сложности коммуникации — как общие, так и индивидуальные. Посему поднятые автором проблемы нам близки не только в теории: они отлично пересекаются с тем практическим опытом, что накоплен у нас. Надеюсь, их осмысление окажется полезным и для других.


            xkcd #1028: «Communication» (см. также его расшифровку)

            Коммуникация на рабочем месте может оказаться непростой проблемой. Недопонимания и напряжённость — обычное явление, особенно в случае «асинхронного общения» (возникает при использовании тикетов и электронной почты вместо онлайн-чатов — прим. перев.), где ещё меньше ключей к пониманию голоса и его тона. Прямая коммуникация может восприниматься как жёсткая или грубая. А когда ко всему этому добавляется ещё и упущенный контекст, то ошибки в коммуникации и эмоции могут превзойти саму суть разговора. Улучшить взаимопонимание и коммуникации с течением времени поможет сознательное отношение к потребностям команды и к вашим собственным потребностям.
            Читать дальше →
            • +25
            • 5,5k
            • 4
          • Музыкальные пародии от SUSE про Kubernetes, Линуса Торвальдса и других

              На прошлой неделе коллеги внезапно обнаружили музыкальный видеоклип «Kubernetes», который приятно удивил своим уровнем. Непродолжительное «расследование» показало, что за ним стоит SUSE Band — музыкальная группа при компании SUSE, что ныне входит в состав Micro Focus International и широко известна в Open Source- и вообще ИТ-сообществе своим продолжительным опытом по разработке линейки Linux-дистрибутивов и ряда связанных с ними продуктов.



              Помимо собственно качественной работы и наличия уже приличного послужного списка SUSE Band (подробнее см. ниже), впечатлил состав группы: на барабанах играет старший архитектор, с гитарой — консультант по продажам SUSE Enterprise, а бас — у старшего инженера по продажам (да, это не опечатка в названии должности). За текстом этой и других песен также стоят сотрудники компании. Какой отличный ход: и самореализация коллектива в хобби, и вирусный маркетинг, и сообществу радость! Посему в эту пятницу мы решили разбавить свои технические публикации представлением нескольких особенно понравившихся клипов SUSE Band. Их лирика переведена и местами дополнена поясняющими ссылками.
              Читать дальше →
            • Kubernetes tips & tricks: о выделении узлов и о нагрузках на веб-приложение



                В продолжение наших статей с практическими инструкциями о том, как облегчить жизнь в повседневной работе с Kubernetes, рассказываем о двух историях из мира эксплуатации: выделении отдельных узлов под конкретные задачи и конфигурации php-fpm (или другого сервера приложений) под большие нагрузки. Как и прежде, описанные здесь решения не претендуют на идеал, а предлагаются как отправная точка для ваших конкретных случаев и почва для размышлений. Вопросы и улучшения в комментариях — приветствуются!
                Читать дальше →
                • +27
                • 3,9k
                • 2
              • Kubernetes 1.13: обзор основных новшеств



                  В начале этой недели состоялся очередной релиз Kubernetes, который окрестили «ангельским», — 1.13. Такое название связано с числом 113, которое считается «ангельским» и, со слов разработчиков Kubernetes, символизирует «новые начинания, трансформацию и конец одной главы перед открытием новых». Не вдаваясь в дальнейший анализ символизма происходящего, по уже сложившейся для нашего блога традиции, мы в седьмой раз расскажем о ключевых изменениях в новой версии Kubernetes, что призваны порадовать DevOps-/SRE-инженеров, работающих с этим продуктом.

                  В качестве источников информации мы оперировали данными из таблицы Kubernetes enhancements tracking, CHANGELOG-1.13 и сооветствующих issues, pull requests, Kubernetes Enhancement Proposals (KEP).
                  Читать дальше →
                  • +30
                  • 6,2k
                  • 4
                • Базы данных и Kubernetes (обзор и видео доклада)

                    8 ноября в главном зале конференции HighLoad++ 2018, в рамках секции «DevOps и эксплуатация», прозвучал доклад «Базы данных и Kubernetes». В нём рассказывается о высокой доступности баз данных и подходах к отказоустойчивости до Kubernetes и вместе с ним, а также практических вариантах размещения СУБД в кластерах Kubernetes и существующие для этого решения (включая Stolon для PostgreSQL).



                    По традиции рады представить видео с докладом (около часа, гораздо информативнее статьи) и основную выжимку в текстовом виде. Поехали!
                    Читать дальше →
                    • +43
                    • 10,7k
                    • 5
                  • Как этот sidecar-контейнер оказался здесь [в Kubernetes]?

                    • Перевод
                    Прим. перев.: Этой статьёй, написанной Scott Rahner — инженером в Dow Jones, мы продолжаем цикл многочисленных материалов, доступно рассказывающих о том, как устроен Kubernetes, как работают, взаимосвязаны и используются его базовые компоненты. На сей раз это практическая заметка с примером кода для создания хука в Kubernetes, демонстрируемого автором «под предлогом» автоматического создания sidecar-контейнеров.


                    (Автор фото — Gordon A. Maxwell, найдено на просторах интернета.)

                    Когда я начал изучать sidecar-контейнеры и service mesh'и, мне потребовалось разобраться в том, как работает ключевой механизм — автоматическая вставка sidecar-контейнера. Ведь в случае использования систем вроде Istio или Consul, при деплое контейнера с приложением внезапно в его pod'е появляется и уже настроенный контейнер Envoy (схожая ситуация происходит и у Conduit, о котором мы писали в начале года — прим. перев.). Что? Как? Так начались мои исследования…
                    Читать дальше →
                    • +21
                    • 2,5k
                    • 1
                  • В AWS представили Firecracker — «микровиртуализацию» для Linux



                      На AWS re:Invent 2018, что проходит в эти дни в Лас-Вегасе, состоялся анонс Firecracker — новой технологии виртуализации с открытым кодом, основанной на Linux KVM. Авторы обещают, что с ней «в доли секунды можно запускать легковесные микровиртуальные машины (microVMs) в невиртуализированной среде, получив преимущества и традиционных ВМ — в виде безопасности и изоляции рабочих нагрузок, и контейнеров — в виде эффективного использования ресурсов».
                      Читать дальше →
                    • Прошлое, настоящее и будущее Docker и других исполняемых сред контейнеров в Kubernetes

                      • Перевод
                      Прим. перев.: Мы написали уже не одну публикацию (см. ссылки в конце статьи) об исполняемых средах контейнеров (container runtimes) — речь в них, как правило, идёт в контексте Kubernetes. Однако зачастую эти материалы вызывали у читателей вопросы, свидетельствующие о недостаточном понимании, откуда взялся очередной проект, как он связан с другими и что вообще происходит во всём этом контейнерном «зоопарке».



                      Недавняя статья от технического директора подразделения IBM Watson & Cloud Platform по стратегии в области контейнеров и архитектуры Linux — Phil Estes — предлагает отличную ретроспективу и помогает сориентироваться, получить более обширное понимание тем, кто потерял (или так и не уловил) нить событий. Будучи одним из мейнтейнеров проекта Moby и containerd, членом технических комитетов Open Container Initiative (OCI) и Moby, а также обладая статусом Docker Captain, автор пишет о прошлом, настоящем и будущем нового дивного мира container runtimes. И для самых ленивых материал начинается с компактного TL;DR по теме…
                      Читать дальше →
                      • +22
                      • 11,8k
                      • 3
                    • Так что же такое pod в Kubernetes?

                      • Перевод
                      Прим. перев.: Эта статья продолжает цикл материалов от технического писателя из Google, работающего над документацией для Kubernetes (Andrew Chen), и директора по software engineering из SAP (Dominik Tornow). Их цель — доступно и наглядно объяснить основы организации Kubernetes. В прошлый раз мы переводили статью про high availability, а теперь речь пойдет про такое базовое понятие в Kubernetes, как pod.



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

                      Pods (Поды) — базовые строительные блоки Kubernetes, однако даже опытные пользователи Kubernetes не всегда могут объяснить, что же это такое.

                      Данная публикация предлагает лаконичную мысленную модель, которая проливает свет на определяющие характеристики pod'ов Kubernetes. Ради этой краткости пришлось опустить некоторые другие особенности Pod'ов, такие как liveness и readiness probes, разделение ресурсов (включая появившееся недавно namespace sharingприм. перев.), работу с сетью.
                      Читать дальше →
                      • +27
                      • 9,1k
                      • 8
                    • kubebox и другие консольные оболочки для Kubernetes



                        Мы уже писали о «консольных помощниках» для Kubernetes год назад, а ещё раньше делали обзор других полезных утилит. Однако с развитием K8s и его сообщества претерпевает изменения и сопутствующая экосистема. Поэтому нам снова есть о чём рассказать любителям консоли. Поехали!
                        Читать дальше →
                        • +15
                        • 5,5k
                        • 6
                      • Чудной трюк, чтобы сделать день мейнтейнеру Open Source-проекта

                        • Перевод
                        Толика признательности может сыграть огромную роль в жизни мейнтейнеров. Далее приведён способ, которым вы можете выразить свою признательность и который сделает кому-то день, отняв у вас менее пяти минут.


                        Любые совпадения этой найденной в интернете картинки с Docker случайны
                        Читать дальше →
                      • KubeDirector — простой способ запускать сложные stateful-приложения в Kubernetes

                        • Перевод
                        Прим. перев.: Оригинальная статья написана представителями компании BlueData, основанной выходцами из VMware. Она специализируется на том, чтобы сделать доступнее (проще, быстрее, дешевле) развёртывание решений для Big Data-аналитики и машинного обучения в различных окружениях. Этому призвана способствовать и недавняя инициатива компании под названием BlueK8s, в которой авторы хотят собрать плеяду Open Source-инструментов «для деплоя stateful-приложений и управления ими в Kubernetes». Статья посвящена первому из них — KubeDirector, что, согласно замыслу авторов, помогает энтузиасту в области Big Data, не имеющему специальной подготовки в Kubernetes, разворачивать в K8s приложения типа Spark, Cassandra или Hadoop. Краткая инструкция о том, как это сделать, и приведена в статье. Однако учтите, что у проекта ранний статус готовности — pre-alpha.



                        KubeDirector — Open Source-проект, созданный для упрощения запуска кластеров из сложных масштабируемых stateful-приложений в Kubernetes. KubeDirector реализован с помощью фреймворка Custom Resource Definition (CRD), использует родные возможности расширения Kubernetes API и опирается на их философию. Такой подход обеспечивает прозрачную интеграцию с управлением пользователей и ресурсов в Kubernetes, а также с существующими клиентами и утилитами.
                        Читать дальше →
                        • +18
                        • 3,7k
                        • 3
                      • Red Hat заменяет Docker на Podman

                          Понятно, что в настоящий момент страсти вокруг Red Hat имеют совсем другой и весьма глобальный фокус, но мы всё же о своём — локальном и прикладном из мира контейнеров. С начала этого года в Red Hat активно трудятся над заменой для Docker под названием Podman (или libpod). Об этом проекте ещё почему-то не писали на хабре, а ведь сейчас весьма подходящее время для того, чтобы познакомиться с ним, узнать о его истоках и подумать о перспективах. Поехали!

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

                        Самое читаемое