DevOps – Telegram
DevOps
8.46K subscribers
1.46K photos
809 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
Поднимаем кластер Kubernetes из одной ноды под Linux

Поднимаем простейший однонодовый кластер Kubernetes на машине под управлением Ubuntu Linux 18.04 LTS.

Сразу отмечу, что по умолчанию Kubernetes торчит наружу. Если вы поднимаете ноду Kubernetes где-то на VDS просто для экспериментов, то скорее всего хотите закрыть на машине все порты кроме 22-го:

https://telegra.ph/Podnimaem-klaster-Kubernetes-iz-odnoj-nody-pod-Linux-03-29

#devops #девопс

Подпишись 👉@i_DevOps
👍7
Пять GitHub проектов, которые помогут вам стать лучшим инженером DevOps

1. How they SRE

Подборка общедоступных ресурсов о том, как технологические и технически подкованные организации по всему миру практикуют Site Reliability Engineering (SRE).

https://github.com/upgundecha/howtheysre

2. Awesome Scalability

Паттерны масштабируемых, надежных и производительных крупномасштабных систем

https://github.com/binhnguyennus/awesome-scalability

3. DevOps Exercises

Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. Вопросы для интервью по DevOps

https://github.com/bregman-arie/devops-exercises

4. Test your sysadmin skills

Сборник тестовых вопросов и ответов по Linux Sysadmin. Проверьте свои знания и навыки в различных областях с помощью этих вопросов и ответов.

https://github.com/trimstray/test-your-sysadmin-skills

5. Awesome Site Reliability Engineering

Составленный список ресурсов по надежности сайта и производственному инжинирингу.

https://github.com/dastergon/awesome-sre

#devops #девопс

Подпишись 👉@i_DevOps
👍8
Как построить «достаточно хороший» CI/CD-конвейер и разрабатывать без сбоев?

На открытом вебинаре 10 декабря в 20:00 мск мы разберем, как создать достаточно хороший pipeline для автоматизации CI/CD!

💯Вы узнаете, как внедрить автоматизацию всех этапов: от сборки и тестирования до развертывания. Поделимся практиками настройки инструментов, таких как GitLab CI/CD, Jenkins и GitHub Actions, чтобы ваши проекты были готовы к стабильному и быстрому запуску.

🧑‍💻Спикер Кирилл Казаков — DevOps Lead в Simplinic.

🚀Повысьте скорость и надежность разработки, уменьшите сбои и ошибки. Научитесь автоматизировать конвейеры и доставлять продукт на рынок быстрее!

➡️Регистрируйтесь на вебинар и получите скидку 🎁 на участие в курсе «Инфраструктурная платформа на основе Kubernetes»: https://vk.cc/cFHdAq

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Как можно контролировать использование ресурсов в POD?

В Kubernetes контроль использования ресурсов в Pod осуществляется через механизмы запросов (requests) и лимитов (limits), которые задаются для контейнеров в манифестах Pod'ов. Это позволяет управлять доступом к вычислительным ресурсам (CPU и память) и предотвращать чрезмерное потребление, которое может повлиять на работу кластера.

Основные способы контроля:

1. Запросы (Requests):
- Указывают минимальный объем ресурсов, который необходим контейнеру для работы.
- Kubernetes использует эту информацию для планирования Pod'ов на узлах (nodes), гарантируя, что на узле достаточно ресурсов для Pod'а.

Пример:

resources:
requests:
memory: "256Mi"
cpu: "500m"


2. Лимиты (Limits):
- Устанавливают максимальный объем ресурсов, который контейнер может использовать.
- Если контейнер превышает лимит памяти, он будет завершен. Если превышен лимит CPU, его использование будет ограничено (throttled).

Пример:

resources:
limits:
memory: "512Mi"
cpu: "1"


3. Комбинированное использование запросов и лимитов:
- Обычно рекомендуется задавать оба параметра для каждой нагрузки, чтобы обеспечить баланс между производительностью и безопасностью.
- Пример:

resources:
requests:
memory: "256Mi"
cpu: "500m"
limits:
memory: "512Mi"
cpu: "1"


4. Использование ResourceQuota:
- Устанавливает ограничения на объем ресурсов, которые могут использоваться на уровне namespace.
- Пример:

apiVersion: v1
kind: ResourceQuota
metadata:
name: compute-resources
namespace: example-namespace
spec:
hard:
requests.cpu: "4"
requests.memory: "8Gi"
limits.cpu: "10"
limits.memory: "16Gi"


5. LimitRange:
- Определяет минимальные/максимальные запросы и лимиты для Pod'ов и контейнеров в namespace.
- Пример:

apiVersion: v1
kind: LimitRange
metadata:
name: mem-cpu-limits
namespace: example-namespace
spec:
limits:
- default:
cpu: "1"
memory: "512Mi"
defaultRequest:
cpu: "500m"
memory: "256Mi"
type: Container


Мониторинг использования ресурсов:
- Используйте встроенные метрики Kubernetes через kubectl top:

kubectl top pod --namespace=<namespace>
kubectl top node

- Интеграция с инструментами наблюдаемости, такими как Prometheus, Grafana или Kubernetes Dashboard, для анализа метрик ресурсов в реальном времени.


#devops #девопс

Подпишись 👉@i_DevOps
👍61
Шпаргалка по командам Docker и Docker-compose

#devops #девопс

Подпишись 👉@i_DevOps
👍7
D-Bus

D-Bus выполняет различные задачи, направленные на упрощение взаимодействия между различными процессами в системе. В статье описывается, что такое D-Bus и как он справляется с этой функцией.

https://fedoramagazine.org/d-bus-overview/

#devops #девопс

Подпишись 👉@i_DevOps
👍2
Короткий совет по Linux 💡

Если вы хотите очистить пустые каталоги, команда find может упростить эту работу:
$ find . -type d -empty -exec rmdir -v {} +
Параметр -type d выполняет поиск каталогов, -empty выбирает пустые каталоги, а -exec rmdir {} выполняет команду rmdir для их удаления.

Команда rmdir гарантирует, что каталог пуст перед его удалением.

В качестве альтернативы, вы также можете использовать эту команду для выполнения той же задачи:
$ find . -type d -empty -delete

#LinuxTips@linux


👉 @linux_odmin
👍8
Autobase

Это инструмент, разработанный для автоматизации развёртывания и управления PostgreSQL-кластерами с использованием Ansible. Он поддерживает широкий набор функций, включая настройку репликации, автоматизацию резервного копирования с помощью инструментов, таких как pgBackRest и WAL-G, мониторинг состояния кластеров, а также настройку высокодоступной инфраструктуры (HA).

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

https://github.com/vitabaks/autobase

#devops #девопс

Подпишись 👉@i_DevOps
👍7
Sveltos: Kubernetes add-on controller

Это дополнительный контроллер Kubernetes, который упрощает развертывание и управление дополнениями и приложениями на нескольких кластерах. Он запускается на управляющем кластере и может программно развертывать и управлять дополнениями и приложениями на любом кластере в парке, включая сам управляющий кластер. Sveltos поддерживает различные форматы дополнений, включая диаграммы Helm, необработанный YAML, Kustomize, Carvel ytt и Jsonnet.

https://github.com/projectsveltos/addon-controller

#devops #девопс

Подпишись 👉@i_DevOps
👍1
Неизбежное будущее Kubernetes: почему оркестратор должен пойти по пути Linux Kernel

На Kubecon + CloudNativeCon в Чикаго 9 ноября Тим Хокин, один из первых разработчиков Kubernetes выступил с докладом (а вот и его текстовый пересказ), в котором рассказал об одной из серьезный проблем оркестратора — неуклонно возрастающей сложности. Мысль простая: Kubernetes начинают использовать для большого количества специфических задач, например, для ML, в итоге у пользователей появляется все больше требований к K8s, разработчики пытаются за ними угнаться, а Kubernetes становится настолько сложным, что возникает сразу две подпроблемы:

Сами разработчики Kubernetes начинают теряться в обилии фичей и функциональности — то есть в коде проекта. Он становится слишком сложным для них.

Инженеры, которые внедряют и поддерживают Kubernetes в компаниях, уже с трудом способны освоить все его опции и настройки.

https://habr.com/ru/companies/aenix/articles/865238/

#devops #девопс

Подпишись 👉@i_DevOps
👍7👀1
Media is too big
VIEW IN TELEGRAM
Kubelab: Виртуальная лаборатория Kubernetes

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

https://github.com/natrontech/kubelab

#devops #девопс

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

Это инструмент с интерфейсом командной строки (CLI), предназначенный для упрощения процесса создания эфемерных сред предварительного просмотра из Docker-приложений. Интегрируйте Preevy в свой CI-поток для развертывания Pull Requests в качестве предварительных окружений, используя существующего облачного провайдера или кластер Kubernetes.

https://github.com/livecycle/preevy

#devops #девопс

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

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

https://github.com/lirantal/dockly

#devops #девопс

Подпишись 👉@i_DevOps
👍82🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Atuin

Это инструмент для улучшения истории командной строки, заменяющий стандартную историю оболочки. Он сохраняет команды в зашифрованной базе данных, синхронизирует историю между устройствами и позволяет легко искать и фильтровать команды. Atuin поддерживает bash, zsh и fish, обеспечивая удобство работы с историей в терминале.

https://github.com/atuinsh/atuin

#devops #девопс

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

Системное администрирование 📌
https://news.1rj.ru/str/sysadmin_girl Девочка Сисадмин
https://news.1rj.ru/str/srv_admin_linux Админские угодья
https://news.1rj.ru/str/linux_srv Типичный Сисадмин

https://news.1rj.ru/str/linux_odmin Linux: Системный администратор
https://news.1rj.ru/str/devops_star DevOps Star (Звезда Девопса)
https://news.1rj.ru/str/i_linux Системный администратор
https://news.1rj.ru/str/linuxchmod Linux
https://news.1rj.ru/str/sys_adminos Системный Администратор
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

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

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 Канал по математике
https://news.1rj.ru/str/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
https://news.1rj.ru/str/Excel_lifehack

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

Вакансии 📌
https://news.1rj.ru/str/sysadmin_rabota Системный Администратор
https://news.1rj.ru/str/progjob Вакансии в IT
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Walk — это инструмент на Go, который позволяет рекурсивно обходить директории и выполнять команды для каждого найденного файла или папки.

📌 Ключевые особенности:
- Простая команда для выполнения скриптов или операций над файлами.
- Гибкость и высокая скорость работы.
- Подходит для автоматизации задач, связанных с обработкой файлов.

🔗 Репозиторий: https://github.com/antonmedv/walk

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Смерть от тысячи микросервисов

Церковь Великой Сложности

Начнём со скетча, в котором инженер объясняет менеджеру проекта как сильно переусложнённый лабиринт микросервисов работает, чтобы получить дату рождения пользователя - и ему не удаётся. Эта сцена точно показывает абсурдность текущего состояния технической культуры. Мы смеёмся, но поднятие этой темы в серьёзном профессиональном разговоре равносильно профессиональной ереси, делающей вас практически непригодным к трудоустройству.

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

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

original https://renegadeotter.com/2023/09/10/death-by-a-thousand-microservices

#devops #девопс

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