DevOps Star (Звезда Девопса)
2.08K subscribers
193 photos
166 videos
14 files
234 links
Devops, Linux, SRE, Kubernetes, Сисадмин, Девопс, Python, JS, Java, Git, IT канал, программирование, безопасность, ИТ, Sysadmin

По всем вопросам @evgenycarter
Download Telegram
Что такое Docker? В чем отличие контейнера от образа?

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации.

Образ — шаблон приложения, который содержит слои файловой системы в режиме "только-чтение".

Контейнер — запущенный образ приложения, который кроме нижних слоев в режиме "только чтение" содержит верхний слой в режиме "чтение-запись".

👉 @devops_star
👍31
Сколько раз вы слышали истории о том, как злоумышленники получали доступ к Kubernetes-кластерам через неправильно настроенные права доступа или незащищённые секреты? В эпоху, когда контейнеризация стала стандартом, безопасность K8s — это уже не опция, а жизненная необходимость для любой серьёзной инфраструктуры.

📅 9 сентября в 20:00 Денис Шишикин проведёт открытый вебинар «Обеспечение безопасности в Kubernetes» в рамках курса «DevOps Advanced». Это практическое занятие для тех, кто хочет защитить свои кластеры от типовых угроз и научиться применять проверенные практики безопасности.

На вебинаре разберут конкретные инструменты и подходы — механизмы контроля доступа через RBAC, ограничение привилегий подов с помощью Pod Security Admission, безопасную работу с секретами через Sealed Secrets. Денис покажет, как сканировать манифесты и кластеры с помощью Trivy и kube-bench.

Особенно полезно будет DevOps-инженерам, системным администраторам и всем, кто работает с Kubernetes в продакшне. Спикер объяснит, какие угрозы характерны для K8s-кластеров и как проводить базовый аудит безопасности ресурсов и конфигураций.

👉 Вебинар бесплатный, но регистрация обязательна — места ограничены: https://vk.cc/cPeCDo

🎁 Каждый участник вебинара получит бонус — скидку на полный курс. Главное — успеть записаться.

Реклама. ООО «Отус онлайн‑образование», ОГРН 1177746618576
1
Чем отличается StatefulSet от Deployment?

Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.

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

👉 @devops_star
👍42
Что ты такое, dhclient?

Сетевой стек Linux не прост даже на первый взгляд: приложение — в юзерспейсе, а всё, что после сокета, — в ядре операционки. И там тысяча реализаций TCP. Любое взаимодействие с сетью — системный вызов с переключением контекста в ядре.

Чтобы лишний раз не дёргать ядро прерываниями, придумали DMA — Direct Memory Access. Это когда трафик пишется напрямую в память, откуда он считывается приложением в обход ядра. И это дало жизнь классу софта с режимом работы kernel bypass. Например, при DPDK (Intel Data Plane Development Kit) сетевая карта целиком передаётся в userspace, а ядро даже не подозревает о её существовании.

Потом был BPF. А ещё потом усилиями Алексея Старовойтова и компании миру была показана eBPF — штука, умеющая делать прокол в ядро и инжектировать туда микроскопические виртуальные машины с кодом, которые могут в обход всего и вся взаимодействовать с системными событиями, и в том числе с трафиком. Супербыстро и оптимально (на фоне стандартного стека, конечно же). А это в свою очередь дало возможность использовать XDP для ускорения обработки трафика.

Но даже помимо хаков работы с ядром есть такие штуки, как sk_buff, в которой хранятся метаданные всех миллионов протоколов (в большинстве случаев они вообще не нужны: тащим с собой легаси). Есть NAPI (New API), которая призвана уменьшить число прерываний. А 100500 вариантов разных tables? Iptables, arptables, ip6tables, ebtables, nftables…

Если вам мало — ещё придумали SR-IOV. Там тоже уже упомянутый DMA, а ещё можно посплитить физическую карточку на несколько виртуальных и раздать их в разные виртуалки и приложения. Под ручку с DMA идёт и RDMA, когда мы пишем трафик напрямую в память, но не в свою, а в чужую на удалённой по сети машине.

И в этих копаниях можно уйти безгранично далеко. Но сегодня мы всё же поговорим о вещах более приземлённых и повседневных, которые лишь приоткрывают вход в эту разветвлённую сеть кроличьих нор. Мы разберём одну любопытную задачку, на примере которой ужаснёмся (а кто-то ухмыльнётся деловито в усы) тому, как сложно может быть реализован такой простой протокол, как DHCP.

https://habr.com/ru/companies/yandex/articles/774462/

👉 @devops_star
👍1
Собрал основные концепции Docker в одну диаграмму

👉 @devops_star