Kubernetes и кот Лихачева
4.21K 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
➡️ Язык

Официальный язык — нидерландский. Он довольно сложный для изучения и произношения. Помимо Нидерландов, на нидерландском говорят в Бельгии, например.

Интересно, что нидерландский язык имеет схожесть с немецким и английским, что облегчает его изучение для носителей этих языков (но это неточно), но мало помогает, когда всю жизнь учил английский как второй язык 🙂

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

Посмотрим на несколько фраз

🟠 Hello, how are you? → Hallo, hoe gaat het?
🟠 How much does this cheese head cost? → Hoeveel kost deze kaaskop?
🟠 I want to rent a bike. → Ik wil een fiets huren.

Но есть и варианты, когда слова очень похожи с английским на слух.

🟠 My phone is dead. → Mijn telefoon is dood.
🟠 I want to drink. → Ik wil drinken.
🟠 Can you help me? → Kan je mij helpen?

И нет, произносится все это далеко не как в английском.

А слово fiets (велосипед) было одно из первых, что я выучил, но про транспорт в другой раз.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1
➡️ Прямолинейность

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

➡️ Планирование

Нидерландцы придают большое значение планированию. Спонтанные встречи не являются обычным делом; даже чтобы выпить кофе, часто требуется договориться за несколько дней или недель.
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
➡️ Еда

Подумайте, о каких блюдах/продуктах ваш мозг вспоминает при упоминании Нидерландов?

Вероятно, это сыр и селедка.

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

А на специализированных сырных рынках или на сыроварнях, коих тоже великое множество, можно попробовать 50-100 видов сыра с различными добавками.

Кстати, на сырных рынках можно увидеть, как носили сыр в прошлом. Довольно удобно и не перегружает спину. Сам не пробовал, но кажется это так должно работать.
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍6
Селедка — очень популярна и часто ее едят прямо на улице. Продается в специальных киосках, и традиционно ее едят, запрокинув голову и опустив рыбу в рот, что может показаться необычным поначалу.

Традиционный вид продукта включает флаг Нидерландов 🙂 и часто подается с луком и маринованными огурцами.
1👍1
Однако стоит опасаться чаек, они очень наглые и легко украдут рыбу прямо из под носа (или изо рта и это не шутка), поэтому в местах скопления этих птичек нужно быть очень осторожным и лучше есть рыбу под навесом :)

Посмотрите видео и проникнитесь их напористостью ⬇️
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁71🔥1
➡️ Погода

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

А дожди? Может и 2 дня подряд лить с переменной интенсивностью. И что еще я выучил. Если KNMI (Королевский Нидерландский метеорологический институт) объявляет code orange, иногда лучше прислушаться, потому что штормы бывают довольно ощутимые. К счастью, нечасто.

И напоследок

Отличительная особенность голландцев — они довольно высокие.

Из-за этого, например, на концертах, приходится искать себе место среди людей, чтобы увидеть сцену, а не спину голландца :)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Почему Нидерланды не тонут, несмотря на то, что часть страны находится ниже уровня моря? 🌊🇳🇱
Anonymous Quiz
67%
Построена сложная система дамб и плотин
10%
Воду выливают в соседние страны
23%
Это всё заговор! На самом деле Голландии не существует
🤩1
Защищаем инфраструктуру Kubernetes без боли

➡️ вебинар уже в этот четверг

Что будем обсуждать:

🟠 что есть в экосистеме k8s;
🟠 зачем это применять;
🟠 когда не оправдано закручивание гаек в инфраструктуре.

Поговорим, кому и зачем нужно защищать инфраструктуру в k8s, разберем многоэтапный процесс построения security и дадим рекомендации, основанные на собственных ошибках и шишках.

Спикеры:
➡️ Виталий Лихачев — со мной, надеюсь, вы уже знакомы. Если нет, ловите ссылку на приветственный пост.
➡️ Всеволод Севостьянов, Staff engineer в Lokalise

🐈 Специальный гость — кот Маркус (придёт, только если увидит много 🔥 под этим постом).

Когда: 27 марта в 20:00

Занять место на вебинаре — через бота. Ждём вас!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥81
Когда я уже что-то понимал про k8s, но все еще страдал, моя главная проблема была...

Выберите вариант ответа, который ближе всего лично вам или расскажите об этом в комментариях, а через пару часов я расскажу, что было моей главной проблемой ⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Как k8s издевался надо мной в юности

Когда я начинал знакомство с k8s, у нас на проекте верхом технологий был Docker, и приложения деплоились вручную из пайплайнов по ssh. k8s тогда уже был на слуху, но его еще не успели объявить новым стандартом, а я только начинал посматривать в его сторону, читая статьи на хабре и смотря редкие доклады про k8s.

Для контекста — это было в районе 2018 года. Некоторые компании уже начинали переезжать в Kubernetes.
Тогда еще можно было встретить людей, уверенных, что docker-compose up -d — это вполне нормальный production-ready deployment.

И в 2025 это тоже так. Если у вас крутится пара сервисов, вам не нужен k8s. Только волосы раньше времени начнут седеть.

Пока ты не работаешь с k8s, кажется, что ручное жонглирование Docker-контейнерами (оркестрация для бедных) и маппинг их портов на хостовую систему (NodePort), а затем прокидывание запросов через Nginx в приложение (читай, Ingress на минималках) — это уже вершина инженерного искусства. И ведь оно действительно работает! Большую часть времени… Пока нода, на которой крутится ingress, не пропадет из сети, потому что сервер ушел в ребут из-за проблем в ядре или обновления системы... И не вернулся 🙂 Потому что апдейт ОС оказался проблемным.
👍2
Но проект растет, появляются новые сервисы, количество контейнеров множится, и вот ты уже вечером сидишь в кресле, осознавая, что весь день потратил на сборку образов, доставку их на сервер, обновление docker-compose.yml, добавление новых адресов в пайплайн, настройку виртуалок через Ansible/Puppet, мониторинг и логирование — и как будто бы провинулся всего на чуть-чуть. В этот момент тебя посещает звоночек: «А точно ли так стоит делать?»

Потом приходит знакомство с k8s. Первые Deployment, Service, Ingress, первые страдания с ConfigMap и Secret, первые попытки понять, что такое Helm. kubectl apply -f кажется магией, а YAML бесит требованием правильного количества пробелов для каждой строки. Но, к удивлению, многие вещи действительно становятся проще.

Например, внезапно оказывается, что можно не писать shell-скрипты для перекладывания образов между серверами, а просто обновлять image в Deployment. Или что перезапуск сервиса можно делать не через docker stop && docker run, а просто сменив replicas в Deployment, а пользователи этого даже и на заметят (если приложение написано по всем канонам 12factor apps). Или что «где у нас логируется сервис?» — это вопрос с ответом «в Loki, смотри по labels», а не «так, дай вспомнить, что там в systemd logs…».
👍2
Да, Kubernetes — это бесконечная кроличья нора инструментов и YAML-конфигураций. Ты начинаешь с простого kubectl apply, потом переходишь на Helm или Kustomize, потом втягиваешься в GitOps, а заканчивается все тем, что ты деплоишь оператор, который берет CRD, из которого в итоге создается Pod с твоим сервисом. А когда тебя спрашивают, что происходит, ты выдаешь что-то вроде: «Ну, у нас тут ArgoCD синкает Helm-чарт с параметрами из SealedSecrets, который в свою очередь провиженится Terraform'ом в CI/CD, а потом Ansible применяет post-install хуки».

С появлением достаточно стабильных (ну, более-менее) managed-решений, можно просто занести денег облачному провайдеру и поднять кластер с полпинка. Главное — не забыть, что SLA 99.95% не распространяется на случаи, когда у провайдера снова сломали сеть между AZ (кто понял, тот понял).

В общем, Kubernetes — это как с Git. Сначала ты его боишься, потом ненавидишь, потом принимаешь, а потом вдруг ловишь себя на мысли, что пишешь kubectl get pods -A быстрее, чем печатаешь «привет» в мессенджере.
🔥14👍3
Привет! На связи Маркус.

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

Что будем обсуждать завтра:

🐈 Когда не стоит закручивать гайки в вопросах безопасности
🐈 Нахождение баланса между безопасностью и удобством эксплуатации
🐈 Осознанные компромиссы

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

Если нет — велкам.

Жду вас завтра в 20:00 и неистово мурлыкаю.
Please open Telegram to view this post
VIEW IN TELEGRAM
7👻2👀1
This media is not supported in your browser
VIEW IN TELEGRAM
🔷 Вебинар по безопасности в k8s начнется через час

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

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

🐈 Занять место на вебинаре
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🐈 Мы начинаем! 🐈

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

Вчера вечером обсуждали разные инструменты для повышения безопасности. Если не были онлайн, ловите запись. Судя по опросу, у меня в канале очень много DevOps и специалистов ИБ, для вас будет особенно полезно.

➡️ YouTube
➡️ VK Видео

На вебинаре рассказывал про курс «Kubernetes Мега», который стартует в апреле. В нем безопасности посвящены сразу 4 модуля:

🟠 Модуль 3. Аутентификация пользователей в кластере
🟠 Модуль 4. Keycloak
🟠 Модуль 5. Kubernetes Networking
🟠 Модуль 6. Безопасные и доступные приложения в кластере

Подробно с программой каждого модуля и курса в целом — по ссылке.

Специально для подписчиков моего канала я попросил у коллег промокод:

LIHACHEV15

Он круче, чем тот, который был на вебе, потому что дает не только скидку 15% на «Kubernetes Мега» , но и доступ к видеокурсу «Мониторинг и логирование инфраструктуры в Kubernetes». Выгода — 40%, или 61 500 ₽.

➡️ Старт потока — 21 апреля. Занять место — на странице курса.
Please open Telegram to view this post
VIEW IN TELEGRAM
6😁2
Дайджест материалов за март

Традиционно собрал в одном посте всё полезное, что было в этом месяце

➡️ Безопасность: интегрируемся с vault

➡️ Как я перестал волноваться и полюбил ротацию секретов
— Часть 1
— Часть 2

➡️ Типичные ошибки найма

➡️ Как нанимать инженеров правильно

➡️ Secret injection webhook

➡️ Защищаем инфраструктуру Kubernetes без боли. Вебинар
— YouTube
— VK Видео
— Rutube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1🤔1
Что меня бесит в работе с кубером

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

Вот несколько вещей, которые расстраивают:

➡️ Бездонная яма абстракций

Тебе нужно просто развернуть свой сервис. Оказывается, что тебе нужен Ingress, чтобы выставить сервис наружу. Потом выясняется, что лучше использовать Gateway API, потому что ingress уже недостаточно модный. Также ты хочешь сервис настроить (configmaps и secrets), сделать «отказоустойчивым» (replicas, pod disruption budget), починить баги с утечками памяти, которые очень сложно найти и проще сервис перезапускать, чем чинить (liveness probe) и так далее. Все это постепенно разрастается, и вот у тебя уже 20 километровых манифестов, которые настраивают сервис по всем лучшим практикам, а чтобы разобраться в этом — нужно время.

➡️ Траблшутинг как искусство

Если что-то пошло не так, то ты не просто берешь и смотришь логи. Ты сначала выясняешь, жива ли нода. Если нет, то почему? Может, нода ушла в NotReady? А если контейнер рестартится, то это проблема readiness probe, OOMKill или что-то еще? И это все надо смотреть, анализировать и разбираться, что отнимает время. Конечно же все эти шаги замечательно автоматизируются)
Please open Telegram to view this post
VIEW IN TELEGRAM
💯4
➡️ Совместимость? Какая совместимость?

Ты развернул кластер на одной версии, а через 2 года обнаружил, что твои Helm-чарты больше не работают, потому что API внезапно выпилили. Или CRD внезапно перестал быть обратносовместимым. Или твой сетевой плагин перестал дружить с новой версией kube-proxy. В k8s стабильность есть, но иногда приходится подебажить, что сломалось. С последними версиями, конечно, многие вещи стабилизировались, но когда в проде используешь нечто с Version: v1beta1, то спишь чуть менее крепко. Потому что ты накручиваешь сверху CNI, CSI, CRI чтобы все работало, а их выбор довольно велик. Поставив голый k8s, ничего не получишь, кроме подогрева воздуха нодами, на которых будет крутится control plane.

➡️ Helm: от спасения до отчаяния

Он кажется удобным, пока не начинаешь закапывать в бездну отступов. Что лучше: пробелы или табы?) Helm — мощный инструмент, но требует дисциплины, чтобы не превратить поддержку в дебаг отступов в yaml.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
➡️ Сетевой стек

Почему мой сервис недоступен? Вопрос, который может иметь множество причин. Начинаешь перебирать: kube-proxy? DNS? CNI? А может, старый добрый iptables (или новомодный eBPF)? А NetworkPolicy случайно ничего не блочит? И вишенка на торте — Ingress, который ты сам же и настраивал, но почему-то трафик идет совсем не туда. Диагностика сети в k8s — это отдельный вид изощренной пытки. Без глубоких знаний сетевых технологий или опыта Linux-администрирования шансы быстро разобраться стремятся к нулю. Мало знать, как выглядят правила iptables, нужно еще понимать, как отследить прохождение пакета через все эти хитросплетения. А с некоторыми CNI, которые вообще ушли от iptables в сторону eBPF, без опыта работы с сетевыми технологиями вообще можно надолго закопаться.

Но если вам кажется, что k8s сложный, то могу вас уверить, что можно объяснить даже ребенку, как он работает и зачем нужен (но это не точно).

Ловите отличный гайд: https://to.slurm.io/1Jt97Q

А что вас бесит в кубере? Поделитесь в комментариях ⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2