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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
Canonical представила 12-летнюю программу поддержки Everything LTS (Long Term Support) для любого образа Docker с открытым исходным кодом в рамках подписки Ubuntu Pro

Читать статью

#почитать
👍132🔥1
🛠️ Set в JavaScript: теперь с новыми суперспособностями

Узнайте о грядущих обновлениях Set в JavaScript, включая новые методы union, intersection, difference и другие. Подробный обзор и примеры использования.

🔗 Читать статью
🔗 Зеркало
2🔥2🥰1
Очередной #дайджест для DevOps-ов

🔵 Руководство по обнаружению сервисов с помощью Prometheus Operator — как использовать Pod Monitor, Service Monitor и Scrape Config

🔵 Архитектурные паттерны: Circuit-Breaker — про устойчивость системы и способность восстанавливаться после сбоев в распределенных средах

🔵 Расширение Test & Feedback в Manifest V3 — что нового в приложении от Azure, что к чему, и почему

🔵 От установки до использования: пример развертывания сервиса шифрования данных в покое — как создать сервис шифрования данных в покое, что в его архитектуре и как работать с решением

🔵 Bashtop — линуксовый менеджер ресурсов, который показывает статистику по загруженности процессора, оперативной памяти, жесткого диска и сети
👍14❤‍🔥1🥰1
В ветке develop есть коммит с изменениями, которые нужно перенести в ветку master. Как это сделать?

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

git cherry-pick
👏7🤔5
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
❤‍🔥2👍1🔥1
🔧🔧 Альтернатива ушедшей JetBrains: российские программисты получили доступ к отечественной среде разработки GIGA IDE

1 июля ряд СМИ написали, что компания JetBrains без предупреждения отключила российских программистов от одной из самых известных сред разработки на Java — IntelliJ IDEA. В качестве альтернативы российским пользователям доступна отечественная интегрированная среда разработки GIGA IDE, которую СберТех представил на технологической конференции GigaConf 2024. В свете последних событий этот обзор будет особенно актуальным, поэтому предлагаем скорее погрузиться и подробно разобрать, что такое GIGA IDE и что еще доступно пользователям платформы для работы с исходным кодом GitVerse.

Читать статью
😁19🔥4😢2🥱2🌚1
🤔🤔 Как Grafanalib помогает управлять дашбордами в масштабе

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

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

Читать статью

#туториал
👍3❤‍🔥1
🐋🆚🦭 Docker или Podman: что лучше подойдет для вашего проекта

Контейнеризация приложений — одна из самых важных технологий в современной разработке. За последние 10 лет стандартом и синонимом контейнеризации стал Docker. Однако недавно у Docker появился мощный опенсорсный соперник — Podman, который во многом его превосходит.

Читать статью
👍5❤‍🔥1🥰1
Из каких компонентов состоит k8s и каково их назначение?

Kubernetes (K8s) включает в себя плоскость управления и плоскость данных.

Плоскость управления — это уровень управления, который работает на узлах, называемых главными узлами, и может работать в конфигурации с одним главным узлом или несколькими главными узлами.
Плоскость управления включает в себя:
ETCD: хранилище конфигурации кластера
Kubernetes API: предоставляет API для взаимодействия между компонентами K8s и клиентами внутри и вне кластера
Kubernetes controller manager: реализует контроллеры, управляющие основными сущностями кластера, такими как контроллер узлов, контроллер задач и контроллер срезов конечных точек
Kubernetes scheduler: выбирает узлы, на которых будут запускаться POD
cloud controller manager: используется для реализации функций, специфичных для работы с облаком (если кластер K8s работает в облачной среде)

Плоскость данных состоит из компонентов, работающих на каждом узле:
kubelet: отслеживает изменения конфигурации узла, применяет изменения конфигурации, выполняет проверки контейнера, сообщает о статусе контейнера, работает с плагином CRI и обеспечивает функции запуска и остановки контейнера
kube-proxy: отвечает за сетевой компонент, работает с плагином CNI и обеспечивает работу сущности «сервис» на своем узле.
👍4❤‍🔥1🥰1
🚶🚶Slack уходит из России: чем заменить зарубежный сервис

Аналоги Slack и других зарубежных сервисов, которые больше недоступны в России.

Читать статью
👍4🥰41❤‍🔥1👏1
#дайджест перед выходными

☑️ Летний ProIT Fest — интерактивные форматы на стыке отделов, которые интересны как Senior-ам, так и джунам

☑️ Руководство по обнаружению сервисов с помощью Prometheus Operator — как использовать Pod Monitor, Service Monitor и Scrape Config

☑️ 4 шаблона проектирования контейнеров для Kubernetes — рассматривается применение четырех паттернов: Ambassador, Adapter, Sidecar и Init

☑️ Замена 3-way merge на Server-Side Apply — как werf 2.0 решает проблемы Helm 3

☑️ Сетевые политики на защите рабочих нагрузок в кластере Kubernetes — подробный процесс настройки сетевых политик через фронтенд, бекенд и БД
❤‍🔥12🔥2👏2🥰1
🙈🙉 Автоматизация мартышкиного труда с помощью Xdotool и Ansible

В этой небольшой статье опиcывается простой способ, как можно автоматизировать 10 000+ кликов мышкой на нескольких удаленных Linux-машинах (Xserver + SDDM).

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

Задача облегчается наличием доступа по VNC, если машин хотя бы меньше 50 и клацать не так уж и много. А если нет?

Продолжение тут

#гайд
11👍2❤‍🔥1🥰1
eks-node-viewer — это инструмент для визуализации динамического использования нод в кластере. Первоначально он был разработан как внутренний инструмент AWS для демонстрации консолидации с помощью Karpenter.

#софт
12🔥3🥰2
Из каких компонентов состоит k8s и каково их назначение?

Kubernetes (K8s) включает в себя плоскость управления и плоскость данных.

Плоскость управления — это уровень управления, который работает на узлах, называемых главными узлами, и может работать в конфигурации с одним главным узлом или несколькими главными узлами.
Плоскость управления включает в себя:
ETCD: хранилище конфигурации кластера
Kubernetes API: предоставляет API для взаимодействия между компонентами K8s и клиентами внутри и вне кластера
Kubernetes controller manager: реализует контроллеры, управляющие основными сущностями кластера, такими как контроллер узлов, контроллер задач и контроллер срезов конечных точек
Kubernetes scheduler: выбирает узлы, на которых будут запускаться POD
cloud controller manager: используется для реализации функций, специфичных для работы с облаком (если кластер K8s работает в облачной среде)

Плоскость данных состоит из компонентов, работающих на каждом узле:
kubelet: отслеживает изменения конфигурации узла, применяет изменения конфигурации, выполняет проверки контейнера, сообщает о статусе контейнера, работает с плагином CRI и обеспечивает функции запуска и остановки контейнера
kube-proxy: отвечает за сетевой компонент, работает с плагином CNI и обеспечивает работу сущности «сервис» на своем узле.
13👍2❤‍🔥1🥰1
🏛️🏛️ DbGate — open-source менеджер SQL и NoSQL БД

Это кроссплатформенный менеджер БД. Разработан, чтобы быть простым в использовании и эффективным при работе с несколькими базами одновременно.
Также имеет множество дополнительных функций, таких как сравнение схем, визуальный конструктор запросов, визуализация графиков или пакетный экспорт и импорт.

Поддерживает MySQL, PostgreSQL, SQL Server, MongoDB, SQLite.
Работает под Windows, Linux, Mac и как веб-приложение.

Исходники тут

#софт
13👍8❤‍🔥5👏2🥰1
🧑‍🔬🧑‍🔬 Опыты в домашней лаборатории: собственный Let's Encrypt в OpenWRT

Приведенные ниже шаги довольно инвазивны и не гарантируют успех; возможно, сначала стоит их протестировать на виртуальном OpenWrt роутере. Автор начинает сразу после настройки динамических обновлений DNS зон в OpenWRT, но этот гайд самодостаточен, если у вас уже есть контроль над разрешением имен в вашей сети.

Продолжение тут

#гайд
13🔥1🥰1
Очередной #дайджест для DevOps-ов

Миграция в облако быстро и без ошибок — часть 3: миграция кластера Kubernetes

Overmind CLI — мощный инструмент для анализа влияния изменений Terraform в режиме реального времени

Уменьшение нагрузки с помощью node_systemd_unit_state — решение не устраняет проблему полностью, но уменьшает ее в 5 раз, что более чем достаточно для большинства практических целей.

Гайд по деплою web-приложений для новичков — в статье пошагово рассматривается самый простой вариант деплоя приложения на хостинг

Попрощайтесь с простоями — простое обновление PostgreSQL с 14 до 16 с помощью pg_upgrade
❤‍🔥12🥰4👍2
Допустим, у вас есть YAML-файл, в котором описаны deployment и service. Вы вводите команду kubectl create -f file.yaml . Как можно подробнее опишите, что произойдёт после нажатия клавиши Enter.

В начале операции утилита kubectl будет искать и анализировать kubeconfig, извлекая оттуда данные о адресе Kubernetes API, сертификатах для проверки, и ключе доступа. Затем она отправит запрос.
API Kubernetes будет обрабатывать запрос, аутентифицировать пользователя, учитывая его права, и, в случае соответствия правам, сохранять информацию о новом развёртывании (deployment) и сервисе (service) в ETCD.
Контроллер Kubernetes узнает о созданном deployment и, используя Kubernetes API, запишет информацию в ETCD о replicaset и создаст необходимое количество PODов. В этот момент могут быть задействованы admission controller’ы для проверки корректности PODов или их преобразования.
Контроллер Kubernetes будет обнаруживать новые POD'ы и автоматически распределять их по узлам, учитывая их параметры, необходимые ресурсы, специфические требования к узлам (nodeSelector), а также другие настройки, такие как taints/tolerations, podAntiAffinity и т.д.
Kubelet, просматривая изменения в конфигурации ноды через Kubernetes API, начнет вносить изменения: запустит контейнеры через CRI, настроит сеть через kube-proxy, выполнит пробы и, по прохождении проб, изменит статус POD’а в ETCD на Ready через Kubernetes API.
Контроллер Kubernetes увидит готовые PODы, соответствующие service, и создаст записи о новых Endpoint’ах для соответствующих PODов.
Kubelet’ы на всех нодах кластера увидят изменения в конфигурации и вызовут kube-proxy для создания Endpoint’ов.
Kube-proxy вызовет CNI-плагины, которые реализуют Endpoint’ы на уровне инфраструктуры.
При обращении к сервису трафик будет направлен на новые поды.
👍10😁4😢3🥰1👾1