Что посмотреть на праздниках?
Вебинар по k8s и Ansible, например. На нём Павел Минкин и Всеволод Севостьянов развернули свой production ready кластер, который практически аналогичен решениям обычных провайдеров.
А потом запустили в этом кластере AI-приложение, защищенное TLS и открытое для внешнего мира.
Веб получился максимально практичным — со статистикой, логами, наблюдением за реальной нагрузкой системы и тестами на устойчивость и производительность.
Посмотреть запись вебинара можно тут⬇️
YouTube
VK Видео
Rutube
Вебинар по k8s и Ansible, например. На нём Павел Минкин и Всеволод Севостьянов развернули свой production ready кластер, который практически аналогичен решениям обычных провайдеров.
А потом запустили в этом кластере AI-приложение, защищенное TLS и открытое для внешнего мира.
Веб получился максимально практичным — со статистикой, логами, наблюдением за реальной нагрузкой системы и тестами на устойчивость и производительность.
Посмотреть запись вебинара можно тут
YouTube
VK Видео
Rutube
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Ansible в действии. Разворачиваем кластер с Kubespray и запускаем AI-приложение
На вебинаре Павел Минкин и Всеволод Севостьянов расскажут и покажут, как:
🔹 развернуть Kubernetes-кластер с помощью Kubespray и не сойти с ума от конфигов;
🔹 запустить AI-приложение в контейнере и открыть его для внешнего мира;
🔹 автоматизировать управление…
🔹 развернуть Kubernetes-кластер с помощью Kubespray и не сойти с ума от конфигов;
🔹 запустить AI-приложение в контейнере и открыть его для внешнего мира;
🔹 автоматизировать управление…
👍3❤1
Дайджест материалов апреля
По уже сложившейся традиции делюсь подборкой всех полезных материалов за этот месяц.
🐈 Как быть, если что-то сломалось?
Подробный гайд на случай, если сходу найти поломку не получается.
🐈 Как изучать k8s правильно?
И главное — зачем?
🐈 Почему полезно читать постмортемы по утрам
Недостаточно просто знать, как строятся большие системы. Важно понимать, как они ломаются.
🐈 Как изучать новое с пользой и с доставкой прямо в ваш inbox?
Подборка книг, подкастов и рассылок для буста в понимании k8s.
🐈 k8s 1.33
Разбор обновленной версии k8s.
🐈 Как развёртывать кластеры в условиях отсутствия интернета?
Статья от моего коллеги Георга Гаала.
🐈 CRI, CSI, CNI
Разбор CRI, CSI, CNI через призму того, что именно делает Kubernetes.
🐈 Align expectations
Почему важно согласовывать ожидания, и как это делать правильно.
🐈 Собесы с алгоритмами — это лишь входной фильтр! В BigTech рулят совсем другие навыки (и это не код).
Часть 1
Часть 2
🐈 Технический долг на уровне инфраструктуры: как его замечать и устранять
Вымышленные истории про невымышленные проблемы.
🐈 Ansible в действии. Разворачиваем кластер с Kubespray и запускаем AI-приложение.
Запись практического вебинара от моих коллег Павла Минкина и Всеволода Севостьянова.
По уже сложившейся традиции делюсь подборкой всех полезных материалов за этот месяц.
Подробный гайд на случай, если сходу найти поломку не получается.
И главное — зачем?
Недостаточно просто знать, как строятся большие системы. Важно понимать, как они ломаются.
Подборка книг, подкастов и рассылок для буста в понимании k8s.
Разбор обновленной версии k8s.
Статья от моего коллеги Георга Гаала.
Разбор CRI, CSI, CNI через призму того, что именно делает Kubernetes.
Почему важно согласовывать ожидания, и как это делать правильно.
Часть 1
Часть 2
Вымышленные истории про невымышленные проблемы.
Запись практического вебинара от моих коллег Павла Минкина и Всеволода Севостьянова.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3🤩3💯1
Kubernetes База: старт уже через неделю
Выходим с праздников и сразу погружаемся в изучение кубов — новый поток стартует 12 мая.
Изучить полную программу курса и занять место на потоке — по ссылке.
Выходим с праздников и сразу погружаемся в изучение кубов — новый поток стартует 12 мая.
Через 6 недель вы будете уметь:➡️ Устанавливать кластер Kubernetes, использовать kubespray для автоматизации процесса установки, а также настраивать необходимые компоненты кластера, такие как metrics server и ingress controller➡️ Создавать и управлять Deployment в Kubernetes, конфигурировать переменные окружения для контейнеров, а также работать с логами подов➡️ Создавать DaemonSet, настраивать сетевые параметры контейнеров и обеспечивать запуск подов на всех узлах кластера➡️ Создавать и настраивать сервисы и Ingress для маршрутизации трафика в кластере Kubernetes➡️ Устанавливать и использовать Helm для управления приложениями в Kubernetes, а также конфигурировать и развертывать Grafana с помощью Helm➡️ Устанавливать и использовать Longhorn для управления постоянными томами, а также создавать и масштабировать StatefulSet и Deployment, использующие эти тома➡️ Выполнять администрирование узлов кластера Kubernetes, изменять настройки kubelet и управлять размещением подов
Изучить полную программу курса и занять место на потоке — по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1👍1🗿1
Траблшутеры на базовом курсе?
Да! Мы добавили их во второй и третий модули «Kubernetes База» на тарифе VIP. Вам будут предоставлены приложения, которые нужно развернуть в нашем кластере. Без проблем, конечно, не обойдётся — их нужно найти и устранить.
➡️ Чтобы вы точно смогли во всём разобраться, мы добавили в программу некоторые подсказки и примеры эталонных решений.
Также в этом тарифе есть дополнительный практикум с комплексным заданием по материалам курса — так вы сможете проверить свои знания и навыки перед основной сертификацией.
Узнать больше про тарифы — на странице курса.
Да! Мы добавили их во второй и третий модули «Kubernetes База» на тарифе VIP. Вам будут предоставлены приложения, которые нужно развернуть в нашем кластере. Без проблем, конечно, не обойдётся — их нужно найти и устранить.
Также в этом тарифе есть дополнительный практикум с комплексным заданием по материалам курса — так вы сможете проверить свои знания и навыки перед основной сертификацией.
Узнать больше про тарифы — на странице курса.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Давно у нас с вами лайвов не было
Предлагаю встретиться в понедельник. Вместе со мной на лайве будет Никита Хромушкин, технический руководитель кластера в Авито и автор @product_developer
Поговорим о том, как различаются роли в технических командах: кто такой тимлид, техлид, стафф и принципал (и зачем вообще всё это нужно).
Ну и попробуем отговорить вас становиться тимлидом. Или хотя бы предупредим, во что вы вляпаетесь.
➡️ Когда: 12 мая в 18:00 мск
Предварительная регистрация не нужна. Просто включайте уведомления, чтобы не пропустить начало трансляции.
Предлагаю встретиться в понедельник. Вместе со мной на лайве будет Никита Хромушкин, технический руководитель кластера в Авито и автор @product_developer
Поговорим о том, как различаются роли в технических командах: кто такой тимлид, техлид, стафф и принципал (и зачем вообще всё это нужно).
Предварительная регистрация не нужна. Просто включайте уведомления, чтобы не пропустить начало трансляции.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
👍3
Привет! На связи Маркус.
Новости к этому часу:
🐈 Майские праздники закончились, и я спрятался в коробке, чтобы работа меня не нашла (на самом деле просто из солидарности с вами, мне ведь не надо работать, я же кот).
🐈 Стартовал поток Kubernetes База — начального курса по k8s для инженеров и администраторов. Студенты уже знакомятся друг с другом, с кураторами и менторам, но вы все ещё можете к ним присоединиться.
Подробности — на странице курса.
🐈 Сегодня вечером на канале будет прямой эфир — мой человек встретится с Никитой Хромушкиным, чтобы обсудить роли в технических командах.
Приглашены все наши подписчики. Начало в 18:00 мск. Подключайтесь!
Новости к этому часу:
Подробности — на странице курса.
Приглашены все наши подписчики. Начало в 18:00 мск. Подключайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6😁1
Траблшутинг в k8s: инструменты и лайфхаки для разработчиков
Бывали у вас сложные кейсы дебага ваших сервисов, когда логи ничего полезного не показывают, метрики молчат, а проблема есть, но непонятно, где?
➡️ У меня — да.
Завтра в 19:00 мы с Кириллом Борисовым встретимся в прямом эфире, чтобы разобрать как основы дебага сервисов в кубе, так и продвинутые механизмы для более сложных случаев.
🔷 начнём с kubectl,
🔷 посмотрим сайдкар контейнеры и узнаем, зачем их использовать,
🔷 разберёмся с сетевыми проблемами,
🔷 научимся использовать strace для сложных случаев.
Полезно будет, даже если ваши сервисы крутятся на bare metal или VM без намека на оркестрацию.
➡️ Когда: 14 мая в 19:00 мск
Занять место на вебинаре — через бота.
Научиться правильно разрабатывать приложение под k8s и запускать его в кластере — на курсе «Kubernetes для разработчиков».
Бывали у вас сложные кейсы дебага ваших сервисов, когда логи ничего полезного не показывают, метрики молчат, а проблема есть, но непонятно, где?
Завтра в 19:00 мы с Кириллом Борисовым встретимся в прямом эфире, чтобы разобрать как основы дебага сервисов в кубе, так и продвинутые механизмы для более сложных случаев.
Полезно будет, даже если ваши сервисы крутятся на bare metal или VM без намека на оркестрацию.
Занять место на вебинаре — через бота.
Научиться правильно разрабатывать приложение под k8s и запускать его в кластере — на курсе «Kubernetes для разработчиков».
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓1
Привет, на связи Маркус 🐈
Решил вздремнуть, пока вебинар по траблшутингу не начался. Кстати, он уже через час. Подробно про программу — в этом посте.
Ссылки на трансляцию придут в бота за 10 минут до старта — советую запустить его сейчас, чтобы ничего не пропустить.
➡️ ЗАНЯТЬ МЕСТО НА ВЕБИНАРЕ ⬅️
Решил вздремнуть, пока вебинар по траблшутингу не начался. Кстати, он уже через час. Подробно про программу — в этом посте.
Ссылки на трансляцию придут в бота за 10 минут до старта — советую запустить его сейчас, чтобы ничего не пропустить.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
VK Видео
Траблшутинг в k8s: инструменты и лайфхаки для разработчиков
Что будем обсуждать: - начнём с kubectl, - посмотрим сайдкар контейнеры и узнаем, зачем их использовать, - разберёмся с сетевыми проблемами, - научимся использовать strace для сложных случаев. Будет полезно, даже если ваши сервисы крутятся на bare metal…
Траблшутинг в k8s: запись вебинара
Вчера встречались с Кириллом Борисовым, чтобы поговорить про траблшутинг, разобрать основы и продвинутые механизмы дебага. Посмотрели инструменты, начиная от банального kubectl logs, продолжив использованием exec, debug, port-forward и прочих встроенных штук, и закончили по хардкору: strace, tcpdump, eBPF и много чего ещё.
Запись можно посмотреть тут⬇️
YouTube
VK Видео
Rutube
А ещё на вебинаре был секретный промокод на скидку 15% на курс «Kubernetes для разработчиков». Делюсь им с вами:
KUBDEV5
На курсе учимся правильно разрабатывать приложение под k8s и запускать его в кластере.
➡️ Занять место со скидкой — по ссылке.
Вчера встречались с Кириллом Борисовым, чтобы поговорить про траблшутинг, разобрать основы и продвинутые механизмы дебага. Посмотрели инструменты, начиная от банального kubectl logs, продолжив использованием exec, debug, port-forward и прочих встроенных штук, и закончили по хардкору: strace, tcpdump, eBPF и много чего ещё.
Запись можно посмотреть тут
YouTube
VK Видео
Rutube
А ещё на вебинаре был секретный промокод на скидку 15% на курс «Kubernetes для разработчиков». Делюсь им с вами:
На курсе учимся правильно разрабатывать приложение под k8s и запускать его в кластере.
ВАЖНО! Воспользоваться промокодом можно только сегодня, ровно в полночь волшебство перестанет действовать.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3
API, за которые не стыдно
Сколько раз вы, глядя на API своих сервисов, пытались по метрикам угадать, кто и, главное, зачем в него стучится? А сколько раз приходилось саппортить легаси, где авторы давно сменили проект, страну или даже профессию, оставив после себя свалку из API endpoints, которые трогать — себе дороже?
Сегодня мы разберемся, как проектировать API, которые выдержат испытание временем, переживут несколько поколений команд-разрабов и не станут причиной твоего профессионального выгорания.
И да, наш любимый Кубер поможет нам не только развернуть это добро, но и правильно его готовить и обслуживать.
🔷 Читать — по ссылке 🔷
Сколько раз вы, глядя на API своих сервисов, пытались по метрикам угадать, кто и, главное, зачем в него стучится? А сколько раз приходилось саппортить легаси, где авторы давно сменили проект, страну или даже профессию, оставив после себя свалку из API endpoints, которые трогать — себе дороже?
Сегодня мы разберемся, как проектировать API, которые выдержат испытание временем, переживут несколько поколений команд-разрабов и не станут причиной твоего профессионального выгорания.
И да, наш любимый Кубер поможет нам не только развернуть это добро, но и правильно его готовить и обслуживать.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
API, за которые не стыдно
ПРОБЛЕМА: API на коленке или планирование уровня тяп-ляп и в продакшн API, спроектированные по принципу лишь бы работало и побыстрее, неизбежно создают техдолг. Хаотичные изменения, полное игнорирование версионирования, отсутствие внятной политики вывода…
🔥9🌚1
Привет, на связи Маркус
Я вернулся, чтобы сказать вам, что продвинутый курс по k8s для разработчиков стартует уже через неделю.
🐈 Фундаментальные знания с акцентом на разработку
🐈 79% программы — практика и работа со стендами
🐈 Траблшутинг
🐈 Итоговая сертификация, которая закрепляет весь пройденный материал и навыки
Практика на курсе обновлена в сентябре 2024 года(свежее всех на свете рыбов, даже нидерландской селёдки).
Подробности — на странице курса.
Я вернулся, чтобы сказать вам, что продвинутый курс по k8s для разработчиков стартует уже через неделю.
Практика на курсе обновлена в сентябре 2024 года
Подробности — на странице курса.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3👍2
Обновляем k8s без слез
Часть 1
Представьте, что вы решили обновить свой кластер Kubernetes. Все здорово, новые фичи, исправление уязвимостей, новые баги.
Но что, если что-то сломается? Что, если вы используете deprecated API, которые в новой версии Kubernetes решили выпилить?
➡️ Вот тут-то на помощь приходит
Что такое Kubent и зачем он нужен?
Как работает?
Он подключается к кластеру, используя ваш kubeconfig, получает информацию о ресурсах кластера и на основе списка заданных правил сообщает, какие из используемых API стали deprecated.
Вы, вероятно, слышали про язык rego для написания политик в open policy agent.
Не самый удобный язык, скажем так. Однако именно он работает внутри
Например, здесь мы видим, что функционал volume snapshots с бета версией, которые впервые стал general availability в k8s аж в версии 1.20, когда-то будет удален из k8s.
Другими словами
перестанет работать и останется только
Гайд по установке можно найти тут.
Как исправить найденные проблемы
После анализа результатов вам нужно исправить все проблемы, связанные с использованием deprecated API. Для этого вам нужно обновить манифесты ресурсов, чтобы использовать актуальные API версии.
Часть 1
Представьте, что вы решили обновить свой кластер Kubernetes. Все здорово, новые фичи, исправление уязвимостей, новые баги.
Но что, если что-то сломается? Что, если вы используете deprecated API, которые в новой версии Kubernetes решили выпилить?
kubent
.Что такое Kubent и зачем он нужен?
Kubent
(kube no trouble) — это инструмент, который сканирует ваш кластер и сообщает об использовании deprecated API. Другими словами, kubent
заранее предупреждает о возможных проблемах, позволяя вам подготовиться к обновлению кластера.Как работает?
Он подключается к кластеру, используя ваш kubeconfig, получает информацию о ресурсах кластера и на основе списка заданных правил сообщает, какие из используемых API стали deprecated.
Вы, вероятно, слышали про язык rego для написания политик в open policy agent.
Не самый удобный язык, скажем так. Однако именно он работает внутри
kubent
: правила можно посмотреть здесь.Например, здесь мы видим, что функционал volume snapshots с бета версией, которые впервые стал general availability в k8s аж в версии 1.20, когда-то будет удален из k8s.
Другими словами
apiVersion: snapshot.storage.k8s.io/v1beta1
перестанет работать и останется только
apiVersion: snapshot.storage.k8s.io/v1
Гайд по установке можно найти тут.
Как исправить найденные проблемы
После анализа результатов вам нужно исправить все проблемы, связанные с использованием deprecated API. Для этого вам нужно обновить манифесты ресурсов, чтобы использовать актуальные API версии.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Обновляем k8s без слез
Часть 2
Продолжаем говорить про обновление k8s, и сегодня разберём другую проблему, с которой можно столкнуться.
К сожалению в базе правил нет многих сторонних инструментов. Например, правил для istio, где большая часть CRD перешла в стабильную стадию.
Конкретно для istio есть это.
И есть в документации одна замечательная строка
Прекрасно, разбирайтесь сами, что поддерживается, копаясь в коде 😂
Например, для определения deprecated APIs и полей можно посмотреть это или запустить
По итогу со всей этой гонкой апдейтов получаем большой operational toil: добавляем сотни разных CRD в кластер и затем нужно отслеживать, а не сломаются ли они при релизе новой версии стороннего контроллера/оператора. А сбоку появляются и дополнительные приколы, связанные не просто с deprecation, а с полной миграцией настроек одного API на другой API.
Да, речь про gateway API.
Мы вам создали ресурсы ingress, но поняли, что сделали плохо, поэтому теперь точно сделаем хорошо, пострадайте всего лишь еще один раз, переписывая манифесты под новый формат (и попутно создавая новые баги, с которыми еще не встречались). При этом gateway API, на мой взгляд, очень сильно напоминает ресурсы istio.
На самом деле, конечно же, это не так, ingress обещают поддерживать условно бесконечно.
Про gateway API и почему его создали расскажу в другой раз.
И напоследок: альтернативный инструмент. Он уже, кажется, поддерживает побольше deprecated APIs из коробки. Посмотреть можно здесь.
Часть 2
Продолжаем говорить про обновление k8s, и сегодня разберём другую проблему, с которой можно столкнуться.
К сожалению в базе правил нет многих сторонних инструментов. Например, правил для istio, где большая часть CRD перешла в стабильную стадию.
Конкретно для istio есть это.
И есть в документации одна замечательная строка
What analyzers are supported today?
We’re still working to documenting the analyzers. In the meantime, you can see all the analyzers in the Istio source.
Прекрасно, разбирайтесь сами, что поддерживается, копаясь в коде 😂
Например, для определения deprecated APIs и полей можно посмотреть это или запустить
istioctl analyze
на вашем кластере.По итогу со всей этой гонкой апдейтов получаем большой operational toil: добавляем сотни разных CRD в кластер и затем нужно отслеживать, а не сломаются ли они при релизе новой версии стороннего контроллера/оператора. А сбоку появляются и дополнительные приколы, связанные не просто с deprecation, а с полной миграцией настроек одного API на другой API.
Да, речь про gateway API.
Мы вам создали ресурсы ingress, но поняли, что сделали плохо, поэтому теперь точно сделаем хорошо, пострадайте всего лишь еще один раз, переписывая манифесты под новый формат (и попутно создавая новые баги, с которыми еще не встречались). При этом gateway API, на мой взгляд, очень сильно напоминает ресурсы istio.
На самом деле, конечно же, это не так, ingress обещают поддерживать условно бесконечно.
Про gateway API и почему его создали расскажу в другой раз.
И напоследок: альтернативный инструмент. Он уже, кажется, поддерживает побольше deprecated APIs из коробки. Посмотреть можно здесь.
🔥4👍3
Ностальгии пост
Если вам далеко за 30 и вы давно в IT, то велика вероятность, что вы когда-то (может и сейчас) работали сисадмином (или программистом-админом-эникеем-заправлятелем принтеров).
Это были те времена, когда «войти в IT» никому не было нужно, и сильно больших перспектив в отрасли вряд ли можно было достичь. Обычная обслуживающая работа: починить, настроить, поставить, автоматизировать.
Ключевые слова для олдов: башорг, итхэппенс, лор, ирка, домовые сети.
Я сам начинал админствовать помаленьку с линуксовыми серверами, поднимал IP телефонию поверх openvpn между филиалами одной конторы (о, эти часы копания с tcpdump с поисками, где теряется голосовой трафик), переносил почтовый сервер с полумертвого железа с сохранением всех почтовых ящиков, автоматизировал раскатывание новых машин через PXE boot, внедрял zabbix там, где о мониторинге и не думали, и многое другое.
И, что самое главное, все это стало возможным благодаря развитию сетей. Без нормальной сетевой связности с низкой latency и с высоким throughput не было бы ни кубернетиса, ни прочих распределенных систем.
Скажем за все спасибо ETHERNET!
Итак, сегодня, 22 мая, день рождения ethernet. Считается, что технология была изобретена аж в 1973 году.
Все началось с коаксиальных кабелей. У них была куча проблем: малая гибкость, скорость, стоимость.
Все изменилось, когда витая пара пошла в массы. О, сколько кабелей было обжато кримпером.
А схема обжима заучена наизусть. Вот шпаргалка по порядку выбора проводов:
Развели тут кубернетисы и прочие прометеусы.
Вот в наше время сервера были настоящие, их можно было потрогать и еще они могли прикольно делать пшшш, если внутри что-то сгорало, а не эти ваши бездушные облака, в которых и железо не потрогаешь.
Эх, где мои патч-корды!
Если вам далеко за 30 и вы давно в IT, то велика вероятность, что вы когда-то (может и сейчас) работали сисадмином (или программистом-админом-эникеем-заправлятелем принтеров).
Это были те времена, когда «войти в IT» никому не было нужно, и сильно больших перспектив в отрасли вряд ли можно было достичь. Обычная обслуживающая работа: починить, настроить, поставить, автоматизировать.
Ключевые слова для олдов: башорг, итхэппенс, лор, ирка, домовые сети.
Я сам начинал админствовать помаленьку с линуксовыми серверами, поднимал IP телефонию поверх openvpn между филиалами одной конторы (о, эти часы копания с tcpdump с поисками, где теряется голосовой трафик), переносил почтовый сервер с полумертвого железа с сохранением всех почтовых ящиков, автоматизировал раскатывание новых машин через PXE boot, внедрял zabbix там, где о мониторинге и не думали, и многое другое.
И, что самое главное, все это стало возможным благодаря развитию сетей. Без нормальной сетевой связности с низкой latency и с высоким throughput не было бы ни кубернетиса, ни прочих распределенных систем.
Скажем за все спасибо ETHERNET!
Итак, сегодня, 22 мая, день рождения ethernet. Считается, что технология была изобретена аж в 1973 году.
Все началось с коаксиальных кабелей. У них была куча проблем: малая гибкость, скорость, стоимость.
Все изменилось, когда витая пара пошла в массы. О, сколько кабелей было обжато кримпером.
А схема обжима заучена наизусть. Вот шпаргалка по порядку выбора проводов:
😁12👍8❤1