Kubernetes и кот Лихачева
4.32K subscribers
1K 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
Собесы с алгоритмами — это лишь входной фильтр!
Часть 2

Вчера мы уже начали говорить о том, какие навыки нужны, чтобы выжить в бигтехе. Системы огромные, сложные, взаимосвязанные (и запутанные настолько, что простая задача может занять недели ресерча). Одна маленькая ошибка может положить всю инфраструктуру.

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

➡️ 1. Системное мышление: видеть что происходит вокруг твоего пузыря

Системное мышление — это не просто умение разбираться в коде. Это умение видеть, как этот код влияет на другие системы, как он масштабируется, как он влияет на performance, security, reliability, scalability, maintainability, observability и прочие ***bility.

Это умение думать не только о том, как решить конкретную задачу, но и о том, какие последствия это решение повлечет за собой в долгосрочной перспективе (годы).

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

➡️ 2. Ownership: твоя система — твоя ответственность

Ownership — это, пожалуй, самое затасканное слово в корпоративном сленге, но, тем не менее, чертовски важное. Это когда ты чувствуешь ответственность за свой код, за свой проект, за свой продукт. Это когда ты не просто "выполняешь задачу", а делаешь все возможное, чтобы этот код был качественным, чтобы этот проект был успешным, чтобы этот продукт приносил пользу пользователям.

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

В бигтехе ownership — это как раз то, что отличает посредственного инженера от отличного. Потому что в огромных системах никто не будет стоять над тобой с кнутом и указывать, что делать. Ты сам должен быть заинтересован в том, чтобы все работало как надо. (А если не работает - ты первый побежишь это чинить в три часа ночи).

➡️ 3. Навыки коммуникации: донести свои идеи крайне важно

Иногда проще часами копаться в коде, чем поговорить с коллегой. Но в бигтехе коммуникация — это ключевой навык.

Потому что, как я уже говорил, системы здесь огромные и сложные. И чтобы все работало как надо, нужно уметь общаться с разными людьми: с другими инженерами, тестировщиками, аналитиками, маркетологами, менеджерами и так далее.

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

В общем, коммуникация — это ключ к успеху. Без нее даже самый крутой код будет сложно довести до ума. А умение четко и лаконично доносить сложные технические детали до людей, которые в этом вообще не разбираются — это вообще магия вне Хогвартса.

🐈 Вывод

Конечно, хардскиллы важны. Но если вы хотите добиться успеха в бигтехе, вам нужно развивать и свои софтскиллы. Системное мышление, ownership и коммуникация – это то, что отличает хорошего инженера от отличного. И то, что делает вашу работу не просто созданием коммитов в git.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥42
Технический долг на уровне инфраструктуры: как его замечать и устранять

Техдолг на уровне инфраструктуры — опасная вещь.

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

Подготовил для вас три кейса — каждый из них является вымыслом автора и не имеет ничего общего с реальностью.

➡️ Читать — по ссылке ⬅️

А если хотите почитать детальные разборы реальных инцидентов, вам сюда. Разбор нескольких кейсов с этого сайта я уже делал в этом посте.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👀1
Что посмотреть на праздниках?

Вебинар по 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