DevOps FM
4.8K subscribers
592 photos
12 videos
10 files
710 links
♾️ Канал для тех, кто живёт DevOps и системным администрированием.

Новости, статьи, best practices, инструменты и чилл-аут контент. Cloud Native, Docker, Kubernetes, CI/CD, БД, мониторинг etc.

По вопросам — Даше @marsycored
Download Telegram
Делимся полезным постом от @DevOpsKaz

👩‍💻 Основные команды Kubernetes для восстановления после сбоев, которые помогают в 99% случаев:

kubectl get pods --all-namespaces Проверить статус всех подов во всех неймспейсах, чтобы найти сбои.

kubectl describe pod pod_name Получить подробную информацию о неудачном поде.

kubectl logs pod_name -c container_name Просмотреть логи конкретного контейнера в поде для устранения проблем.

kubectl get events --all-namespaces --sort-by='.metadata.creationTimestamp Просмотреть последние события для нахождения ошибок и сбоев.

kubectl get nodes Проверить статус нод в кластере и выявить возможные сбои на нодах.

kubectl drain node_name --ignore-daemonsets Безопасно эвакуировать и изолировать ноду для восстановления.

kubectl cordon node_name Пометить ноду как недоступную для планирования новых подов во время восстановления.

kubectl delete pod pod_name --grace-period=0 --force Принудительно удалить сбойный под, чтобы перезапустить его или освободить ресурсы для восстановления.

kubectl rollout undo deployment deployment_name Откатить деплоймент, если новый релиз вызывает сбои.

kubectl exec -it pod_name -- /bin/sh Получить доступ к контейнеру для отладки и решения проблем прямо внутри пода.

kubectl get componentstatuses Проверить здоровье ключевых компонентов кластера, таких как etcd и kube-apiserver.

kubectl top nodes Мониторить использование ресурсов нод, чтобы выявить проблемы с исчерпанием ресурсов.

kubectl top pods --all-namespaces Проверить использование ресурсов подов во всех неймспейсах для выявления узких мест.

kubectl delete node node_name Удалить неработающую ноду из кластера для восстановления.

etcdctl --endpoints=https://etcd-server:2379 snapshot restore backup.db Восстановить etcd из снимка в случае сбоя.

kubectl apply -f backup.yaml Применить конфигурации из резервной копии во время восстановления.

kubectl taint nodes node_name key=value Запретить планирование подов на ноду, которая имеет проблемы, в процессе восстановления.

kubectl get endpoints service_name Проверить конечные точки сервиса, чтобы убедиться в их корректной работе во время восстановления.

😛 #партнёрский_пост
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍10🔥6❤‍🔥2
📝 Почтовый сервер с нуля. Часть 3

Михаил, DevOps-инженер из Nixys, завершает серию статей про создание почтового сервера с чистого поля.

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

P.S.: первая и вторая части — по ссылкам.

#Хабр #статья_Nixys #devops #почтовыйсервер
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍104
👩‍💻 Всем DevOps! Какой понедельник без best practices? Сегодня — K8s.

1. Установите минимум и максимум для ресурсов. Без ограничений продакшен-кластеры и узлы могут выйти из строя.

2. Пользуйтесь преимуществами декларативных YAML-файлов. Замените императивные команды kubectl (к примеру, kubectl run) на декларативные файлы YAML. Они позволяют хранить и версионировать все ваши объекты вместе с вашим кодом. Если что-то пойдет не так, вы сможете легко откатить развёртывания просто восстановив более ранний файл YAML. А ещё ваша команда сможет видеть текущий статус кластера и изменения, внесенные в него с течением времени.

3. По возможности не используйте голые поды. В случае отказа узла они не будут автоматически перенесены в другой узел. Поэтому обязательно связывайте их с Deployments, ReplicaSets и Jobs.

4. Не забывайте маркировать объекты – контейнеры, сервисы, поды, сети и т. д. В метки вы можете занести информацию о владельце, версии, экземпляре, компоненте, проекте, команде, уровне конфиденциальности и др.

5. Сделайте пробы готовности независимыми. Они не должны быть зависимыми от:
• базы данных;
• миграции баз данных;
• API;
• сервисов сторонних производителей.

6. Установите Quality of Service (QoS) для ваших подов. Выбор класса QoS влияет на производительность приложения в кластере Kubernetes. Если правильно настроите QoS, то сможете эффективно распределять ресурсы и обеспечивать бесперебойную работу приложений.

7. Обязательно указывайте адекватные реквесты и лимиты ресурсов. Реквесты помогут правильно распределить ваши workloads по узлам. Лимиты помогут избежать проблем с узлами и другими workloads, выполняемыми на том же узле в случае утечек памяти или слишком большого потребления CPU.

🗂 Какие инструменты и технологии вы хотели бы увидеть в подборке лучших практик? Пишите свои пожелания в комментариях.

#bestpractices #devops #kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
👍198🔥5
Подборка свежих статей и релизов — уже на канале DevOps FM.

🟡 Зарелизили nxs-data-anonymizer 1.12.0. В новой версии добавили функцию фильтра drop для MySQL.

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

⚫️ В блоге CNCF рассказали, как успешно сдать Kubernetes and Cloud Native Security Associate (KCSA). В статье вы найдёте полезные ссылки на учебные материалы и список тем, по которым будет проходить экзамен.

Кратко о самом KCSA. У вас будет 90 минут, чтобы ответить на 60 вопросов. Чтобы успешно сдать экзамен и получить сертификат, необходимо дать не менее 75% правильных ответов.

🟡 На InfoQ разобрали cell-based architecture — архитектуру на основе ячеек. Эрика и Рафал обсудили ключевые аспекты управления такой архитектурой и показали её достоинства на примере крупных компаний.

⚫️ На Medium вышел ликбез про грамотное управление секретами. В этом тексте представлены базовые концепции, поэтому он будет полезен начинающим DevOps-инженерам.

#devops #KCSA #nxsdataanonymizer
9👍43👌1
Давно у нас не было анонсов интересных мероприятий. Исправляемся!

🔄 DevOops 2024 — это ежегодная конференция для разработчиков и инженеров всех грейдов, где обсуждают тренды индустрии, делятся новыми решениями и развивают российскую DevOps-культуру.

На конференции будет представлено 50 докладов спикеров из различных крупных компаний, включая СберТех, T-Банк, Yandex Cloud и многих других. Все материалы были тщательно отобраны программным комитетом, который состоит из экспертов с многолетним опытом в области DevOps, SRE и Cloud Native.

Вот некоторые темы из программы:

• Как распределенно хранить триллионы файлов
• Комбо-факапы, или Эффект бабочки-факапницы
• Декомпозируем GitOps. Как проапгрейдить ваш CIOps до GitOps с минимальными усилиями

📅 6 ноября онлайн, 12 и 13 ноября — Санкт-Петербург и онлайн
📍 Полная программа и другие подробности — по ссылке

#партнерский_пост
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85🔥4🥱1
Всем DevOps!

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

За уделённое время вы получите закрытый доступ к платформе и возможность напрямую повлиять на её  развитие.

📝 Если заинтересовались — вот форма для связи.

#партнёрский_пост
👍9🗿32👨‍💻2👌1
Среда — маленькая пятница. Поэтому возьмите небольшой перерыв и почитайте материалы из нашего еженедельного дайджеста.

👩‍💻 Ubuntu исполнилось 20 лет!

В 2004 году Марк Шаттлворт собрал небольшую команду разработчиков Debian, с которыми основал компанию Canonical. Они решили создать свободный дистрибутив Linux, который бы был доступен не только техническим специалистам, но и обычным пользователям. Первый стабильный релиз, Ubuntu 4.10 (Breezy Badger), появился уже в октябре того года.

Ну что, убунтеры, у кого из вас сохранились диски?

⚫️ Джей Шмидт снова порадовал своей статьей об инструкциях Dockerfile. На этот раз он объяснил разницу между ARG и ENV и на примерах показал, когда и какую инструкцию нужно использовать. Если кратко:

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

Если хочется больше деталей, то можете прочитать весь обзор в блоге Docker.

🟡 На Learnk8s вышла большая статья о работе сети в Kubernetes с упором на сервисы, kube-proxy и балансировку нагрузки. Информативный текст для тех, кто только начинает погружаться в тему.

⚫️ DataDog обновили результаты собственного исследования о состоянии безопасности облачных сред в 2024 году. Один из выводов: большинство инцидентов в облаке вызваны скомпрометированными учетными данными.

🟡 В блоге Simple Thread вышел короткий туториал по заполнению базы данных Postgres в GitHub Actions без сохранения SQL в GitLFS.

#devops #ubuntu #kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
👍156🔥3
🎙 В эфире DevOps FM — пятничная подборка подкастов

1. DevSecOps: безопасная разработка от Безопасного выхода. Анастасия и Илья беседуют о том, как DevSecOps становится всё более популярным в России, как его адаптируют и внедряют в процессы разработки в отечественных компаниях.

2. The Utopic Tale of Ubuntu от Linux User Space. Лео и Дэн погружаются в историю одного из самых популярных дистрибутивов Linux и разбирают каждый его релиз. На странице выпуска — много интересных ссылок.

3. When Kubernetes and Go don't work well together от Kube FM. В этом выпуске Эмин рассказал, как простая 502 error в Kubernetes указала ему на проблемы во взаимодействии между Go и контейнерными средами.

Желаем приятного прослушивания! Тем, кто отдыхает — хороших выходных, а тем, кто работает — спокойных дежурных смен!

#подкаст #пятница #DevOps
🔥164👍3
👩‍💻 В этот понедельник публикуем несколько лучших практик по работе с сетью в Docker.

1) Сегментируйте сети. Используйте методы сетевой изоляции (настройте iptables правила). Сегментация сети позволит вам изолировать контейнеры, контролировать доступы и защищать конфиденциальные рабочие нагрузки. Даже если контейнер будет скомпрометирован, действия злоумышленника будут ограничены только этим контейнером; вся остальная система будет под защитой.

2) Избегайте перекрытия подсетей в сети Docker, чтобы предотвратить проблемы с подключением. Вы можете проверить текущую конфигурацию сети через команду docker network inspect.

3) Используйте DNS для обнаружения сервисов. Внутренний DNS Docker преобразует имена контейнеров в IP-адреса в одной сети, что значительно упрощает обнаружение сервисов.

4) Обезопасьте связь. Используйте зашифрованные overlay-сети для конфиденциальных приложений, особенно при работе на нескольких докер-хостах.

#devops #docker #bestpractices
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥73
👩‍💻 Из списка ментейнеров ядра Linux удалили 11 человек, связанных с российскими организациями или использующих российские почтовые сервисы.

Публикуем краткую хронологию событий.

• 18 октября: Грег Кроа-Хартман вносит изменение в файл MAINTAINERS, которое принимает сам Линус Торвальдс. Процедура проходит без рецензирования со стороны других разработчиков.

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

• 23 октября: высказывается Линус. Он заявляет, что причины удаления российских разработчиков очевидны, а решение не подлежит отмене.

• 24 октября: Сергей Сёмин, один из удаленных ментейнеров, публикует прощальное письмо. В нём он делится чувствами и отмечает, что получить чётких объяснений причин удаления ему не удалось.

• На сообщение Сергея отвечает бывший член совета директоров Linux Foundation Джеймс Боттомли. Он просит прощения за то, в какой форме было реализовано решение. Джеймс объясняет, что меры были приняты в отношении людей, связанных с теми российскими компаниями, которые попали в санкционный список OFAC SDN Министерства финансов США.

• Сообщения по ситуации вокруг удаления российских разработчиков из ментейнеров публикуются и по сей день. Например, Александр просит удалить его из списка ментейнеров, потому что он русский тролль, ссылаясь на громкое заявление создателя Linux. Другой участник сообщества рассказывает, что после критики в сторону Линуса его сообщения стал блокировать vger's spam filter.

#devops #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
😡19👍9💊5🔥32
👻17🔥10🎃42😱1
Бу! Испугался? Не бойся: это всего лишь хэллоуинский пост.

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

#halloween #devops
👻16🎃7🔥51👍1
👩‍💻 Всем DevOps! Сегодня делимся небольшой подборкой полезных репозиториев.

Dockerfiles. Более 50 докерфайлов для различных инструментов: DevOps, CI/CD, Bid Data и NoSQL.
How they SRE. Подборка статей, отчётов, книг и видео о том, как крупные компании из разных стран практикуют Site Reliability Engineering.
Bash-Oneliner. Коллекция коротких однострочных bash-скриптов.

#devops #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥164👍43👨‍💻1
На ваших экранах — свежие новости из мира DevOps и системного администрирования.

🤩 В России возникла проблема с доступом к сайтам, использующих ECH Protocol от Cloudflare. Среди них — opensource.org, gitlab.io, doxygen.org.

ECH (Encrypted Client Hello) — это технология для TLS 1.3, которая позволяет скрывать от интернет-провайдеров адреса посещённых пользователем сайтов.

Протокол пришёл на замену менее надёжному ESNI. В отличие от ESNI, ECH шифрует не только SNI (Server Name Indication), а сразу всё сообщение ClientHello целиком. Эта функция была ненадолго активирована на серверах Cloudflare в 2023 году и стала снова доступна в октябре этого года.

В ночь с 5 по 6 ноября Роскомнадзор начал блокировать трафик, который шифруется через новую версию защиты от Cloudflare. При этом сайты версиями TLS 1.2 и ниже до сих пор работают без перебоев.

Почитать о костыльных решениях проблемы можно здесь.

upd: 7 ноября подведомственный Роскомнадзору ЦМУ ССOП порекомендовал отказаться от Cloudflare и перейти на российские решения. Центр отметил, что использование ECH нарушает российское законодательство.

Рекомендуем владельцам информационных ресурсов отключить расширение TLS ECH или, что правильнее, использовать отечественные CDN-сервисы, которые обеспечивают надёжное и безопасное функционирование ресурсов и защиту от компьютерных атак.


⚫️ Опубликовали патч для ядра Linux, который ускоряет прохождение теста per_thread_ops на 2.6%.

В патче используется маскирование указателей, что позволяет снизить количество медленных вызовов функции barrier_nospec(), применяемой в 64-битной версии функции copy_from_user().

🟡 GitHub выпустил Octoverse 2024 — ежегодный отчёт о состоянии индустрии open sourse. Если коротко:

• Разработчики со всего мира внесли более 1 миллиарда изменений в проекты с открытым исходным кодом. Из них — более 5,2 миллиарда изменений в 518 миллионов проектов на GitHub.
• Python впервые стал самым популярным языком на GitHub.
• Ожидается, что к 2028 году Индия обойдёт США по количеству разработчиков.

⚫️ В блоге Percona Пётр Зайцев высказался о проблемах MySQL и рассказал, как ей стать конкурентноспособной PostgreSQL. Спойлер: он предложил объединить усилия всех ключевых фигур проекта и создать альтернативу MySQL под новым брендом. Если вы не согласны, то можете поспорить с этим мнением в комментариях.

#devops #linux #cloudflare #github #mysql #postgresql
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🤬31👨‍💻1
Всем DevOps! Наши друзья из KazDevOps разыгрывают 7 ваучеров на бесплатное обучение и сертификацию от The Linux Foundation.

Что дают эти ваучеры? 100% скидку на любой онлайн-курс, сертификационный экзамен или пакет (курс + сертификация).

Как участвовать? Всё просто. Вам нужно:
1. Подписаться на KazDevOps.
2. Нажать кнопку [Участвую] под этим постом.

Когда будут известны победители? Ровно через неделю, 14 ноября. Желаем удачи!

😛 #партнёрский_пост
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3👏31🤝1
Пятничный chill out на канале DevOps FM

📱 Предлагаем вместе с Броди заглянуть в официальный репозиторий Linux на GitHub и посмотреть, как участники сообщества используют PR в качестве шуток, троллинга и поздравлений, заставляя ментейнеров и самого Линуса страдать.

Если хотите самостоятельно изучить это удивительное место — начните с легендарного #437 this code very fast (который, кстати, до сих пор открыт).

Желаем всем хорошего настроения и приятных выходных, а тем, кто дежурит — спокойных смен!

#linux #kernel #youtube
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥5😁4👍2🤣2
👩‍💻 В каких случаях может понадобиться создать образ Docker без использования Dockerfile? Когда нужно, чтобы слои образа создавались параллельно, вся обработка выполнялась в памяти без обращения к файловой системе, а ещё была возможность использовать собственные правила кэширования данных.

В своем блоге Адольфо поделился опытом работы с dockerfileless-образами контейнеров. Два главных урока, которые вы можете вынести из статьи:

1. It is a true pain to deal with OCI images manually.

2. Рeeking under the hood of container images will not void your warranty, and is a great way to get a better idea of what an OCI image actually is.


#devops #docker #контейнеры
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥54👨‍💻2