Библиотека девопса | 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
🚶🚶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
Привет, друзья! 👋

Мы готовим статью о влиянии страха ошибок на работу программистов и хотим услышать ваше мнение! 💻🤔

🔍 Как вы справляетесь со страхом совершить ошибку в коде?
🛠️ Какие инструменты или практики в вашей команде помогают уменьшить страх перед внесением изменений в код?
🌱 Как вы превращаете свои ошибки в возможности для роста и развития?

💬 Поделитесь своим опытом! Ваши ответы могут помочь другим разработчикам! Лучшие идеи войдут в нашу статью.
🥰2
Как объединить две метрики?

В Prometheus объединение двух метрик можно выполнить с помощью функции *join()*. Функция *join()* объединяет два или более временных ряда на основе значений их меток. Она принимает два обязательных аргумента: *on* и *table*. Аргумент on указывает метки для объединения *on*, а аргумент *table* указывает временной ряд для объединения. На картинке пример того, как объединить две метрики с помощью функции join().
🥰6
Шпаргалка по удалению томов в Docker
13🎉4🌚2🔥1
Мы пишем статью о способах измерения личностного роста программистов и нам нужна ваша помощь! 🚀

📊 Какие метрики вы используете для оценки своего прогресса?
🤔 Как вы понимаете, что выросли профессионально?
💡 Есть ли у вас свои уникальные способы отслеживания развития?

💬 Поделитесь вашим опытом в комментариях! Лучшие идеи попадут в нашу статью!
3🥰1
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования

🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion

#️⃣C#

Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
2