Kubernetes и кот Лихачева
4.2K subscribers
995 photos
28 videos
4 files
1.06K links
Все про Kubernetes и немного про кота Маркуса

Чат для конструктивного общения: https://t.iss.one/+Q4z_2ckAkBxhNWNi

Задать вопрос: https://t.iss.one/K8sSlurm_bot?start=question
Download Telegram
Что посмотреть на праздниках?

Вебинар по k8s и Ansible, например. На нём Павел Минкин и Всеволод Севостьянов развернули свой production ready кластер, который практически аналогичен решениям обычных провайдеров.

А потом запустили в этом кластере AI-приложение, защищенное TLS и открытое для внешнего мира.

Веб получился максимально практичным — со статистикой, логами, наблюдением за реальной нагрузкой системы и тестами на устойчивость и производительность.

Посмотреть запись вебинара можно тут ⬇️

YouTube
VK Видео
Rutube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Дайджест материалов апреля

По уже сложившейся традиции делюсь подборкой всех полезных материалов за этот месяц.

🐈 Как быть, если что-то сломалось?
Подробный гайд на случай, если сходу найти поломку не получается.

🐈 Как изучать k8s правильно?
И главное — зачем?

🐈 Почему полезно читать постмортемы по утрам
Недостаточно просто знать, как строятся большие системы. Важно понимать, как они ломаются.

🐈 Как изучать новое с пользой и с доставкой прямо в ваш inbox?
Подборка книг, подкастов и рассылок для буста в понимании k8s.

🐈 k8s 1.33
Разбор обновленной версии k8s.

🐈 Как развёртывать кластеры в условиях отсутствия интернета?
Статья от моего коллеги Георга Гаала.

🐈 CRI, CSI, CNI
Разбор CRI, CSI, CNI через призму того, что именно делает Kubernetes.

🐈 Align expectations
Почему важно согласовывать ожидания, и как это делать правильно.

🐈 Собесы с алгоритмами — это лишь входной фильтр! В BigTech рулят совсем другие навыки (и это не код).
Часть 1
Часть 2

🐈 Технический долг на уровне инфраструктуры: как его замечать и устранять
Вымышленные истории про невымышленные проблемы.

🐈 Ansible в действии. Разворачиваем кластер с Kubespray и запускаем AI-приложение.
Запись практического вебинара от моих коллег Павла Минкина и Всеволода Севостьянова.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3🤩3💯1
Kubernetes База: старт уже через неделю

Выходим с праздников и сразу погружаемся в изучение кубов — новый поток стартует 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
🔥21👍1🗿1
Траблшутеры на базовом курсе?

Да! Мы добавили их во второй и третий модули «Kubernetes База» на тарифе VIP. Вам будут предоставлены приложения, которые нужно развернуть в нашем кластере. Без проблем, конечно, не обойдётся — их нужно найти и устранить.

➡️ Чтобы вы точно смогли во всём разобраться, мы добавили в программу некоторые подсказки и примеры эталонных решений.

Также в этом тарифе есть дополнительный практикум с комплексным заданием по материалам курса — так вы сможете проверить свои знания и навыки перед основной сертификацией.

Узнать больше про тарифы — на странице курса.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Давно у нас с вами лайвов не было

Предлагаю встретиться в понедельник. Вместе со мной на лайве будет Никита Хромушкин, технический руководитель кластера в Авито и автор @product_developer

Поговорим о том, как различаются роли в технических командах: кто такой тимлид, техлид, стафф и принципал (и зачем вообще всё это нужно).

Ну и попробуем отговорить вас становиться тимлидом. Или хотя бы предупредим, во что вы вляпаетесь.

➡️ Когда: 12 мая в 18:00 мск

Предварительная регистрация не нужна. Просто включайте уведомления, чтобы не пропустить начало трансляции.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Придете на лайв?
Anonymous Poll
53%
Да!
47%
Не в этот раз.
👍3
Привет! На связи Маркус.

Новости к этому часу:

🐈 Майские праздники закончились, и я спрятался в коробке, чтобы работа меня не нашла (на самом деле просто из солидарности с вами, мне ведь не надо работать, я же кот).

🐈 Стартовал поток Kubernetes База — начального курса по k8s для инженеров и администраторов. Студенты уже знакомятся друг с другом, с кураторами и менторам, но вы все ещё можете к ним присоединиться.

Подробности — на странице курса.

🐈 Сегодня вечером на канале будет прямой эфир — мой человек встретится с Никитой Хромушкиным, чтобы обсудить роли в технических командах.

Приглашены все наши подписчики. Начало в 18:00 мск. Подключайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
6😁1
Live stream scheduled for
🐈 Прямой эфир через 5 минут 🐈

Всех ждём!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Live stream finished (1 hour)
Траблшутинг в k8s: инструменты и лайфхаки для разработчиков

Бывали у вас сложные кейсы дебага ваших сервисов, когда логи ничего полезного не показывают, метрики молчат, а проблема есть, но непонятно, где?

➡️ У меня — да.

Завтра в 19:00 мы с Кириллом Борисовым встретимся в прямом эфире, чтобы разобрать как основы дебага сервисов в кубе, так и продвинутые механизмы для более сложных случаев.

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

Полезно будет, даже если ваши сервисы крутятся на bare metal или VM без намека на оркестрацию.

➡️ Когда: 14 мая в 19:00 мск

Занять место на вебинаре — через бота.

Научиться правильно разрабатывать приложение под k8s и запускать его в кластере — на курсе «Kubernetes для разработчиков».
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓1
Привет, на связи Маркус 🐈

Решил вздремнуть, пока вебинар по траблшутингу не начался. Кстати, он уже через час. Подробно про программу — в этом посте.

Ссылки на трансляцию придут в бота за 10 минут до старта — советую запустить его сейчас, чтобы ничего не пропустить.

➡️ ЗАНЯТЬ МЕСТО НА ВЕБИНАРЕ ⬅️
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🐈 Стартуем через 15 минут! 🐈

Подключайтесь
Please open Telegram to view this post
VIEW IN TELEGRAM
Траблшутинг в k8s: запись вебинара

Вчера встречались с Кириллом Борисовым, чтобы поговорить про траблшутинг, разобрать основы и продвинутые механизмы дебага. Посмотрели инструменты, начиная от банального kubectl logs, продолжив использованием exec, debug, port-forward и прочих встроенных штук, и закончили по хардкору: strace, tcpdump, eBPF и много чего ещё.

Запись можно посмотреть тут ⬇️

YouTube
VK Видео
Rutube

А ещё на вебинаре был секретный промокод на скидку 15% на курс «Kubernetes для разработчиков». Делюсь им с вами:

KUBDEV5

На курсе учимся правильно разрабатывать приложение под k8s и запускать его в кластере.

➡️ Занять место со скидкой — по ссылке.

ВАЖНО! Воспользоваться промокодом можно только сегодня, ровно в полночь волшебство перестанет действовать.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3
API, за которые не стыдно

Сколько раз вы, глядя на API своих сервисов, пытались по метрикам угадать, кто и, главное, зачем в него стучится? А сколько раз приходилось саппортить легаси, где авторы давно сменили проект, страну или даже профессию, оставив после себя свалку из API endpoints, которые трогать — себе дороже?

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

И да, наш любимый Кубер поможет нам не только развернуть это добро, но и правильно его готовить и обслуживать.

🔷 Читать — по ссылке 🔷
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9🌚1
Привет, на связи Маркус

Я вернулся, чтобы сказать вам, что продвинутый курс по k8s для разработчиков стартует уже через неделю.

🐈 Фундаментальные знания с акцентом на разработку
🐈 79% программы — практика и работа со стендами
🐈 Траблшутинг
🐈 Итоговая сертификация, которая закрепляет весь пройденный материал и навыки

Практика на курсе обновлена в сентябре 2024 года (свежее всех на свете рыбов, даже нидерландской селёдки).

Подробности — на странице курса.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3👍2
Обновляем k8s без слез
Часть 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 есть это.

И есть в документации одна замечательная строка

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 году.

Все началось с коаксиальных кабелей. У них была куча проблем: малая гибкость, скорость, стоимость.

Все изменилось, когда витая пара пошла в массы. О, сколько кабелей было обжато кримпером.

А схема обжима заучена наизусть. Вот шпаргалка по порядку выбора проводов:
😁12👍81