DevOps – Telegram
DevOps
8.47K subscribers
1.46K photos
812 videos
28 files
1.74K links
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Download Telegram
Как работает докер🐳

#devops #девопс

Подпишись 👉@i_DevOps
👍132👎1
Блокировка Docker Hub для России. Без паники разбираемся как работать дальше

Главной новостью этой недели стала блокировка пользователей из России ресурсом Docker Hub. Она осуществляется по Geo IP.

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

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

https://habr.com/ru/articles/818565/

👉 @i_odmin
👍10😁6
Руководство по обнаружению сервисов с помощью Prometheus Operator - как использовать Pod Monitor, Service Monitor и Scrape Config.

Prometheus Operator - это популярный инструмент для управления и развертывания Prometheus и связанных с ним компонентов мониторинга в Kubernetes. Чтобы создать эффективную стратегию мониторинга с его помощью, нам нужно знать основы, например, как обнаруживать сервисы. В настоящее время это можно сделать с помощью Pod Monitor, Service Monitor и новой функции Scrape Config CRD.

https://medium.com/@helia.barroso/a-guide-to-service-discovery-with-prometheus-operator-how-to-use-pod-monitor-service-monitor-6a7e4e27b303

#devops #девопс

Подпишись 👉@i_DevOps
👍7
В Ansible роли есть директории vars и default. Что они содержат и чем отличаются?

Ansible применяет порядок приоритета переменных. Ниже представлен список в порядке повышения приоритета.

command line values (for example, -u my_user, these are not variables)
role defaults (defined in role/defaults/main.yml)
inventory file or noscript group vars
inventory group_vars/all
playbook group_vars/all
inventory group_vars/*
playbook group_vars/*
inventory file or noscript host vars
inventory host_vars/*
playbook host_vars/*
host facts / cached set_facts
play vars
play vars_prompt
play vars_files
role vars (определяемые в role/vars/main.yml)
block vars (только для задач в block)
task vars (только для задач)
include_vars
set_facts / registered vars
role (и include_role) params
include params
extra vars (например, -e "user=my_user") (всегда приоритетнее)

Соответственно, переменные в vars будут приорететнее, чем в defaults.

#devops #девопс

Подпишись 👉@i_DevOps
👍5
Архитектурные паттерны: Circuit-Breaker

Что такое « Circuit Breaker»?
В мире распределенных систем вероятность того, что компоненты выйдут из строя или перестанут реагировать на запросы, выше по сравнению с монолитными системами. Учитывая взаимозависимость микросервисов или модулей в распределенной системе, отказ одного компонента может привести к каскадным сбоям во всей системе, потенциально вызывая сбой или остановку всей системы. Поэтому устойчивость - способность системы справляться со сбоями и восстанавливаться после них - становится критически важной в распределенных средах.

https://lab.scub.net/architecture-patterns-the-circuit-breaker-8f79280771f1

#devops #девопс

Подпишись 👉@i_DevOps
👍31
Что такое Trunk-based development?

Trunk-based Development (TBD) — модель ветвления, в которой разработчики совместно работают над кодом в одной ветви, называемой "стволом" (trunk). При этом другие ветви имеют короткий срок жизни благодаря использованию документированных методов.

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Сетевые политики на защите рабочих нагрузок в кластере Kubernetes

В кластере Kubernetes нам доступен любой сервис в любом пространстве имён, то есть по умолчанию pod открыт для любого трафика.

Мы можем определить сетевую политику для пространства имён или pod’а, чтобы защитить рабочие нагрузки в кластере. Например, разделить рабочие нагрузки в мультитенантном кластере по проектам, командам или организациям.

Rus https://habr.com/ru/company/southbridge/blog/718262/

Eng https://medium.com/geekculture/network-policy-to-secure-workloads-on-kubernetes-cluster-99017698c748

#devops #девопс

Подпишись 👉@i_DevOps
1
Профилирование: Flame Chart vs. Flame Graph

Flame charts и Flame graphs - это методы визуализации данных профилирования. Для многих инженеров-программистов они являются первыми визуализациями, с которыми мы сталкиваемся, когда начинаем работать над производительностью. Если вы, как и я, являетесь инженером фронтенда, то, скорее всего, диаграмма Flame - это то, с чем вы знакомы больше всего. Хотя диаграммы Flame и графики Flame выглядят и звучат похоже, это не одно и то же.

https://medium.com/performance-engineering-for-the-ordinary-barbie/profiling-flame-chart-vs-flame-graph-7b212ddf3a83

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Что такое Docker? В чем отличие контейнера от образа?

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации.

Образ — шаблон приложения, который содержит слои файловой системы в режиме "только-чтение".

Контейнер — запущенный образ приложения, который кроме нижних слоев в режиме "только чтение" содержит верхний слой в режиме "чтение-запись".

#devops #девопс

Подпишись 👉@i_DevOps
👍11
Подборка Telegram каналов для программистов

Системное администрирование 📌
https://news.1rj.ru/str/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://news.1rj.ru/str/sysadminof Книги для админов, полезные материалы
https://news.1rj.ru/str/i_odmin Все для системного администратора
https://news.1rj.ru/str/i_odmin_book Библиотека Системного Администратора
https://news.1rj.ru/str/i_odmin_chat Чат системных администраторов
https://news.1rj.ru/str/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://news.1rj.ru/str/sysadminoff Новости Линукс Linux


https://news.1rj.ru/str/tikon_1 Новости высоких технологий, науки и техники💡
https://news.1rj.ru/str/mir_teh Мир технологий (Technology World)

https://news.1rj.ru/str/rust_lib Полезный контент по программированию на Rust
https://news.1rj.ru/str/golang_lib Библиотека Go (Golang) разработчика

https://news.1rj.ru/str/itmozg Программисты, дизайнеры, новости из мира IT.
https://news.1rj.ru/str/phis_mat Обучающие видео, книги по Физике и Математике

https://news.1rj.ru/str/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://news.1rj.ru/str/nodejs_lib Подборки по Node js и все что с ним связано
https://news.1rj.ru/str/ruby_lib Библиотека Ruby программиста

1C разработка 📌
https://news.1rj.ru/str/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://news.1rj.ru/str/cpp_lib Библиотека C/C++ разработчика
https://news.1rj.ru/str/cpp_knigi Книги для программистов C/C++
https://news.1rj.ru/str/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://news.1rj.ru/str/pythonofff Python академия. Учи Python быстро и легко🐍
https://news.1rj.ru/str/BookPython Библиотека Python разработчика
https://news.1rj.ru/str/python_real Python подборки на русском и английском
https://news.1rj.ru/str/python_360 Книги по Python Rus

Java разработка 📌
https://news.1rj.ru/str/BookJava Библиотека Java разработчика
https://news.1rj.ru/str/java_360 Книги по Java Rus
https://news.1rj.ru/str/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://news.1rj.ru/str/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://news.1rj.ru/str/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://news.1rj.ru/str/developer_mobila Мобильная разработка
https://news.1rj.ru/str/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://news.1rj.ru/str/frontend_1 Подборки для frontend разработчиков
https://news.1rj.ru/str/frontend_sovet Frontend советы, примеры и практика!
https://news.1rj.ru/str/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://news.1rj.ru/str/game_devv Все о разработке игр

Вакансии 📌
https://news.1rj.ru/str/sysadmin_rabota Системный Администратор
https://news.1rj.ru/str/progjob Вакансии в IT

Чат программистов📌
https://news.1rj.ru/str/developers_ru

Библиотеки 📌
https://news.1rj.ru/str/book_for_dev Книги для программистов Rus
https://news.1rj.ru/str/programmist_of Книги по программированию
https://news.1rj.ru/str/proglb Библиотека программиста
https://news.1rj.ru/str/bfbook Книги для программистов
https://news.1rj.ru/str/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://news.1rj.ru/str/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://news.1rj.ru/str/bookflow Лекции, видеоуроки, доклады с IT конференций
https://news.1rj.ru/str/coddy_academy Полезные советы по программированию

QA, тестирование 📌
https://news.1rj.ru/str/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://news.1rj.ru/str/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://news.1rj.ru/str/thehaking Канал о кибербезопасности
https://news.1rj.ru/str/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
https://news.1rj.ru/str/ux_web Статьи, книги для дизайнеров

Английский 📌
https://news.1rj.ru/str/UchuEnglish Английский с нуля

Математика 📌
https://news.1rj.ru/str/Pomatematike Канал по математике

Excel лайфхак📌
https://news.1rj.ru/str/Excel_lifehack
👍1💩1
Threat Model Examples

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

- Kubernetes
- Docker
- Container
- Amazon S3
- Supply Chain
- Cloud Computing
- CI/CD Pipeline и другие

https://github.com/TalEliyahu/Threat_Model_Examples

#devops #девопс

Подпишись 👉@i_DevOps
👍32
Чем отличается StatefulSet от Deployment?

Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.

StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.

#devops #девопс

Подпишись 👉@i_DevOps
👍9🔥1
Что ты такое, dhclient?

Сетевой стек Linux не прост даже на первый взгляд: приложение — в юзерспейсе, а всё, что после сокета, — в ядре операционки. И там тысяча реализаций TCP. Любое взаимодействие с сетью — системный вызов с переключением контекста в ядре.

Чтобы лишний раз не дёргать ядро прерываниями, придумали DMA — Direct Memory Access. Это когда трафик пишется напрямую в память, откуда он считывается приложением в обход ядра. И это дало жизнь классу софта с режимом работы kernel bypass. Например, при DPDK (Intel Data Plane Development Kit) сетевая карта целиком передаётся в userspace, а ядро даже не подозревает о её существовании.

Потом был BPF. А ещё потом усилиями Алексея Старовойтова и компании миру была показана eBPF — штука, умеющая делать прокол в ядро и инжектировать туда микроскопические виртуальные машины с кодом, которые могут в обход всего и вся взаимодействовать с системными событиями, и в том числе с трафиком. Супербыстро и оптимально (на фоне стандартного стека, конечно же). А это в свою очередь дало возможность использовать XDP для ускорения обработки трафика.

Но даже помимо хаков работы с ядром есть такие штуки, как sk_buff, в которой хранятся метаданные всех миллионов протоколов (в большинстве случаев они вообще не нужны: тащим с собой легаси). Есть NAPI (New API), которая призвана уменьшить число прерываний. А 100500 вариантов разных tables? Iptables, arptables, ip6tables, ebtables, nftables…

Если вам мало — ещё придумали SR-IOV. Там тоже уже упомянутый DMA, а ещё можно посплитить физическую карточку на несколько виртуальных и раздать их в разные виртуалки и приложения. Под ручку с DMA идёт и RDMA, когда мы пишем трафик напрямую в память, но не в свою, а в чужую на удалённой по сети машине.

И в этих копаниях можно уйти безгранично далеко. Но сегодня мы всё же поговорим о вещах более приземлённых и повседневных, которые лишь приоткрывают вход в эту разветвлённую сеть кроличьих нор. Мы разберём одну любопытную задачку, на примере которой ужаснёмся (а кто-то ухмыльнётся деловито в усы) тому, как сложно может быть реализован такой простой протокол, как DHCP.

https://habr.com/ru/companies/yandex/articles/774462/

#devops #девопс

Подпишись 👉@i_DevOps
👍8
GitLab 17.0 Release

Вышел релиз GitLab 17.0 с каталогом CI/CD в общем доступе и новой метрикой аналитики цикла разработки AI Impact

https://about.gitlab.com/releases/2024/05/16/gitlab-17-0-released/

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Жизнь коротка, используйте Dev Tools

#devops #девопс

Подпишись 👉@i_DevOps
👍42👎1
Зачем нужен terraform taint?

Команда terraform taint пометит ресурс инфраструктуры, который будет удален и заново создан при следующем применении команды terraform apply.

#devops #девопс

Подпишись 👉@i_DevOps
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Rustypaste

Это минималистичный и удобный сервис для загрузки файлов, разработанный на языке Rust и использующий веб-фреймворк Actix, который выбран за его безопасность, высокую производительность и простоту.

Наиболее простой способ взаимодействия с сервером rustypaste — через curl, однако вы также можете воспользоваться командным инструментом rpaste, написанным на Rust.

Rustypaste Github
Rustypaste-cli Github
Taking Rust to the Cloud: Blazingly Fast File Sharing

#devops #девопс #cli

Подпишись 👉@i_DevOps
👍1
KubeBrain

Высокопроизводительная система метаданных для Kubernetes

Kubernetes - это распределенная система оркестровки и планирования приложений. Она стала стандартом де-факто для облачных нативных баз приложений, но ее официальный масштаб стабильной работы ограничен 5 тыс. узлов. Этого достаточно для большинства сценариев работы приложений, но все же недостаточно для приложений с миллионами машинных узлов. С ростом "цифровизации" и, в частности, " cloud-native", общая глобальная ИТ-инфраструктура будет продолжать расти ускоренными темпами. Для систем оркестровки и планирования распределенных приложений есть два пути адаптации к этой тенденции.

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

https://github.com/kubewharf/kubebrain

#devops #девопс

Подпишись 👉@i_DevOps
👍2
Managing Cloud Native Data on Kubernetes: Architecting Cloud Native Data Services Using Open Source Technology
Автор: Jeff Carpenter (2023)

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

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Собрал основные концепции Docker в одну диаграмму

#devops #девопс

Подпишись 👉@i_DevOps
👍12
Настройка CI/CD для самых маленьких разработчиков

Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позволяет не тратить время на поход к коллегам (и ожидание их реакции), т.е. в целом повышает комфорт работы и дает понимание, почему все происходит именно так.

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

https://habr.com/ru/companies/maxilect/articles/799177/

#devops #девопс

Подпишись 👉@i_DevOps
👍116