Обновить
120.13

Kubernetes *

ПО для работы с контейнерными приложениями

Сначала показывать
Порог рейтинга
Уровень сложности

Истории успеха Kubernetes в production. Часть 4: SoundCloud (авторы Prometheus)

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


Цикл статей о крупных и успешных пользователях Kubernetes продолжается рассказом про популярный онлайн-сервис для распространения аудиоконтента — SoundCloud. В прошлом году эту компанию собиралась купить Spotify AB (имеет шведские корни, как и SoundCloud), а совсем недавно — китайский интернет-гигант Tencent. Даже обслуживая ~175 миллионов активных пользователей в месяц, SoundCloud в последнее время испытывает финансовые проблемы, о чём стало известно благодаря крупному сокращению (173 сотрудников) минувшим летом, однако, если верить последним данным, ситуация наладилась. Так или иначе, куда больше нас интересует технологическая сторона вопроса, а точнее — применение Kubernetes, и вот что известно о SoundCloud из публичных источников…
Читать дальше →

Как запустить docker-голосовалку на Swarm, Kubernetes и Nomad

Время на прочтение14 мин
Количество просмотров15K
TL; DR
В этой статье мы будем разворачивать Docker-приложение, голосовалку на Swarm, Kubernetes и Nomad от Hashicorp. Я надеюсь, вы получите такое же удовольствие от чтения этой статьи, какое я получил, когда экспериментировал со всем этим.

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

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

Что будет в Rancher 2.0 и почему он переходит на Kubernetes?

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


Неделю назад разработчики Rancher представили предварительный релиз своей будущей крупной версии — 2.0, — попутно объявив о переходе на Kubernetes в качестве единой основы для оркестровки контейнеров. Что побудило разработчиков пойти таким путём?
Читать дальше →

Kubernetes 1.8: обзор основных новшеств

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


Большое и хорошо организованное Open Source-сообщество, стоящее за разработкой Kubernetes, приучило нас ждать значимых и многочисленных изменений от каждого релиза. И Kubernetes 1.8 не стал исключением, представив на радость DevOps-инженерам и всем сочувствующимучастникам улучшения и новые возможности практически во всех своих компонентах.
Читать дальше →

kubernetes, playground, микросервисы и немного магии

Время на прочтение4 мин
Количество просмотров5.8K
В жизни любого DevOps-инженера возникает необходимость создать playground для команды разработки. Как всегда он должен быть умным, шустрым и потреблять минимальное количество ресурсов. В этой статье я хочу рассказать о том, как решал проблему создания такого зверя для микросервисного приложения на kubernetes.


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

DevOps с Kubernetes и VSTS. Часть 2: Облачная история

Время на прочтение16 мин
Количество просмотров6K
Продолжение истории про Kubernetes, контейнеры и организацию CI/CD пайплайна. Наконец-то появляется облако Azure и Visual Studio Team Services. Интересно, что CI/CD пайплайн VSTS использует для работы с k8s кластером kubectl, поэтому развёртывать приложение можно не только в Azure Container Services, но и в любой другой инстраляции Kubernetes.



Читайте перевод второй части статьи DevOps с Kubernetes и VSTS.
Читать дальше →

Знакомство с kube-spawn — утилитой для создания локальных Kubernetes-кластеров

Время на прочтение5 мин
Количество просмотров6.2K
Прим. перев.: kube-spawn — достаточно новый (анонсированный в августе) Open Source-проект, созданный в немецкой компании Kinvolk для локального запуска Kubernetes-кластеров. Он написан на Go, работает с Kubernetes версий 1.7.0+, использует возможности kubeadm и systemd-nspawn, ориентирован только на операционную систему GNU/Linux. В отличие от Minikube, он не запускает виртуальную машину для Kubernetes, а значит, что overhead будет минимальным и все процессы, запущенные внутри контейнеров, видны на хост-машине (в т.ч. и через top/htop). Представленная ниже статья — анонс этой утилиты, опубликованный одним из сотрудников компании (Chris Kühl) в корпоративном блоге.

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

DevOps с Kubernetes и VSTS. Часть 1: Локальная история

Время на прочтение13 мин
Количество просмотров13K
Последнее время я часто рассказываю про контейнеры, Docker и Kubernetes. На фоне этого коллеги всё чаще стали спрашивать о том, а где же здесь технологи Microsoft? Чтобы объяснить, я нашёл несколько материалов, в том числе этот набор из пары статей от Colin Dembovsky. В них есть всё: Docker, Kubernetes и наши технологии. Думаю, что для читателей Хабры это тоже должно быть интересно. Итак, встречайте, перевод первой части.



Если вы читаете мой блог, то знаете, что я фанат контейнеров в целом и Docker в частности. Когда вы в последний раз ставили софт на «голое железо»? Может быть, только на ноутбук, но и то шансы невелики. Виртуализация кардинально изменила наше отношение к ресурсам центра обработки данных, значительно увеличив их плотность и эффективность использования. Следующим этапом повышения плотности стали контейнеры, только ВМ размещаются на физических серверах, а контейнеры — в самих ВМ. Очень скоро большинство из нас не будет работать не только на уровне серверов, но даже на уровне ВМ, все рабочие нагрузки переместятся в контейнеры. Но это в перспективе.
Подходы к локальной разработке с использованием Kubernetes и minikube

Пишем оператора для Kubernetes на Golang

Время на прочтение5 мин
Количество просмотров15K
Прим. перев.: Операторы (operators) — это вспомогательное ПО для Kubernetes, призванное автоматизировать выполнение рутинных действий над объектами кластера при определённых событиях. Мы уже писали об операторах в этой статье, где рассказывали об основополагающих идеях и принципах их работы. Но если тот материал был скорее взглядом со стороны эксплуатации готовых компонентов для Kubernetes, то предлагаемый теперь перевод новой статьи — это уже видение разработчика/DevOps-инженера, озадаченного реализацией нового оператора.



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

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

Обеспечение сетевой безопасности в кластере Kubernetes

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

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


Функциональность сетевых политик стабилизировалась в Kubernetes 1.7. В этой статье их работа объясняется в теории и на практике. При желании вы можете сразу перейти к репозиторию с примерами kubernetes-networkpolicy-tutorial или к документации.

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

Helm secrets — недостающая часть Kubernetes

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


В этой статье я расскажу о том, как мы управляем секретами в Kubernetes-инфраструктуре BaseCRM.


Наша цель — использование Helm Charts в Kubernetes-кластерах BaseCRM с минимальными усилиями, подразумевающими управление лишь значениями параметров и секретами. В Helm или Kubernetes нет официального инструмента управления секретами, и мы решили это исправить.

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

Практика с dapp. Часть 2. Деплой Docker-образов в Kubernetes с помощью Helm

Время на прочтение13 мин
Количество просмотров17K
dapp — наша Open Source-утилита, помогающая DevOps-инженерам сопровождать процессы CI/CD (Обновлено 13 августа 2019 г.: в настоящее время проект dapp переименован в werf, его код полностью переписан на Go, а документация значительно улучшена) (подробнее о ней читайте в анонсе). В документации к ней приведён пример сборки простого приложения, а подробнее этот процесс (с демонстрацией основных возможностей dapp) был представлен в первой части статьи. Теперь, на основе того же простого приложения, покажу, как dapp работает с кластером Kubernetes.

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

Истории успеха Kubernetes в production. Часть 3: GitHub

Время на прочтение6 мин
Количество просмотров15K
Продолжаем рассказывать об успешных примерах использования Kubernetes в production. Новый кейс — совсем свежий. Подробная информация о нём появилась только вчера. А что ещё более значимо, речь пойдёт про крупный онлайн-сервис, с которым наверняка так или иначе работает каждый читатель хабры, — GitHub.

Ближайшие события

Kubernetes на голом железе за 10 минут

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


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


По ходу этой статьи мы установим Kubernetes 1.6 на реальную (не виртуальную) машину под управлением Ubuntu 16.04 примерно за 10 минут. В результате у вас появится возможность начать изучать взаимодействие с Kubernetes посредством его CLI kubectl.
Читать дальше →

Как на самом деле работает планировщик Kubernetes?

Время на прочтение8 мин
Количество просмотров19K
Прим. перев.: Эта статья написана Julia Evans — инженером международной компании Stripe, специализирующейся на интернет-платежах. Разбираться во внутренностях работы планировщика Kubernetes её побудил периодически возникающий баг с «зависанием» пода, о котором около месяца назад также сообщили специалисты из Rancher Labs (issue 49314). Проблема была решена и позволила поделиться деталями о техническом устройстве одного из базовых механизмов Kubernetes, которые и представлены в этом статье с необходимыми выдержками из соответствующего кода проекта.



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

Истории успеха Kubernetes в production. Часть 2: Concur и SAP

Время на прочтение7 мин
Количество просмотров9.1K
Продолжаем рассказывать на примере известных компаний о том, что Kubernetes в production — это не только мечты и надежды. Эта статья — снова про технарей с мировым именем: SAP и её конвергентное облако на базе OpenStack и Kubernetes. Однако начнём с менее известной Concur и вот почему…


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

Истории успеха Kubernetes в production. Часть 1: 4200 подов и TessMaster у eBay

Время на прочтение6 мин
Количество просмотров14K
Как это часто бывает в первые годы жизни инфраструктурных проектов, стремительно набирающих популярность, пока многие только присматриваются к Kubernetes, оценивая его возможности и зрелость, другие успевают продвинуться дальше, протестировать и запустить в production (полностью или частично), получив свой первый «взрослый» опыт эксплуатации. Эта статья начинает обзорный цикл примеров из мировой практики достаточно известных компаний, использующих Kubernetes в production.



Примечание: все примеры рассказывают об использовании оригинального upstream-дистрибутива Kubernetes, а не его производных вроде OpenShift (Red Hat) и Tectonic (CoreOS).

Начнём с eBay, специалисты которой серьёзно работают с Kubernetes уже более 2 лет и значительно продвинулись в этом…
Читать дальше →

Полезные команды и советы при работе с Kubernetes через консольную утилиту kubectl

Время на прочтение9 мин
Количество просмотров57K
Предисловие переводчика: Эта статья — комбинация из перевода двух материалов от проекта CoreOS (см. ссылки в конце публикации), посвящённых работе с консольным инструментом для выполнения команд на кластерах Kubernetes — kubectl. Листинг, приведённый автором оригинала для Mac OS X, был адаптирован под Linux, в других листингах было исправлено форматирование YAML, а для удобства чтения всего материала в него были добавлены подзаголовки.

Kubectl — инструмент, который знаком пользователям Kubernetes и обладает широкими функциональными возможностями. Овладение ими занимает время, но позволяет увидеть, что это более мощный инструмент, чем многие предполагали. Представляю набор советов, позволяющих улучшить ваши возможности при работе с kubectl. Не забудьте также посмотреть на cheat sheet в секции официальной документации Kubernetes!
Читать дальше →

Начало работы в Kubernetes с помощью Minikube

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


Предисловие переводчика: Minikube — удобный инструмент, который мы применяем в компании для локальных экспериментов с Kubernetes (в частности, для выполнения лабораторных работ по этой системе при обучении сотрудников). Эта статья показалась мне полезной во время моего знакомства с Kubernetes. Она написана год назад автором, использующим Mac OS X, а я проделывал все операции в Ubuntu 16.04 совсем недавно и с актуальными версиями основного софта: Minikube 0.20, Docker 17.06.0-ce, kubectl 1.7.0. Поэтому все выводы команд были переделаны под новые версии и незначительно отличаются от приведённых в оригинальной статье.
Читать дальше →

Linux Foundation представила бесплатный вводный онлайн-курс по Kubernetes

Время на прочтение2 мин
Количество просмотров21K
На образовательной онлайн-площадке edX появился курс «Introduction to Kubernetes», созданный некоммерческой организацией The Linux Foundation и проводимый специалистом из компании CloudYuga Technologies.

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

Вклад авторов