Библиотека девопса | DevOps, SRE, Sysadmin
10.3K subscribers
1.38K photos
70 videos
4 files
2.58K links
Все самое полезное для девопсера в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/25874ec4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
Думайте про отказоустойчивость (любую) также, как и про бэкапы, поскольку если пропустите момент возросшей нагрузки на сервер, думать нужно будет уже о поднятии упавшего...

Как раз, весьма кстати, попался гайд про облака, Kuber и масштабирование, а еще, борьбу за отказоустойчивость сервисов, развернутых в Yandex Managed Service for Kubernetes.

Чтобы начать

Должно быть настроено свое облако в Yandex Cloud и добавлен платежный аккаунт.
Еще понадобятся:

yc
kubectl
terraform с настроенным ~/.terraformrc
удобный текстовый редактор для YAML и HCL, например Visual Studio Code

Чтобы использовать terraform для управления инфраструктурой сначала нужно создать сервисный аккаунт, от лица которого будут создаваться ресурсы.
Перейдем в каталог в облаке -> Сервисные аккаунты -> Создать сервисный аккаунт. Введем произвольное имя, описание по желанию, а также назначим роль admin, чтобы у terraform была возможность создавать любые ресурсы, а также назначать роли.


Автоматическое масштабирование

В Yandex Managed service For Kubernetes поддерживается три вида автоскейла:

Cluster Autoscale
HPA
VPA

В Kubernetes поддерживается HPA и VPA. При горизонтальном масштабировании создается ресурс HPA (HorizatalPodAutoscaler), который отслеживает одну из метрик (обычно CPU или кол-во запросов) и увеличивает/уменьшает количество подов, при этом можно задать минимальное и максимальное количество подов.
При вертикальном масштабировании создается ресурс VPA (VerticalPodAutoscaler), автоматический назначающий (или дающий рекомендации) ресурсы для пода.

В общих чертах — все, а подробнее тут
👍31
🔍Насколько легко «войти в айти»?

IT — перспективная отрасль с высокими зарплатами и огромной конкуренцией. Собираем ваши истории: расскажите, как вам удалось сменить профессию (или сразу найти себя), какие шаги вы для этого предприняли и с какими сложностями пришлось столкнуться.

👉Пройдите наш 10-минутный опрос по ссылке.
2
Kubernetes в облаке: настройка безопасного контура

Еще одно мероприятие состоится 29 августа в 11:00.

Cloud Container Engine (CCE) — это облачный сервис, который предоставляет масштабируемые, высокопроизводительные кластеры Kubernetes. Он позволяет легко разворачивать контейнеризированные приложения и управлять ими в публичном облаке Cloud.ru.

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

На ивенте вы узнаете:

🔹 Что такое Network Policies и для чего их применяют
🔹 В чем разница между моделями реализации сетевой связанности внутри CCE Turbo и Tunnel Network в CCE
🔹 Какие преимущества по защите сетевой коммуникации между объектами есть у нового кластера CCE Turbo
🔹 В конце выступления в качестве примера спикер покажет, как настроить сообщение между Pods Wordpress и базой MySQL

Будет полезно для:

🔹 Экспертов DevOps
🔹 Cloud-native разработчиков
🔹 Администраторов, аналитиков IT-безопасности и другим техническим специалистам, которые уже работают или планируют работать с Kubernetes

Регистрация

#новость
2👍2
В последние годы Kubernetes стал очень популярным, что привлекает злоумышленников, позабавиться с железом с различными целями. Подцепить программу-вымогателя и стать жертвой хакера — это не смешно, а когда злодей сцапает весь кластер... Вот и начинается конец света 😱

Основные ошибки, которые допускают админы: ошибка привилегированного анонимного доступа, которая до сих пор остается глобальной проблемой и запуск kubectl-прокси с аргументами, которые открывают доступ к кластеру из интернета. Эти моменты упоминаются в сети почти также, как байки про rm -rf🤦‍♂️, но так никто и мотает на ус.

Поиск жертв ведется с помощью Shodan, Censys или Zoomeye, а еще, сканируя IP-адреса с помощью ботнетов или masscan и Zgrab.

Часто открыты HTTPS-порты 443 и 6443, HTTP-порты 8001 и 8080, а также 9999.

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

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

/api/v1/pods — Вывести доступные поды
/api/v1/nodes — Вывести доступные узлы
/api/v1/configmaps — Вывести конфигурации кластера K8s
/api/v1/secrets — Вывести все секреты, хранящиеся в etcd

В общем, господа, будьте внимательны.
А подробнее изучить материал, можно тут.

#новость
👍31
Простой вопрос по Linux для новичков
#вопросы_с_собеседований

Что произойдет при выполнении команд:
1. cat [что-то] > file2
2. cat [что-то] >> file2

...............................................................................................................

1. Перенаправление вывода в файл, а не в стандартный вывод. Конечный файл будет создан, если он не существует, и будет перезаписан, если он существует.
2. Допишутся в конец существующего файла выходные данные команды. Конечный файл будет создан, если он не существует.
👍12🥱3🤔21
Фестиваль по ML&AI для разработки и жизни

TechTrain 2023 Autumn — бесплатный онлайн-фестиваль про AI в целом и ML — в особенности.
В этом году продолжаем обсуждать ML&AI в разработке и жизни — но уже с большим упором на ML, чем до этого. Поговорим о классическом ML, Computer Vision, NLP, ASR, RecSys и MLOps. Обязательно обсудим прикладное использование ML на примере конкретных проектов. Разберем такие темы, как графовые модели, генеративные нейросети, AI в разработке и другое.

Регистрация

#новости
👍21
😎 Очередной #дайджест полезных статей по DevOps:

👉 Smart-contract developer Road Map — смарт-контракты - это программы, которые “живут” и исполняются в блокчейне и для старта подойдут JavaScript, Python, C

👉 Стал доступен Docker Hub Registry IPv6 Support — обновление призвано обеспечить поддержку большего количества конечных клиентов

👉 Архивное хранилище Write-Once-Read-Many на Amazon Glacier — Glacier надежный, легко интегрируется в существующий режим резервного копирования и архивирования

👉 Service Delivery Index — о метриках, надежности и как на это все влияет команда

👉 Обработка ошибки ‘Sensitive Value’ в Terraform — как обычно, нужна была функция-обертка для jsondecode... но, познавательно

👉 Да кто такой этот ваш Mobile DevOps? — что такое Mobile DevOps, как он поможет решить проблемы и как его получить в команду
👍3
В России не любят Линукс, а я не люблю виртуальные машины. Что делать?

☎️ Сейчас госструктуры (и не только ) используют Linux отечественной сборки: AlterOS (CentOS 7), ROSA Linux (аля Fedora), ALT Linux (он и есть ALT), ОС "Атлант" (Debian Buster), Astra Linux (Debian Buster 10) и RED OS (CentOS).

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

Так вот, всем подавай Windows. Дома, пожалуйста, пиратка и вперед, а в организациях ни-ни. Официальное не поставишь, ибо « забугорное ни-ни», вот и пришлось переобуваться.

Статья расскажет, как этот *nix-зоопарк установить и начать любить.

#новость
👍43
Платформенный инжиниринг как следующий этап развития DevOps

Подходы к оптимизации процессов разработки и развертывания хорошо известны и задокументированы: DevOps, SRE, облачные сервисы вроде Containerum Kubernetes или DBaaS for PostgreSQL.

Однако использование разных подходов еще не гарантирует, что разработчики приблизятся к запуску программного обеспечения. Чтобы решить проблемы, которые могли возникнуть из-за плохого внедрения DevOps или SRE, можно создать платформу для поддержки приложений.

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

Что такое платформенный инжиниринг

Это процесс разработки и создания платформ, которые предоставляют инфраструктуру и инструменты для поддержки различных приложений и сервисов. Основная цель ПИ — создание мощной и универсальной платформы, которая может поддерживать различные процессы разработки и эксплуатации приложений.

Чем ПИ отличается от DevOps и SRE

Это три концепции и методологии, используемые в информационных технологиях для оптимизации процессов разработки и поддержки ПО, но отличаются по нескольким параметрам:

🔹 Сфера ответственности. ПИ фокусируется на разработке и создании платформ для поддержки приложений, а DevOps и SRE рассматривают процессы разработки и эксплуатации ПО.
🔹 Масштаб. ПИ ориентирован на создание гибких платформ, тогда как DevOps и SRE работают на уровне процессов и операций в пределах системы.
🔹 Цели и задачи. DevOps нацелен на сокращение времени между разработкой и развертыванием ПО. SRE фокусируется на создании высоконадежных систем и их поддержке. ПИ ориентирован на обеспечение инфраструктуры и услуг в виде платформы для поддержки различных приложений и сервисов.

Подробнее

#новость
👍32
🐧🐧 В продолжение темы: «Linux в массы», предлагаем видеокурс для новичков, который покрывает все необходимые знания для поднятия самооценки и улучшения своих характеристик.

В ролике автор рассмотрит:

🔹 общие понятия
🔹 основы Linux и запуск системы
🔹 графический интерфейс
🔹 конфигурирование системы через интерфейс
🔹 общие приложения
🔹 операции в командной строке
🔹 поиск документации по Linux
🔹 процессы
🔹 операции с файлами
🔹 текстовые редакторы
🔹 пользовательское окружение
🔹 манипуляции с текстом
🔹 сетевые операции

Крутой курс начинающих — рекомендуем к изучению 💪
9👍4
MTKPI — мультитул для тестирования образов Kubernetes. Внутри образ docker со всеми популярными и необходимыми инструментами для тестирования на проникновение.

Когда вы проводите пентест кластера Kubernetes, вы будете использовать автоматизированные инструменты. Если кластер ограничен по трафику и вы не можете загрузить необходимые инструменты в поду? Или файловая система контейнера readOnly?

Единственное решение — использование готового к использованию образа.

#новость
2
Collecting and analyzing Linux kernel crashes - LKCD.pdf
4.9 MB
Встретилось на просторах крутое руководство по организации сохранения аварийных дампов Linux ядра при помощи инструментария LKCD, для последующего анализа причин инцидента.

LKCD работает в два этапа:

🔹 На этом этапе происходит сбой ядра. Когда это происходит, LKCD начинает
действовать при условии, что он был включен в boot sequence. LKCD копирует
содержимое памяти в раздел подкачки или в выделенный раздел сбора аварийного дампа.
После завершения этого этапа система перезагружается.
🔹 Как только система загружается в оперативный режим, запускается LKCD.
(например, в RedHat LKCD запускается скрипт /etc/rc.sysinit). Затем LKCD запускает две команды:
- lkcd config — подготавливает систему к следующему сбою.
- lkcd save — копирует данные аварийного дампа из их временного
хранилища на устройстве дампа в каталог постоянного хранилища. Вместе с ядром дампа создаются и копируются файл анализа и файл карты.

Завершение этого двухэтапного цикла означает успешный аварийный дамп LKCD.

#новость
👍53
Виртуализация оборудования — одна из важнейших и фундаментальных технологий в области облачных вычислений. Без нее не смогло бы работать ни одно «устройство» внутри виртуальных машин: ни сетевая карта, ни диск, ни клавиатура, ни мышь.

Автор в материале подробно будет останавливаться на таких этапах эволюции:

Trap-and-emulate — QEMU
VirtIO — технология паравиртуализации
Vhost — улучшенный с помощью работы ядер VirtIO
VFIO — Virtual Function I/O
Vhost-user — производительность VFIO и гибкость VirtIO
VFIO-mdev — разделение физических ресурсов на программном уровне
vDPA — виртуализированные устройства могут использоваться виртуальными и хост-машинами
VDUSE — программно-определяемые устройства vDPA

Подробнее
5👍1
😎 Очередной #дайджест полезных статей по DevOps:

👉 Рекомендации по обеспечению безопасности Kubernetes Role Based Access Control (RBAC) — как использовать для установки детализированных разрешений в кластерах Kubernetes.

👉 Как происходит утечка в пайплайнах CI/CD — CI/CD требует предоставления учетных данных сторонним ресурсам - вот и утечка

👉 Когда поды K8s могут зависнуть при монтировании больших томов — огромное количество файлов + пользовательских меток = много фрагментов

👉 Какой ты дата-инженер – junior, middle или senior? — получи результаты теста и советы по прокачке бесплатно

👉 Kubernetes Security: сетевые политики — важно учитывать и всегда настраивать политики именно для сети т. к. злодеи не дремлют, а у вас пода открыта в мир...

👉 Git 2.42 подвезли — новые фичи и фиксы от 78 контрибьюторов
6🔥1👏1
🤔 Слышали о законе 152-ФЗ? Это регулирование отношений, связанных с обработкой персональных данных (ПД), осуществляемых федеральными органами государственной власти, органами государственной власти субъектов Российской Федерации, иными государственными органами.

Хотим у вас поинтересоваться:
4👍1👏1
AWS Weekly Roundup – AWS Dedicated Local Zones и ивенты

AWS Dedicated Local Zones, как и Local Zones — выделенные зоны, тип инфраструктуры AWS, которая полностью управляется AWS. В отличие от локальных зон, они созданы для исключительного использования заказчиком и размещены в указанном месте или ЦОД в соответствии с нормативными требованиями.

Ближайший ивент: AWS Hybrid Cloud & Edge Day (30 августа) — бесплатное однодневное виртуальное мероприятие, расскажет о последних тенденциях в области гибридных облачных и пограничных вычислениях, новых технологиях и практиках.

Подробнее об остальном
24🥰20🔥13👏8👍5
Как проверить существует ли файл?

Сделать это можно несколькими способами:

filename="test.txt"

if [ -f $filename ];
then
echo "File exist"
fi

if test -f $filename;
then
echo "File exist"
fi

Ключ -f означает True. Возвращаем True если файл существует и является обычным файлом.

Команда test предназначена для проверки типа файла и сравнения чисел и строк. Возвращает код возврата 0 (истина) или 1 (ложь) в зависимости от вычисления выражения. Выражения могут быть как унарными, так и бинарными.

Ну а если подставить символ «!» в условия, то сработает обратная логика:

if [ ! -f $filename ];
if ! test -f $filename;

Здесь получим сообщение — указанный файл не найден. Для разных задач, разные условия.

То же самое можно уместить в одну строчку, синтаксис будет таким:

[ ! -f "$filename" ] && echo "file not found" || echo "file exist"

Подобные конструкции удобные, но ОЧЕНЬ плохо читаются, так что советуем использовать их по минимуму.

#туториал
👍92👏1
Судя по вопросам на форумах и в целом по самочувствию джунов — у всех наблюдаются проблемы с сетью. Кто-то маску не может посчитать, кто-то не понимает маршрут по умолчанию, роутинг и прочее 😔 Это печально, поскольку сложного для понимания в этом начальном уровне нет ничего.

Как раз, очень кстати, подвернулись туториалы (1 часть, 2 часть) по роутингу в Linux.

Закатывайте рукава, и приступайте 😂😂

#туториал
👍11🔥1