Все потоки
Поиск
Написать публикацию
Обновить
66.1

Kubernetes *

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

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

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

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


BlackRock — одна из крупнейших инвестиционных компаний мира и крупнейшая по размеру активов под управлением (5,7 трлн USD по состоянию на июль'17). Её также называют крупнейшим в мире «теневым банком». Имея 30-летнюю историю и такие впечатляющие показатели, компания не отстаёт от современных тенденций в ИТ-инфраструктуре. В минувшую пятницу в блоге организации CNCF появилась информация о том, что BlackRock удалось за 100 дней выкатить своё production-окружение на Kubernetes. Как они к этому пришли?
Читать дальше →

Учимся надежно управлять Kubernetes

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

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


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

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

Использование Docker CE (Community Edition) с Kubernetes

Время на прочтение3 мин
Количество просмотров14K
Прим. перев.: Автор статьи — Melvin Dave Vivas, возглавляющий команду разработчиков и SRE-инженеров в сингапурском банке, — делится своим опытом знакомства с поддержкой Kubernetes в платформе Docker.

Когда в октябре прошлого года на DockerCon 2017 технический директор Docker Inc Соломон Хайкс (Solomon Hykes) анонсировал родную поддержку Kubernetes, мне стало очень любопытно, как это будет работать.



Поэтому после анонса я решил проверить наличие этой поддержки в Edge-версии, о чём писал Michael Frills в блоге Docker. Но на тот момент её не оказалось. И вот, после нескольких месяцев ожиданий, она наконец-то появилась.
Читать дальше →

Понимание сети Kubernetes: сервисы

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

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


Сеть подов в кластере – аккуратный материал, но сам по себе он недостаточен для создания долгосрочных систем, поскольку поды в Kubernetes эфемерны. В качестве конечной точки можно использовать IP-адрес пода, но нет гарантии, что при следующем воссоздании пода адрес останется прежним. Его смена может произойти по любой причине.

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

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

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


Основанный в 2006 году BlaBlaCar считается крупнейшим в мире онлайн-сервисом поиска автомобильных попутчиков (ridesharing). Появившись во Франции, сервис прошёл активную экспансию в Европе, с 2014 года стал доступен в России и Украине, а позже добрался до стран Латинской Америки и Азии. Рост популярности онлайн-сервисов неизбежно связан с развитием стоящей за ними ИТ-инфраструктуры, и, как легко догадаться из названия статьи, сегодняшние потребности BlaBlaCar реализуются благодаря Kubernetes. К чему же пришли ИТ-инженеры компании?
Читать дальше →

Распределенные бекэнды для видеорекламы 2ГИС на .NET Core и Kubernetes

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

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

2ГИС недавно закончили большой проект, используя ядром функциональности .NET Core, Kubernetes и много Linux. Я часто получаю вопросы о том, можно ли использовать .NET Core в продакшене, каков наш опыт использования его в полностью Open Source среде. Я попросил ребят рассказать, что да как. Читайте подробнее под катом, это стоит того — это один из первых публичных и больших проектов, которые построены на .NET Core, да еще и в полном Open Source вокруг.


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

Сборка и дeплой приложений в Kubernetes с помощью dapp и GitLab CI

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


В предыдущих статьях о dapp было рассказано про сборку приложений и про запуск в Minikube. При этом dapp запускался локально на машине разработчика. Однако инструмент задумывался для поддержки процессов непрерывной интеграции (CI) и сами мы используем его в основном в связке с GitLab. Чем dapp помогает в процессах CI/CD?
Читать дальше →

Лучшие практики CI/CD с Kubernetes и GitLab (обзор и видео доклада)

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


7 ноября на конференции HighLoad++ 2017, в секции «DevOps и эксплуатация» прозвучал доклад «Лучшие практики CI/CD с Kubernetes и GitLab». В нём мы делимся практическим опытом решения проблем, возникающих при построении эффективного процесса CI/CD на базе указанных Open Source-решений.

По традиции рады представить видео с докладом (около часа, гораздо информативнее статьи) и основную выжимку в текстовом виде.

Установка HA Master Kubernetes кластера с помощью Kubespray

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


Kubespray (ранее Kargo) — это набор Ansible ролей для установки и конфигурации системы оркестрации контейнерами Kubernetes. В качестве IaaS в этом случае могут выступать AWS, GCE, Azure, OpenStack или обычные виртуальные машины. Проект раньше назывался Kargo. Это проект с открытым исходным кодом и открытой моделью разработки, поэтому по желанию каждый может повлиять на его жизненный цикл.

На Хабре уже писали об установке Kubernetes с помощью Kubeadm, но в этом способе есть значительные недостатки: он до сих пор не поддерживает мультимастер конфигураций и, порой, не очень гибкий. Kubespray, хоть и использует Kubeadm под капотом, уже имеет функционал обеспечения высокой доступности как для мастера, так и для etcd на этапе инсталляции. О его сравнении с другими актуальными методами установки Kubernetes можно почитать по ссылке https://github.com/kubernetes-incubator/kubespray/blob/master/docs/comparisons.md

В этой статье мы создадим 5 серверов на ОС Ubuntu 16.04. В моем случае их перечень будет следующим:

192.168.20.10 k8s-m1.me
192.168.20.11 k8s-m2.me
192.168.20.12 k8s-m3.me
192.168.20.13 k8s-s1.me
192.168.20.14 k8s-s2.me

Добавляем их к /etc/hosts всех этих серверов, в том числе локальной системы, или же к dns-серверу. Фаервол и другие ограничения в сети этих хостов должны быть деактивированы. Кроме этого, необходимо разрешить IPv4 forwarding и каждый из хостов должен иметь свободный доступ к сети Интернет для загрузки docker-образов.
Читать дальше →

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

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


Очередной релиз системы Kubernetes, 1.9, должен случиться на этой неделе. Согласно текущему плану, это произойдёт сегодня (13 декабря). Об основных новшествах, которые принесёт этот выпуск, уже известно: как и в прошлый раз, их накопилось действительно много. Представляем обзор самых значимых изменений, которые приходят в Kubernetes с грядущим релизом 1.9.
Читать дальше →

Четыре релиза 1.0 от CNCF и главные анонсы про Kubernetes с KubeCon 2017

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


В эти дни (6-8 декабря) в США проходит местная версия конференций KubeCon + CloudNativeCon 2017, в фокусе внимания которой многочисленные проекты некоммерческой организации CNCF во главе с Kubernetes. Мероприятие собрало более 4100 посетителей, 77 % из которых используют K8s, причём в 75 % случаев речь идёт про production. Событие оказалось не только богатым на анонсы от различных стартапов и гигантов индустрии, но и стало поводом для подведения итогов Open Source-сообщества из мира cloud native — достаточно заметить, что в декабре сразу у четырёх проектов CNCF состоялся знаковый релиз 1.0. Так что новенького?
Читать дальше →

Развертывание контейнеров Windows в Azure Container Instances (ACI). Коннектор для Kubernetes

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


Azure Container Instances (ACI) позволяют запускать контейнеры, не беспокоясь об инфраструктуре. Мы можем дать образ контейнера, и ACI с радостью запустит контейнер и даже обеспечит внешним IP-адресом. Когда ручное вмешательство необходимо только при запуске контейнеров, это называется «беcсерверные контейнеры». ACI отлично подходит для пакетных рабочих нагрузок или долгосрочных контейнеров, где мы не хотим иметь дело с инфраструктурой.

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

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


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

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

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

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

Время на прочтение11 мин
Количество просмотров23K
Прим. перев.: Этот материал, озаглавленный в оригинале как «What happens when… Kubernetes edition!» и написанный Jamie Hannaford из компании Rackspace, является отличной иллюстрацией работы многих механизмов Kubernetes, которые зачастую скрыты от нашего глаза, но весьма полезны для лучшего понимания устройства этой Open Source-системы, алгоритма работы и взаимосвязей её компонентов. Поскольку вся статья весьма объёмна, её перевод разбит на две части. В первой речь идёт про работу kubectl, kube-apiserver, etcd и initializers.

P.S. Некоторые оригинальные ссылки на код в master-ветках были заменены на последние к моменту перевода коммиты, чтобы актуальность номеров строк, к которым отсылает автор, сохранялась долгое время.




Представим, что я хочу задеплоить nginx в кластере Kubernetes. Я введу в терминале нечто такое:

kubectl run --image=nginx --replicas=3

… и нажму на Enter. Через несколько секунд увижу 3 пода с nginx, распределённые по всем рабочим узлам. Работает — словно по волшебству, и это здорово! Но что на самом деле происходит под капотом?
Читать дальше →

Истории успеха Kubernetes в production. Часть 5: цифровой банк Monzo

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


Цикл историй успеха Kubernetes продолжается рассказом о британском банке-стартапе Monzo. Эту молодую компанию относят к категории «challenger banks» (да, это уже термин из Oxford Dictionary), т.е. таких небольших банков, которые бросают вызов крупной и давно сложившейся финансовой индустрии. Это становится возможным благодаря активному и повсеместному использованию современных информационных технологий в самой своей основе, т.е. отказу от операций в традиционном формате в пользу электронных аналогов, позволяющих качественно снизить расходы (банки с таким подходом ещё называют «digital-only»). Пример Monzo, созданного всего 2 года назад, интересен тем, что в достижении великих целей ему помогают платформа Kubernetes, язык Go и другие современные Open Source-продукты, хорошо знакомые DevOps-инженерам и не только.
Читать дальше →

Установка Kubernetes 1.8 Bare Metal

Время на прочтение12 мин
Количество просмотров21K
В интернете написано довольно много статей по установке Kubernetes, но большинство из них базируются на kubeadm и minikube. Это, конечно, здорово, что можно легко и за пару кликов развернуть кластер, но хотелось бы иметь больше понимания из чего состоит Kubernetes. Попробую исправить эту ситуацию данным руководством.
Читать дальше →

Инфраструктура с Kubernetes как доступная услуга

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


Kubernetes стал для нас той технологией, которая в полной мере позволяет соответствовать строгим требованиям к отказоустойчивости, масштабируемости и качественному обслуживанию проекта. Несмотря на то, что сегодня K8s больше распространен в крупных организациях и проектах, мы научились применять его и в небольших приложениях. Снижение себестоимости обслуживания стало возможным для нас благодаря унификации и обобщению всех компонентов, которые встречаются практически у каждого клиента. Эта статья — взгляд на полученный опыт со стороны бизнес-потребностей и их технической реализации, которая позволяет нам предлагать клиентам качественное решение и поддержку за разумные деньги.
Читать дальше →

Попробуем оценить Kubernetes

Время на прочтение7 мин
Количество просмотров8.7K
Привет, Хабр!

Некоторое время мы присматриваемся к книгам по Kubernetes, благо, они уже выходят и в Manning, и в O'Reilly. Можно согласиться, что Kubernetes в наших краях пока интересен скорее с ознакомительной и инженерной, нежели с практической точки зрения. Однако, мы все-таки поставим здесь обложку с книги о Kubernetes и перевод статьи Дэниэла Морсинга, который сделал у себя в блоге интересный тизер об этой системе.

Приятного чтения!
Читать дальше →

Представляем loghouse — Open Source-систему для работы с логами в Kubernetes

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


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

Так родился проект loghouse, и я рад представить его альфа-версию DevOps-инженерам и системным администраторам, которым знакомы обозначенные проблемы.
Читать дальше →

Нет времени объяснять! или как подружить terraform с minikube и kubernetes

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


Как начать пользоваться terraform, развернув локально приложение поверх minikube, и потом запустить его поверх kubernetes в cloud.google.com

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

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