Как стать автором
Обновить
-3
0

Пользователь

Отправить сообщение

Организация деплоя в множество k8s окружений с помощью helmfile

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

Helmfile — обёртка для helm, которая позволяет в одном месте описывать множество helm релизов, параметризовать их чарты для нескольких окружений, а также задавать порядок их деплоя.


О самом helmfile и примерах его использования можно почитать в readme и best practices guide.


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

Мы же познакомимся с неочевидными способами описать релизы в helmfile


Допустим, у нас есть пачка helm-чартов (для примера пусть будет postgres и некое backend приложение) и несколько окружений (несколько kubernetes кластеров, несколько namespace'ов или несколько и того, и другого). Берём helmfile, читаем документацию и начинаем описывать наши окружения и релизы:


    .
    ├── envs
    │   ├── devel
    │   │   └── values
    │   │       ├── backend.yaml
    │   │       └── postgres.yaml
    │   └── production
    │       └── values
    │           ├── backend.yaml
    │           └── postgres.yaml
    └── helmfile.yaml
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Я проработал в IT больше 10 лет. Вот 5 вещей, которые я бы хотел знать, если бы начинал сейчас

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров188K

Привет, дорогой Хабр. Душа просит выговориться, так что я пришел к тебе – заодно надеюсь поделиться чем-то полезным с молодыми айтишниками. За свою карьеру я прошел через фриланс, стажировки, корпорации, смену профессии и даже запуск собственного SaaS'а (об этом как-нибудь отдельно...). Я наделал кучу ошибок и набил болезненных шишек. Под катом я вспоминаю 5 важных уроков, которые я бы хотел получить 10 лет назад.

Под кат →
Всего голосов 161: ↑144 и ↓17+146
Комментарии239

Зачем нужен контейнер pause в Kubernetes

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

Вы когда-нибудь задумывались, почему появляются контейнеры pause? Когда мы создаем поды, мы не помним, что когда-либо создавали эти контейнеры pause, так откуда же они берутся? Вы можете подумать, что, так как мы не создавали эти контейнеры самостоятельно, возможно, кластер K8s автоматически создал их?

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

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии0

Колдовской NeoVIM. Часть вторая. “Конфиг Всевластья”

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

Никто не любит конфиги (я уж точно). Они скучные и нединамичные.

Но со своим конфигом Nvim’а я ношусь, как Голлум с кольцом Всевластья. Моя прелесссссть. Я боюсь потерять свой конфиг, боюсь, что с ним что-то случится. Другие хотят забрать тебя, моя прелессссть. Саша тебя им не отдаст, нет-нет...

Если кто-то отнимет мой конфиг - я буду гнаться за ним до Роковой Горы и даже прыгну в жерло вулкана.

В этой статье я расскажу, как создать такой Конфиг Всевластья и как завоевать Гондор.

Читать далее
Всего голосов 16: ↑13 и ↓3+13
Комментарии21

DevOps as a Service. Часть 6. Создание площадки обучения DevOps в компании

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.8K

Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service, и как с помощью данного подхода возможно решить ряд распространённых проблем в организации работы подразделения. В прошлых статьях мы описали подход и показали пути решения часто встречающихся проблем. С данными материалами можно ознакомиться тут Часть 1, Часть 2, Часть 3, Часть 4, Часть 5. Сегодня мы обсудим создание площадки обучения DevOps в стенах компании для обмена опытом между коллегами разных подразделений, повышения компетенции и культуры обучения.

Итак, проблема, которую мы будем решать — это смещение фокуса с развития на поддержку.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Ему исполнилось 55, когда он основал самую важную компанию в мире. Удивительная история Морриса Чанга

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров30K

Самые дорогие технологические компании в мире были основаны в общежитиях и гаражах очень молодыми предпринимателями. Биллу Гейтсу было 19. Стиву Джобсу — 21. Джеффу Безосу и Дженсену Хуангу — 30.

Но, возможно, самая бесценная компания в мире была основана Моррисом Чангом, когда ему было 55 лет.

Никогда еще кто-нибудь в столь зрелом возрасте не создавал бизнес, стоящий столько же, сколько Taiwan Semiconductor Manufacturing. Компания, известная просто как TSMC, производитель чипов – основных комплектующих для компьютеров, телефонов, автомобилей, систем искусственного интеллекта и многих устройств, которые стали частью нашей повседневной жизни.

Читать далее
Всего голосов 15: ↑14 и ↓1+16
Комментарии13

Validating Admission Policy: Магия кастомных политик безопасности Kubernetes

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.6K

Рассмотрим безобидную, на первый взгляд, ситуацию. Вы развернули новый кубернетес кластер, подключили сетку и стораджи, накатили мониторинги и квоты. Казалось бы, осталось нарезать неймспейсы и передать их в пользование коллегам в разработке. Однако, вы в курсе, что разработчики будут запускать команды через kubectl, а значит, по-хорошему, надо накинуть хотя бы "базовые" ограничения на их команды, ведь только так можно оградить себя от большинства проблем в процессе предстоящей эксплуатации кластера. ...Тем не менее, каким бы сложным действием ни казалась настройка кластера, если у вас есть некоторый запас времени, то милости прошу в краткое рассуждение о возможностях кубернетес контроллеров и практических способах применения Validating Admission Policy.

ИНСТРУКЪЦЫЯ ПО НАСТРОЙКЕ КУБЪ-КЛАСТЕРА
...
шаг 998 Подключите Validating Admission Policies
шаг 999 Отдайте, наконец, кластеръ в эксплуатацию
...

Читать далее
Всего голосов 8: ↑6 и ↓2+8
Комментарии4

Три оттенка Kubernetes Operator, или чем слушает Prometheus

Уровень сложностиСредний
Время на прочтение33 мин
Количество просмотров2.6K

Это ещё не туториал, но относительно подробный гайд о том, как компоненты Операторов взаимодействуют с Kubernetes API на уровне кода (Golang), чтобы реализовать заложенную в них логику для автоматизации вполне определённых практических задач. И да, всем известно, максимальный уровень автоматизации работы в Кубернетес ограничен лишь желанием самих разработчиков избавиться от рутины в близкой для них предметной области, потому я разделил текст на три части, чтобы вы могли без промедления промотать к наиболее актуальной, в которой узреете нечто достойное вашего внимания:

1. Кастомные ресурсы - мониторы Прометеус-оператора
2. Информеры и контроллеры
3. Сайдкар-Инжекторы с помощью аннотаций и вебхуков

Читать далее
Всего голосов 6: ↑4 и ↓2+3
Комментарии0

Стратегии деплоя в Kubernetes: rolling, recreate, blue/green, canary, dark (A/B-тестирование)

Время на прочтение5 мин
Количество просмотров74K
Прим. перев.: Этот обзорный материал от Weaveworks знакомит с наиболее популярными стратегиями выката приложений и рассказывает о возможности реализации наиболее продвинутых из них с помощью Kubernetes-оператора Flagger. Он написан простым языком и содержит наглядные схемы, позволяющие разобраться в вопросе даже начинающим инженерам.


Схема взята из другого обзора стратегий выката, сделанного в Container Solutions

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

Более короткие и частые развертывания имеют следующие преимущества:

  • Сокращается время выхода на рынок.
  • Новые функции быстрее попадают к пользователям.
  • Отклики пользователей быстрее доходят до команды разработчиков. Это означает, что команда может дополнять функции и исправлять проблемы более оперативно.
  • Повышается моральный дух разработчиков: с большим количеством функций в разработке интереснее работать.
Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии3

Как работает RBAC в Kubernetes

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

RBAC (Role-based access control) — это система распределения прав доступа к различным объектам в кластере Kubernetes.

Объекты в кластере Kubernetes — это YAML-манифесты, а права доступа определяют, какому пользователю можно только просматривать манифесты, а кто может их создавать, изменять или даже удалять.

Рассказываем, как устроен RBAC.

Читать про RBAC
Всего голосов 16: ↑15 и ↓1+16
Комментарии1

Основы безопасности в Kubernetes

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров4.5K

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

Мы сосредоточимся на двух ключевых элементах безопасности в Kubernetes: Role-Based Access Control (RBAC) и Pod Security Admission. Эти механизмы играют важную роль не только в обеспечении безопасности приложений и данных в кластере, но и в управлении доступом и сетевыми взаимодействиями.

Элементы безопасности, такие как RBAC и Pod Security Admission, играют ключевую роль в обеспечении стабильности и эффективности работы приложений в Kubernetes, особенно при обработке больших объёмов данных и высокой нагрузке. Например, в ситуации с масштабируемым веб-приложением, которое управляет значительными объёмами пользовательских данных и транзакций, настройка этих механизмов может существенно улучшить управление доступом и сетевую безопасность. Это, в свою очередь, помогает предотвратить потенциальные угрозы и атаки, что критически важно для поддержания производительности и доступности данных. Таким образом, эффективно настроенные компоненты безопасности обеспечивают надёжный доступ к данным и минимизируют риски, связанные с увеличением нагрузки на приложение, улучшая общий пользовательский опыт.

Теперь давайте рассмотрим каждый из этих элементов более подробно.

Читать далее
Всего голосов 13: ↑13 и ↓0+14
Комментарии2

BTRFS для самых маленьких

Время на прочтение22 мин
Количество просмотров135K
Доброго времени суток, Хабравчане.  Я работаю в компании Veeam Software и являюсь одним из разработчиков нашего решения для бэкапа линукс систем. По роду занятий мне довелось столкнуться с BTRFS. Совсем недавно она перешла из статуса «еще не пригодно» в статус «стабильна». И пока её первые пользователи в сети обсуждали проблемные места и вопросы стабильности, мы в Veeam тыкали её палочкой и пытались бэкапить. Получалось, мягко говоря, не очень — слишком уж она другая, не похожая на традиционные файловые системы. Пришлось изучить немало аспектов и собрать множество граблей, прежде чем научились с ней работать. В процессе изучения BTRFS сумела произвести на меня впечатление как в хорошем смысле, так и не очень. Уверен, она не оставит равнодушным ни одного айтишника из мира линукс: одни будут плеваться, другие восхвалять.

Если вы слышали об этой файловой системе, но не знаете, зачем она, интересуетесь подробностями или ищете, с чего начать знакомство с ней — приглашаю под кат.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии59

Запускаем кластер OpenSearch для централизованного хранения логов

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров4.6K

Привет, Хабр! Я Максим Чудинов, инженер команды мониторинга в Cloud.ru. Одно из направлений нашей работы — обеспечение сбора логов с элементов инфраструктуры компании и их длительного хранения. Логи у нас хранятся в кластерах — их много и становится всё больше. Запускать новые и расширять существующие нужно быстро. Поэтому я разработал решение по автоматизации развертывания стека OpenSearch на виртуальных машинах с Ubuntu 20.04. О нем и расскажу в статье.

Читать дальше
Всего голосов 5: ↑4 и ↓1+3
Комментарии3

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

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров98K

Если посмотреть на северное полушарие неба, можно увидеть рукав Большой Медведицы и проследить взглядом его дугу, направленную к яркой звезде Арктур. Примерно в середине этой дуги находится созвездие Северной Короны, которое немного напоминает смайлик. Со дня на день, вплоть до сентября, с левой стороны Северной Короны зажжётся новая звезда, которая будет сиять там в течение примерно пяти дней.

Эта звёздная система называется T. Coronae Borealis, она также известна как Пылающая звезда, и большую часть времени она слишком тусклая, чтобы быть видимой невооружённым глазом. Но примерно раз в 80 лет сильный термоядерный взрыв делает её ярче более чем в 10 000 раз. В последний раз это произошло в 1946 году, так что теперь настала наша очередь увидеть его.

Читать далее
Всего голосов 69: ↑58 и ↓11+66
Комментарии178

VIM и редактирование файлов на удаленных серверах

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

Статья о том, как настроить vim в одном месте, а все файлы, которые находятся на других серверах, подгружать и работать локально. Понятно, что можно поставить vim на каждый удаленный сервер, настроить и работать по ssh, но не всегда есть такая возможность, хотя бы потому, что все быстро устаревает и чтобы использовать супер-современный vim со всеми плагинами и наворотами порой надо заменить OS на удалённом хосте.

Я здесь собрал кое-какие способы (не все), с помощью которых можно редактировать файлы, находящиеся на удаленных машинах, при этом используя свой локально настроенный и причесанный vim со всеми плюшками.

Читать далее
Всего голосов 13: ↑12 и ↓1+14
Комментарии16

Пользователи и авторизация RBAC в Kubernetes

Время на прочтение15 мин
Количество просмотров36K
Прим. перев.: Продолжая недавно затронутую нами тему безопасности Kubernetes в целом и RBAC — в частности, публикуем перевод этого материала от французского консультанта из международной компании Big Data-компании Adaltas. Автор в деталях показывает, как создавать пользователей, наделять их правами и в дальнейшем обслуживать.

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

(Иллюстрация взята из блога CNCF — прим. перев.)

Эта статья посвящена тому, как создавать пользователей, используя клиентские сертификаты X.509, и как управлять авторизацией с помощью базовых API-объектов RBAC в Kubernetes. Мы также поговорим о некоторых открытых проектах, упрощающих администрирование кластера: rakkess, kubectl-who-can, rbac-lookup и RBAC Manager.
Читать дальше →
Всего голосов 42: ↑41 и ↓1+40
Комментарии0

Kubernetes кластер за $20 в месяц

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

TL; DR


Поднимаем кластер для обслуживания веб-приложений без записи состояния (stateless web applications) вместе с ingress, letsencrypt, не используя средства автоматизации вроде kubespray, kubeadm и любых других.
Время на чтение: ~45-60 минут, на воспроизведение действий: от 3-х часов.


Преамбула


На написание статьи меня сподвигла потребность в своём собственном кластере kubernetes для экспериментов. Автоматические решения установки и настройки, которые есть в открытом доступе, не работали в моем случае, так как я использовал не-мейнстримовые дистрибутивы Linux. Плотная работа с kubernetes в IPONWEB стимулирует иметь такую площадку, решая свои задачи в комфортном ключе, в том числе и для домашних проектов.


Компоненты


В статье будут фигурировать следующие компоненты:


Ваш любимый Linux — я использовал Gentoo (node-1: systemd / node-2: openrc), Ubuntu 18.04.1.
Kubernetes Server — kube-apiserver, kube-controller-manager, kube-scheduler, kubelet, kube-proxy.
Containerd + CNI Plugins (0.7.4) — для организации контейнеризации возьмем containerd + CNI вместо docker (хотя изначально вся конфигурация была поднята на docker, так что ничего не помешает использовать его в случае необходимости).
CoreDNS — для организации service discovery компонентов, работающих внутри kubernetes кластера. Рекомендована версия не ниже 1.2.5, так как с этой версии появляется вменяемая поддержка работы coredns в качестве процесса, запущенного вне кластера.
Flannel — для организации сетевого стека, общения подов и контейнеров между собой.
Ваша любимая db.


Для всех

Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии10

Освоение журналов аудита Kubernetes

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.9K

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

Понимание того, как настраивать, управлять и интерпретировать эти журналы, критически важно для поддержания безопасности и соответствия требованиям в средах Kubernetes. Конкретно эта статья посвящена исследованию безопасности Kubernetes.

Настройка журналов аудита Kubernetes

Чтобы настроить и активировать журналы аудита Kubernetes, необходимо добавить специальные аргументы в конфигурацию kube-apiserver. Самым важным является аргумент audit-policy-file, который указывает на файл политики аудита. Этот файл определяет, какие события следует регистрировать и уровень детализации этих записей.

Вот необходимые аргументы для включения:

Читать далее
Всего голосов 3: ↑3 и ↓0+6
Комментарии0

Возврат заметок домой на Obsidian и git

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров8.5K

Сегодня в нашем кружке «оч.умелые клавиатурки» возврат блудных заметок домой. Долго пользовался платным Evernote, но оплатить его все труднее и дороже. Вернее даже так, сейчас я знаю всего один способ оплатить подписку через Билайн / МТС и Apple. Притом без оплаты подписки Evernote ужасен и порезан самым неприятным образом. Конечно есть ещё Notion, но кто знает как и когда он окуклиться как это случилось со временем с Evernote.

В качестве новой основы заметок я выбрал obsidian.md. Opensource, море документации, толпа плагинов, готовые сборки подо все используемые мне платформы, в общем, все как я люблю. Я верю что вы умеете ставить докер и немного понимаете ansible сценарии.

Читать далее
Всего голосов 11: ↑11 и ↓0+15
Комментарии39

Сказ о том, как мы Tarantool Kubernetes Operator писали

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

Kubernetes — это быстроразвивающийся opensource проект, позволяющий управлять контейнерами Linux как единой системой. Мы с лёгкостью можем запускать сложные системы, используя при этом yaml-конфигурации. Для управления системой применяются декларативные ресурсы. Иерархическая система ресурсов позволяет создавать большие системы с минимумом конфигов. Именно поэтому всё больше и больше людей переносит свою инфраструктуру внутрь Kubernetes, причём не только stateless-, но и statefull-приложения. Так зачем отказывать себе в удобстве и не использовать Tarantool внутри Kubernetes?

Привет, меня зовут Костя, и сегодня я расскажу про то, с чем мы столкнулись при разработке Tarantool Kubernetes Operator, Enterprise для Kubernetes / Openshift. Кому интересно — добро пожаловать под кат.

Читать далее
Всего голосов 43: ↑43 и ↓0+43
Комментарии2

Информация

В рейтинге
Не участвует
Откуда
Ростов-на-Дону, Ростовская обл., Россия
Дата рождения
Зарегистрирован
Активность