Пять 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 #девопс
👉 @devops_star
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 #девопс
👉 @devops_star
👍2🔥1
Как можно контролировать использование ресурсов в POD?
В Kubernetes контроль использования ресурсов в Pod осуществляется через механизмы запросов (requests) и лимитов (limits), которые задаются для контейнеров в манифестах Pod'ов. Это позволяет управлять доступом к вычислительным ресурсам (CPU и память) и предотвращать чрезмерное потребление, которое может повлиять на работу кластера.
Основные способы контроля:
1. Запросы (Requests):
- Указывают минимальный объем ресурсов, который необходим контейнеру для работы.
- Kubernetes использует эту информацию для планирования Pod'ов на узлах (nodes), гарантируя, что на узле достаточно ресурсов для Pod'а.
Пример:
2. Лимиты (Limits):
- Устанавливают максимальный объем ресурсов, который контейнер может использовать.
- Если контейнер превышает лимит памяти, он будет завершен. Если превышен лимит CPU, его использование будет ограничено (throttled).
Пример:
3. Комбинированное использование запросов и лимитов:
- Обычно рекомендуется задавать оба параметра для каждой нагрузки, чтобы обеспечить баланс между производительностью и безопасностью.
- Пример:
4. Использование ResourceQuota:
- Устанавливает ограничения на объем ресурсов, которые могут использоваться на уровне namespace.
- Пример:
5. LimitRange:
- Определяет минимальные/максимальные запросы и лимиты для Pod'ов и контейнеров в namespace.
- Пример:
Мониторинг использования ресурсов:
- Используйте встроенные метрики Kubernetes через kubectl top:
- Интеграция с инструментами наблюдаемости, такими как Prometheus, Grafana или Kubernetes Dashboard, для анализа метрик ресурсов в реальном времени.
#devops #девопс
👉 @devops_star
В 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 #девопс
👉 @devops_star
👍4
👍1
Короткий совет по Linux 💡
Если вы хотите очистить пустые каталоги, команда find может упростить эту работу:
Параметр -type d выполняет поиск каталогов, -empty выбирает пустые каталоги, а -exec rmdir {} выполняет команду rmdir для их удаления.
Команда rmdir гарантирует, что каталог пуст перед его удалением.
В качестве альтернативы, вы также можете использовать эту команду для выполнения той же задачи:
👉 @devops_star
Если вы хотите очистить пустые каталоги, команда find может упростить эту работу:
$ find . -type d -empty -exec rmdir -v {} +Параметр -type d выполняет поиск каталогов, -empty выбирает пустые каталоги, а -exec rmdir {} выполняет команду rmdir для их удаления.
Команда rmdir гарантирует, что каталог пуст перед его удалением.
В качестве альтернативы, вы также можете использовать эту команду для выполнения той же задачи:
$ find . -type d -empty -delete👉 @devops_star
👍1
Autobase
Это инструмент, разработанный для автоматизации развёртывания и управления PostgreSQL-кластерами с использованием Ansible. Он поддерживает широкий набор функций, включая настройку репликации, автоматизацию резервного копирования с помощью инструментов, таких как pgBackRest и WAL-G, мониторинг состояния кластеров, а также настройку высокодоступной инфраструктуры (HA).
Проект упрощает настройку PostgreSQL и снижает вероятность ошибок, обеспечивая удобные плейбуки для типичных задач. Его можно использовать как для новых установок, так и для работы с существующими конфигурациями.
https://github.com/vitabaks/autobase
#devops #девопс
👉 @devops_star
Это инструмент, разработанный для автоматизации развёртывания и управления PostgreSQL-кластерами с использованием Ansible. Он поддерживает широкий набор функций, включая настройку репликации, автоматизацию резервного копирования с помощью инструментов, таких как pgBackRest и WAL-G, мониторинг состояния кластеров, а также настройку высокодоступной инфраструктуры (HA).
Проект упрощает настройку PostgreSQL и снижает вероятность ошибок, обеспечивая удобные плейбуки для типичных задач. Его можно использовать как для новых установок, так и для работы с существующими конфигурациями.
https://github.com/vitabaks/autobase
#devops #девопс
👉 @devops_star
👍1
Sveltos: Kubernetes add-on controller
Это дополнительный контроллер Kubernetes, который упрощает развертывание и управление дополнениями и приложениями на нескольких кластерах. Он запускается на управляющем кластере и может программно развертывать и управлять дополнениями и приложениями на любом кластере в парке, включая сам управляющий кластер. Sveltos поддерживает различные форматы дополнений, включая диаграммы Helm, необработанный YAML, Kustomize, Carvel ytt и Jsonnet.
https://github.com/projectsveltos/addon-controller
#devops #девопс
👉 @devops_star
Это дополнительный контроллер Kubernetes, который упрощает развертывание и управление дополнениями и приложениями на нескольких кластерах. Он запускается на управляющем кластере и может программно развертывать и управлять дополнениями и приложениями на любом кластере в парке, включая сам управляющий кластер. Sveltos поддерживает различные форматы дополнений, включая диаграммы Helm, необработанный YAML, Kustomize, Carvel ytt и Jsonnet.
https://github.com/projectsveltos/addon-controller
#devops #девопс
👉 @devops_star
👍1
Media is too big
VIEW IN TELEGRAM
Kubelab: Виртуальная лаборатория Kubernetes
Проект Kubelab предлагает готовую инфраструктуру для обучения и экспериментов с Kubernetes. Лаборатория позволяет легко развернуть изолированные кластеры для изучения Kubernetes, тестирования приложений и разработки. Это идеальный инструмент для новичков и профессионалов, желающих оттачивать навыки или тестировать конфигурации в безопасной среде.
https://github.com/natrontech/kubelab
#devops #девопс
👉 @devops_star
Проект Kubelab предлагает готовую инфраструктуру для обучения и экспериментов с Kubernetes. Лаборатория позволяет легко развернуть изолированные кластеры для изучения Kubernetes, тестирования приложений и разработки. Это идеальный инструмент для новичков и профессионалов, желающих оттачивать навыки или тестировать конфигурации в безопасной среде.
https://github.com/natrontech/kubelab
#devops #девопс
👉 @devops_star
👍1