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
Что такое 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
Чем отличается Kubernetes от Openshift?

Openshift имеет более строгие политики безопасности и модели аутентификации.
Openshift поддерживает полную интеграцию CI/CD Jenkins.
Openshift имеет веб-консоль по-умолчанию. В Kubernetes консоль необходимо дополнительно устанавливать консоль.
В Kubernetes возможно устанавливать сторонние сетевые плагины. В Openshift используется собственное сетевое решение Open vSwitch, которое предоставляет 3 различный плагина.
Kubernetes может быть установлен практически на любой дистрибутив Linux. Openshift имеет ограничения на устанавливаемые дистрибутивы, преимущественно используются RH-дистрибутивы.
Kubernets доступен в большинстве облачных платформ - GCP, AWS, Azure, Yandex.Cloud. Openshift доступен на облачной платформе Azure и облаке от IBM.
По-умолчанию, в Openshift поды в кластере могут быть запущены только под обычным пользователем, чтобы запустить под под пользователем root необходимо выдать права для сервисного аккаунта. В Kubernetes по-умолчанию поды могут быть запущены по пользователем root.

#devops #девопс

Подпишись 👉@i_DevOps
👍10
Набор современных панелей Grafana для Kubernetes

https://github.com/dotdc/grafana-dashboards-kubernetes

#devops #девопс

Подпишись 👉@i_DevOps
👍7
Что такое CBD?

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

#devops #девопс

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

Выполняет проверку того, следует ли кластер EKS лучшим практикам EKS.

Quick Start:

python3 -m venv /tmp/.venv
source /tmp/.venv/bin/activate
pip install hardeneks
hardeneks


https://github.com/aws-samples/hardeneks

#devops #девопс

Подпишись 👉@i_DevOps
👍2
Опишите некоторые шаблоны развертывания.

Blue Green развертывания и Canary-релизы являются распространенными шаблонами развертывания.

В сине-зеленых развертываниях у вас есть две идентичные среды. В «зеленой» среде находится текущая производственная система. Развертывание происходит в «синей» среде.

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

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

#devops #девопс

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

Предоставляет терминальный пользовательский интерфейс для взаимодействия с вашими кластерами Kubernetes. Цель этого проекта - упростить навигацию, наблюдение и управление приложениями в естественных условиях. K9s постоянно следит за изменениями в Kubernetes и предлагает последующие команды для взаимодействия с наблюдаемыми ресурсами.

https://github.com/derailed/k9s

#devops #девопс

Подпишись 👉@i_DevOps
👍73🔥2
25 новых проектов в песочнице CNCF: мегаобзор

Cloud Native Computing Foundation (CNCF) — международная некоммерческая организация, основанная The Linux Foundation в 2015 году. Её основные цели — содействие развитию контейнерных технологий и координация технической отрасли вокруг них. В число учредителей входят такие компании, как Google, CoreOS, Mesosphere, Red Hat, Twitter, Huawei, Intel, RX-M, Cisco, IBM, Docker, Univa и VMware. На сегодняшний день CNCF поддерживают более 450 членов.

https://habr.com/ru/companies/flant/articles/819765/

#devops #девопс

Подпишись 👉@i_DevOps
👍61
Каково значение непрерывного тестирования в DevOps?

Процесс непрерывного тестирования выполняется в DevOps, чтобы избежать тестирования всего кода за раз. В традиционном SDLC мы тестируем код после того, как весь код разработан, но в DevOps мы тестируем мгновенно каждое изменение, внесенное в код. Этот вид тестирования позволяет избежать задержек с выпуском продукта, а также помогает добиться более высокого качества.


Почему важно иметь управление конфигурацией в DevOps?

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


Что такое Puppet Modules и чем они отличаются от Puppet Manifests?

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

#devops #девопс

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