TGViewer
Channel Public Channel
Библиотека девопса | DevOps, SRE, Sysadmin

Библиотека девопса | DevOps, SRE, Sysadmin

@devopsslib

Все самое полезное для девопсера в одном канале.

Наши курсы: https://clc.to/ZJ7Z1w

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787

Заявка: 8137718351
Subscribers
10.4K
Photos
2.1K
Videos
84
Links
3.5K

Showing posts older than #3389 · Back to latest

Older Posts 20 shown
Post #3388 2.36K
🛡 Нашли главных защитников инфраструктуры:

▪️ Kubernetes — полевой медик. Реанимирует упавшие поды и проводит балансировку под огнём противника.

▪️ Terraform — прапорщик инфраструктуры. Наводит порядок в облаках железной рукой.

▪️ Jenkins — ветеран CI-войск. До сих пор стоит на посту, хотя все уже перешли на GitHub Actions.

Девопс спит, развертывание идет 🫡 Кого забыли в этом списке?
  • 🔥 5
  • 👍 2
  • ❤‍🔥 1
  • 🌚 1
Post #3387 1.89K
🐳 Docker обновляет политику Docker Hub

Docker отменяет жесткие лимиты на загрузки и пересматривает свою политику хранения данных.

Ключевые изменения

➖ Безлимитные загрузки для подписчиков Docker Pro, Team и Business.

➖ Лимиты на загрузки смягчены:

• Анонимные пользователи — до 10 загрузок в час.
• Бесплатные зарегистрированные пользователи — до 100 загрузок в час (было 40).

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

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

➡️ Подробнее в блоге Docker

🐸Библиотека devops'a
  • 👍 6
  • ⚡ 2
  • 🔥 2
  • 😢 1
Post #3386 1.82K
Post #3385 1.88K
Совет на 2025-й — будьте осторожнее с выбором работы.

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

Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦‍♂️

Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:

— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер

Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.

Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
Post #3384 1.48K

Forwarded from Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck

📱🧮 Как Android обошел iOS в создании идеального калькулятора

Когда в Google решили написать по-настоящему точный калькулятор для Android, они и не подозревали, что эта задача потребует участия выдающегося эксперта по C/C++ и создания гибридной математической системы.

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

#новость #android #ios
  • 👍 3
  • ❤ 1
Post #3383 2.18K
💻 ООП в Bash

Bash++ — это расширение для Bash, которое добавляет поддержку объектно-ориентированного программирования (ООП). Теперь можно создавать классы, объекты, методы и даже использовать инкапсуляцию.

➖ Как это выглядит

Вот пример простого класса и объекта в Bash++:
@class Bashpp {
@public author="Andrew S. Rightenburg"
@public source="https://github.com/rail5/bashpp"
@public license="GNU GPL v3"

@public @method printInfo {
echo "Bash++ is a superset of Bash that adds support for classes and objects."
echo "It's meant to be a simple way to add object-orientation to Bash scripts."
echo "Author: @this.author"
echo "Source: @this.source"
echo "License: @this.license"
}
}

@Bashpp myBashpp
@myBashpp.printInfo


➡️ Захотелось попробовать? Заходите на официальный сайт проекта

🐸Библиотека devops'a
  • 👍 4
  • 🥰 2
  • 👾 2
  • 😢 1
Post #3382 1.89K
🔄 Flux обновился

Вышло обновление Flux — инструмента для управления Kubernetes в стиле GitOps. Разбираем, что изменилось и как это повлияет на использование Flux.

Главные обновления

➖ Настраиваемые проверки состояния

Теперь можно использовать Common Expression Language для настройки гибких проверок состояния ресурсов.

➖ Поддержка аутентификации через GitHub App

Flux теперь умеет работать с GitHub App вместо SSH/HTTPS-токенов.

➖ Гибкие метаданные для уведомлений
Теперь можно добавлять настраиваемые метаданные к событиям, улучшая контекст оповещений в Slack, Discord, Microsoft Teams и других системах

➖ Улучшение CLI и диагностики
Обновленный flux CLI получил новые команды для анализа и устранения неполадок в кластере.

➖ Эфемерные окружения с Flux Operator
Теперь можно автоматически деплоить изменения из Pull Requests в временные тестовые окружения.

➡️ Подробнее в блоге разработчиков

🐸Библиотека devops'a
  • 👍 3
  • ❤ 1
  • 🎉 1
  • 👾 1
Post #3380 1.86K
Karpenter vs. Kubernetes Cluster Autoscaler

Если ваш Kubernetes-кластер нуждается в автоматическом масштабировании, у вас есть два мощных инструмента: Cluster Autoscaler (CA) и Karpenter. Давайте разберёмся какой выбрать.

➖ Cluster Autoscaler — классический подход

Автоматически добавляет узлы в кластер, если поды не могут запуститься из-за нехватки ресурсов, и удаляет их, когда они простаивают.

Он работает с группами узлов, что требует предварительной настройки, но обеспечивает стабильное масштабирование.

Кроме того, CA поддерживает AWS, GCP, Azure и другие облачные платформы.

❌ Минусы:

• Масштабирование зависит от предустановленных групп узлов.
• Медленнее реагирует на изменения.

➖ Karpenter — гибкость и скорость

Karpenter динамически создаёт новые узлы в реальном времени, когда это необходимо, без предварительно настроенных групп узлов. Он автоматически подбирает размер и тип узла в зависимости от требований нагрузки, что делает масштабирование более гибким.

Кроме того, Karpenter может использовать Spot-инстансы, помогая оптимизировать затраты на инфраструктуру.

Благодаря своей архитектуре он реагирует на изменения в кластере быстрее, чем традиционные инструменты автоматического масштабирования.

❌ Минусы:

• Требует более глубокой настройки.
• Пока поддерживает только AWS (официально).

💬 Какой инструмент используете вы? Делитесь опытом в комментариях👇

📎 Подробнее в источнике

🐸Библиотека devops'a
  • 👍 4
  • ❤ 1
  • 💯 1
  • 👾 1
Post #3379 1.87K
⚡️ Как разбудить сервер, если он спит

Если у вас дома или в офисе стоит Linux-сервер, который большую часть времени простаивает, но при этом потребляет электричество – пора решить эту проблему.

➖ Что можно сделать

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

➖ Как это настроить

• Активируем Wake-on-LAN с поддержкой unicast — сервер будет реагировать не только на специальные WoL-пакеты, но и на обычные обращения по сети.

• Добавляем "дружественного соседа" — это устройство (например, Raspberry Pi), которое будет «притворяться» сервером, отвечая на сетевые запросы от имени спящего устройства.

• Настраиваем Avahi — для сетевого объявления сервисов, даже если сервер спит.

Ваш сервер будет включаться автоматически, когда кто-то в сети попытается к нему подключиться, а в остальное время — экономить энергию.

💬 Как вы решаете вопрос энергопотребления? Делитесь опытом в комментариях! 👇

📎 Подробный гайд

🐸Библиотека devops'a
  • 👍 3
  • ❤ 2
  • 🌚 2
  • 🔥 1
Post #3377 2.05K
🚀 DevDocs.io – must-have инструмент

DevDocs – универсальный хаб документации, объединяющий справочные материалы по Kubernetes, Docker, Terraform, AWS, Bash, Linux, Git, CI/CD и многим другим технологиям в одном месте.

Особенности:

• Мгновенный поиск — находим нужную команду в пару кликов

• Офлайн-доступ — документация всегда под рукой, даже без интернета

• Горячие клавиши — быстрая навигация без мышки.

Только документация, только хардкор

➡️ Читать документацию удобно

🐸Библиотека devops'a
  • 👍 5
  • ❤ 2
  • 🔥 2
  • 😁 1
Post #3376 5.6K
👨‍💻 StackQL: Интерактивное взаимодействие с API через SQL

StackQL предлагает унифицированную среду для управления облачными ресурсами с помощью знакомого SQL-синтаксиса.

➖ Что это такое

StackQL — это открытый фреймворк на основе SQL, который позволяет пользователям выполнять запросы, провижининг и управление облачными и SaaS-ресурсами. Он поддерживает популярные облачные провайдеры, такие как Google Cloud, AWS, Microsoft Azure, Digital Ocean и другие.

Доступен для Windows, MacOS и Linux и поддерживает несколько режимов использования, включая интерактивную оболочку REPL, утилиту командной строки и выполнение запросов через файлы IQL.

➖ Основные Возможности StackQL

Навигация по облачным API: используйте команды SHOW SERVICES и SHOW RESOURCES для ознакомления с доступными сервисами и ресурсами. Например:
SHOW SERVICES IN google LIKE '%compute%';SHOW RESOURCES IN google.compute LIKE '%instances%';


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

Примеры:
Создание ресурса:
INSERT INTO google.compute.disks (project, zone, name, sizeGb)
SELECT 'stackql-demo', 'europe-north1-a', 'disk-1', 16;


Обновление ресурса:
UPDATE google.compute.disks
SET sizeGb = 32WHERE project = 'stackql-demo' AND zone = 'europe-north1-a' AND name = 'disk-1';


Удаление ресурса:
DELETE FROM google.compute.disks
WHERE disk = 'disk-1' AND project = 'stackql-demo' AND zone = 'europe-north1-a';


Управление состоянием ресурсов: используйте команды EXEC для управления состоянием ресурсов, такими как запуск и остановка виртуальных машин. Примеры:

Остановка инстанса:
EXEC google.compute.instances.stop  @instance = 'instance-1',
@project = 'stackql-demo', @zone = 'europe-north1-a';


Запуск инстанса:
EXEC google.compute.instances.start
@instance = 'instance-1', @project = 'stackql-demo',
@zone = 'europe-north1-a';


➡️ Подробнее про инструмент

🐸Библиотека devops'a
Post #3374 1.82K
🆚 Различия между DaemonSets и Deployments в k8s

Kubernetes предоставляет два способа управления подами: DaemonSets и Deployments. Сейчас разберём основные отличия между ними.

➖ Назначение:
• Deployment: управляет статическими приложениями, обеспечивая масштабирование, обновления и откаты.

• DaemonSet: гарантирует запуск одного пода на каждом узле кластера или их подмножеств).

➖ Управление подами:

• Deployment: количество подов определяется через replicas. Поды распределяются по узлам автоматически, но могут группироваться на одних узлах. Для распределения требуется PodAntiAffinity.

• DaemonSet: поды запускаются на каждом узле автоматически. При добавлении/удалении узлов DaemonSet адаптируется.

➖ Стратегии обновлений:

• Deployment: поддерживает rolling updates (постепенное обновление) и rollback (откат к предыдущей версии).

• DaemonSet: обновления выполняются последовательно для каждого пода, но откаты не поддерживаются нативно.

➖ Использование ресурсов:

• DaemonSet может быть избыточным в больших кластерах, если задача не требует присутствия на всех узлах. Например, запуск 15 подов на 50 узлах приведет к неэффективному использованию ресурсов.

• Deployment позволяет гибко масштабировать приложение независимо от количества узлов.

➖ Типичные сценарии:

• Deployment: веб-серверы, микросервисы, пакетные задания.

• DaemonSet: логирование, мониторинг, сетевые компоненты.

➖ Примеры манифестов

Deployment — Nginx:

apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80


DaemonSet — Fluentd для сбора логов:

apiVersion: apps/v1
kind: DaemonSet
metadata:
name: fluentd
spec:
selector:
matchLabels:
name: fluentd
template:
metadata:
labels:
name: fluentd
spec:
containers:
- name: fluentd
image: fluentd:latest
volumeMounts:
- name: varlog
mountPath: /var/log
volumes:
- name: varlog
hostPath:
path: /var/log


📎 Подробности в статье

🐸Библиотека devops'a
  • 👍 7
Post #3373 1.83K
❗Вакансии «Библиотеки программиста» — ждем вас в команде!

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

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
Post #3372 2.25K
⌨️ tldr-pages: шпаргалки по командам терминала

tldr-pages — это проект с краткими и понятными примерами команд для терминала. Вместо десятков страниц документации вы получите простые примеры, которые сразу можно использовать.

Проект охватывает команды Linux, macOS и Windows, включая git, curl, docker и многое другое. Благодаря сообществу, база команд постоянно пополняется и актуализируется.

Установить tldr можно через пакетные менеджеры вроде npm, apt, brew и другие.

После установки достаточно ввести:
tldr git

чтобы получить краткую справку по нужной команде.

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

➡️ Репозиторий проекта

🐸Библиотека devops'a
  • 🔥 5
  • 🙏 1
Post #3370 1.98K
⚡️ Оптимизируем терминал с fzf

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

Практические применения fzf:

1️⃣ История команд: настройте fzf на Ctrl+R, чтобы искать команды в истории за считанные секунды.

2️⃣ Поиск файлов: используйте fzf с find или rg для поиска файлов по проекту без долгих ожиданий.

3️⃣ Быстрая смена директорий: привяжите Alt+C для мгновенного перехода в нужную папку, выбрав её через fzf.

4️⃣ Интеграция с Vim: откройте файл прямо из редактора командой vim $(fzf), а в Neovim используйте встроенную поддержку.

5️⃣ Гибкая настройка: создайте свои алиасы, скрипты и горячие клавиши для задач, которые выполняете каждый день.

С fzf вы перестанете тратить время на рутинный поиск и ускорите работу в терминале.

➡️ Подробнее с примерами в статье

🐸Библиотека devops'a
  • ❤ 2
Post #3369 2.12K
⚙️ #инфографика про работу Kubernetes

На изображении показана архитектура Kubernetes и как она работает:

➖ Пользовательский интерфейс и CLI (kubectl) — точка взаимодействия разработчика с кластером Kubernetes.

➖ Kubernetes Master (Control Plane) — управляющий центр:

• API Server — принимает и обрабатывает запросы.
• Controller Manager — контролирует и поддерживает заданное состояние кластера.
• Etcd — key-value хранилище для конфигураций и состояния.

➖ Worker Nodes (рабочие узлы) — выполняют приложения:

• Kubelet — управляет контейнерами на узле.
• Container Runtime — среда выполнения контейнеров.
• Kube-proxy — управляет сетевыми взаимодействиями между подами.

🐸Библиотека devops'a
  • ❤ 1
Post #3368 1.94K
🚨 Почему стоит избегать phpMyAdmin на проде

phpMyAdmin — удобный, но уязвимый инструмент. Вот почему:

• Легко доступен по предсказуемому URL — мечта для хакеров.

• Подвержен атакам перебором.

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

Что делать:

1. Использовать SSH-туннель, если нужен удалённый доступ.

2. Перейти на MySQL Workbench, DBeaver, DataGrip и др.

3. Ограничить доступ по IP, использовать HTTPS и 2FA.

➡️ Оригинальная статья

💬 Какие инструменты для баз данных используете вы? Пишите в комментарии👇

🐸Библиотека devops'a
  • 🥱 3
  • 👍 2
Post #3367 1.94K
Kubernetes в облаке: краткая инструкция по развёртыванию

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

1. Kubeadm — утилита, которая автоматизирует инициализацию и настройку кластера Kubernetes.

2. Containerd — менеджер контейнеров, который обеспечивает выполнение и управление контейнерами без лишних зависимостей.

3. Cilium CNI — сетевой плагин, использующий eBPF для высокопроизводительного сетевого взаимодействия и безопасности внутри кластера.

Для развёртывания Kubernetes в облаке используйте kubeadm для инициализации кластера, установив необходимые пакеты и выполнив команду kubeadm init с указанием сети подов.

Контейнерная среда настраивается с помощью containerd: после установки сгенерируйте стандартную конфигурацию и перезапустите сервис.

Для сетевого взаимодействия используйте Cilium CNI, установив его через Helm после добавления официального репозитория.

📎 Подробная инструкция в статье

🐸Библиотека devops'a
  • ❤ 1
Post #3366 1.71K
🐥🥚 Проблема «курицы и яйца»

В экосистеме Kubernetes Cloud Controller Manager (CCM) отвечает за управление ресурсами, такими как балансировщики нагрузки, тома хранения и сетевые интерфейсы.

Проблема «курицы и яйца» в контексте CCM заключается в следующем: для полноценной работы кластера Kubernetes необходим CCM, который, в свою очередь, зависит от облачных ресурсов, создаваемых и управляемых самим кластером. Это создает замкнутый круг, где ни одна из сторон не может быть инициализирована первой без наличия другой.

Возможные решения этой проблемы включают:

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

2️⃣ Использование внешних инструментов: применение сторонних утилит или скриптов для предварительного создания необходимых облачных ресурсов до запуска кластера. Это обеспечивает основу для последующей работы CCM.

3️⃣ Постепенная инициализация: построение процесса развертывания таким образом, чтобы сначала запускались минимальные компоненты кластера, способные взаимодействовать с облаком, после чего инициализируется CCM, который завершает настройку и управление ресурсами.

Разработчики Kubernetes работают над упрощением развертывания и минимизации зависимости от предварительных настроек.

📎 Подробнее в блоге kubernetes

🐸Библиотека devops'a
  • 👍 1
Post #3365 1.54K

Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение

📈 BI на максималках: 4 варианта ускорения реализации комплексных решений

Четыре проверенных способа сократить время реализации BI-проектов без потери функциональности. Реальный опыт backend-разработчика, который поможет вам избежать типичных ошибок при внедрении Business Intelligence.

Подробнее в нашей статье: https://proglib.io/sh/YuEShfjNiD
  • ❤ 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →