Что такое LA? В каких единицах измеряется?
LA (load average) — параметр, определяющий среднюю нагрузку на систему за период времени (1 мин, 5 минут, 15 минут). Изменяется в количестве задач на одно ядро процессора. На нагрузку системы также влияет количество задач ввода-вывода и задержка сети. Также влияние на расчета LA оказывает: 1. Технология Hyper-Threading, которая делит одно физическое ядро на 2 логических, 2. Технология Turbo Bust, которая позволяет разгонять тактовую частоту процессора и работать на частоте выше заявленной, т.е. выше номинальной частоты (время на обработку одной задачи уменьшается).
👉 @devops_star
LA (load average) — параметр, определяющий среднюю нагрузку на систему за период времени (1 мин, 5 минут, 15 минут). Изменяется в количестве задач на одно ядро процессора. На нагрузку системы также влияет количество задач ввода-вывода и задержка сети. Также влияние на расчета LA оказывает: 1. Технология Hyper-Threading, которая делит одно физическое ядро на 2 логических, 2. Технология Turbo Bust, которая позволяет разгонять тактовую частоту процессора и работать на частоте выше заявленной, т.е. выше номинальной частоты (время на обработку одной задачи уменьшается).
👉 @devops_star
👍2
Terrareg
Реестр модулей Terraform с открытым исходным кодом, пользовательским интерфейсом, дополнительной интеграцией с Git и глубоким анализом
Предоставляет функции для упрощения использования и поиска модулей, включая:
- Полностью реализованный API модулей Terraform
- Полностью управляемый через API для автоматизации всех функций
- Хранение модулей Terraform локально или из внешнего Git-источника
- Аналитика использования модулей
- Вся информация о модуле — README, входные и выходные параметры, требования к провайдерам и управляемые ресурсы
- Уведомления о безопасности для каждого модуля, подмодуля и примеров
- Оценка стоимости для каждого примера модуля
- Исходный код примеров модулей прямо в интерфейсе с автоматической перепиской аргументов
- Интерактивный «Конструктор использования» для помощи в создании Terraform-кода, использующего модули
- Хуки для приложений Git SCM для автоматической индексации модулей
- Аутентификация через SSO (OpenID Connect/SAML2) и GitHub
- Поддержка провайдеров Terraform (на очень ранней альфа-версии)
https://github.com/MatthewJohn/terrareg
👉 @devops_star
Реестр модулей Terraform с открытым исходным кодом, пользовательским интерфейсом, дополнительной интеграцией с Git и глубоким анализом
Предоставляет функции для упрощения использования и поиска модулей, включая:
- Полностью реализованный API модулей Terraform
- Полностью управляемый через API для автоматизации всех функций
- Хранение модулей Terraform локально или из внешнего Git-источника
- Аналитика использования модулей
- Вся информация о модуле — README, входные и выходные параметры, требования к провайдерам и управляемые ресурсы
- Уведомления о безопасности для каждого модуля, подмодуля и примеров
- Оценка стоимости для каждого примера модуля
- Исходный код примеров модулей прямо в интерфейсе с автоматической перепиской аргументов
source
- Интерактивный «Конструктор использования» для помощи в создании Terraform-кода, использующего модули
- Хуки для приложений Git SCM для автоматической индексации модулей
- Аутентификация через SSO (OpenID Connect/SAML2) и GitHub
- Поддержка провайдеров Terraform (на очень ранней альфа-версии)
https://github.com/MatthewJohn/terrareg
👉 @devops_star
🔥2👍1
Если на каждой ноде Kubernetes кластера нужно запустить контейнер, то какой ресурс Kubernetes вам подойдет?
DaemonSet является контроллером, основным назначением которого является запуск подов на всех нодах кластера. Если нода добавляется/удаляется — DaemonSet автоматически добавит/удалит под на этой ноде.
DaemonSet подходят для запуска приложений, которые должны работать на всех нодах, например — екпортёры мониторинга, сбор логов и так далее.
👉 @devops_star
DaemonSet является контроллером, основным назначением которого является запуск подов на всех нодах кластера. Если нода добавляется/удаляется — DaemonSet автоматически добавит/удалит под на этой ноде.
DaemonSet подходят для запуска приложений, которые должны работать на всех нодах, например — екпортёры мониторинга, сбор логов и так далее.
👉 @devops_star
👍3
KrakenD
Это расширяемый, сверхвысокопроизводительный API-шлюз, который поможет вам без труда внедрить микросервисы и безопасные коммуникации. KrakenD прост в эксплуатации и управлении и масштабируется без единой точки отказа.
https://github.com/krakend/krakend-ce
👉 @devops_star
Это расширяемый, сверхвысокопроизводительный API-шлюз, который поможет вам без труда внедрить микросервисы и безопасные коммуникации. KrakenD прост в эксплуатации и управлении и масштабируется без единой точки отказа.
https://github.com/krakend/krakend-ce
👉 @devops_star
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее
Многие из вас каждый день работают в терминале, так давайте улучшим это времяпровождение вместе. Существует множество полезных инструментов CLI, которые могут сделать вашу жизнь в командной строке проще, быстрее и в целом веселее.
В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привыкла полагаться.
Rus https://habr.com/ru/post/711968/
Eng https://dev.to/lissy93/cli-tools-you-cant-live-without-57f6#utils
👉 @devops_star
Многие из вас каждый день работают в терминале, так давайте улучшим это времяпровождение вместе. Существует множество полезных инструментов CLI, которые могут сделать вашу жизнь в командной строке проще, быстрее и в целом веселее.
В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привыкла полагаться.
Rus https://habr.com/ru/post/711968/
Eng https://dev.to/lissy93/cli-tools-you-cant-live-without-57f6#utils
👉 @devops_star
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🐾 Tabby
Это самостоятельный помощник по написанию кода с искусственным интеллектом, представляющий собой альтернативу GitHub Copilot с открытым исходным кодом и локальным ресурсом. Он может похвастаться несколькими ключевыми особенностями:
Самодостаточность, отсутствие необходимости в СУБД или облачном сервисе.
Интерфейс OpenAPI, легко интегрируемый с существующей инфраструктурой (например, Cloud IDE).
Поддержка графических процессоров потребительского класса.
https://github.com/TabbyML/tabby
👉 @devops_star
Это самостоятельный помощник по написанию кода с искусственным интеллектом, представляющий собой альтернативу GitHub Copilot с открытым исходным кодом и локальным ресурсом. Он может похвастаться несколькими ключевыми особенностями:
Самодостаточность, отсутствие необходимости в СУБД или облачном сервисе.
Интерфейс OpenAPI, легко интегрируемый с существующей инфраструктурой (например, Cloud IDE).
Поддержка графических процессоров потребительского класса.
https://github.com/TabbyML/tabby
👉 @devops_star
👍1
Что будет если на сервере LA = 100?
Вероятно, что на сервере будет наблюдаться замедленная работа сервисов, но если параметр LA равен количеству ядер в системе или количеству потоков в системе, то данная нагрузка является нормальной.
👉 @devops_star
Вероятно, что на сервере будет наблюдаться замедленная работа сервисов, но если параметр LA равен количеству ядер в системе или количеству потоков в системе, то данная нагрузка является нормальной.
👉 @devops_star
👍2
В Ansible роли есть директории file и templates. Что они содержат и чем отличаются?
files — содержит файлы, которые будут скопированы на настраиваемые хосты; так же — может содержать скрипты, которые позже будут запускаться на хостах.
templates — содержит шаблоны файлов с переменными.
👉 @devops_star
files — содержит файлы, которые будут скопированы на настраиваемые хосты; так же — может содержать скрипты, которые позже будут запускаться на хостах.
templates — содержит шаблоны файлов с переменными.
👉 @devops_star
👍2
Что такое утечка памяти?
Утечки памяти - распространенная и досадная проблема при разработке программного обеспечения. Эти проблемы возникают, когда программа не может освободить память, которая больше не используется, что приводит к постепенной потере доступной памяти с течением времени.
Хотя поначалу утечки памяти незаметны, они могут серьезно ухудшить производительность и стабильность системы, приводя к вялому поведению, сбоям или зависанию. Они возникают из-за ошибок в программировании, например, из-за забывания деаллокации памяти или сохранения ссылок на удаленные объекты.
https://www.codereliant.io/what-is-a-memory-leak/
👉 @devops_star
Утечки памяти - распространенная и досадная проблема при разработке программного обеспечения. Эти проблемы возникают, когда программа не может освободить память, которая больше не используется, что приводит к постепенной потере доступной памяти с течением времени.
Хотя поначалу утечки памяти незаметны, они могут серьезно ухудшить производительность и стабильность системы, приводя к вялому поведению, сбоям или зависанию. Они возникают из-за ошибок в программировании, например, из-за забывания деаллокации памяти или сохранения ссылок на удаленные объекты.
https://www.codereliant.io/what-is-a-memory-leak/
👉 @devops_star
👍1
🗓 27 августа в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «CI/CD на основе GitLab».
🎯 На вебинаре разберем:
👥 Кому будет интересно:
- DevOps-инженерам, которые осваивают или уже используют GitLab CI и Ansible, и хотят связать их в единый, автоматизированный процесс
- Начинающим специалистам, изучающим инфраструктурный код и автоматизацию
- Техническим архитекторам, заинтересованным в построении масштабируемых и управляемых CI/CD процессов с Ansible
🎯 Что вы получите:
- Практическое понимание интеграции Ansible с GitLab CI
- Готовые идеи и примеры для запуска и тестирования Ansible-плейбуков
- Уверенность в использовании CI/CD пайплайнов для инфраструктурных задач и конфигурационного менеджмента
🔗 Ссылка на регистрацию: https://vk.cc/cOK1Lz
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Какие есть best practices для написания Dockerfile?
1. Запускать только один процесс на контейнер.
2. Стараться объединять несколько команд RUN в одну для уменьшения количества слоёв образа.
3. Частоизменяемые слои образа необходимо располагать ниже по уровню, чтобы ускорить процесс сборки, т.к. при изменении верхнего слоя, все нижеследующие слои будут пересобираться.
4. Указывать явные версии образов в инструкции FROM, чтобы избежать случая, когда выйдет новая версия образа с тегом latest.
5. При установке пакетов указывать версии пакетов.
6. Очищать кеш пакетного менеджера и удалять ненужные файлы после выполненной инструкции.
7. Использовать multistage build для сборки артифакта в одном контейнере и размещении его в другом.
👉 @devops_star
1. Запускать только один процесс на контейнер.
2. Стараться объединять несколько команд RUN в одну для уменьшения количества слоёв образа.
3. Частоизменяемые слои образа необходимо располагать ниже по уровню, чтобы ускорить процесс сборки, т.к. при изменении верхнего слоя, все нижеследующие слои будут пересобираться.
4. Указывать явные версии образов в инструкции FROM, чтобы избежать случая, когда выйдет новая версия образа с тегом latest.
5. При установке пакетов указывать версии пакетов.
6. Очищать кеш пакетного менеджера и удалять ненужные файлы после выполненной инструкции.
7. Использовать multistage build для сборки артифакта в одном контейнере и размещении его в другом.
👉 @devops_star
👍7
Восстановление проблемных подсов с нуля
Контейнеры - это удивительная технология. Они предоставляют огромные преимущества и создают полезные ограничения для распространения программного обеспечения. Программное обеспечение на базе Golang не нуждается в контейнере так же, как Ruby или Python, которые объединяют среду выполнения и зависимости. Для статически компилируемого приложения на Go контейнеру не нужно ничего, кроме бинарного файла.
Поскольку программное обеспечение предназначено для работы в кластере Kubernetes, контейнер обеспечивает механизм выпуска и распространения, который Helm chart использует для ссылки на эти бинарные файлы. Это также позволяет выпускать несколько архитектур процессоров, ссылаясь на их собственные образы. Для общего устранения неполадок существуют довольно хорошие ресурсы, такие как Refinery и OpenTelemetry Collector.
https://www.honeycomb.io/blog/rescue-struggling-pods-from-scratch
👉 @devops_star
Контейнеры - это удивительная технология. Они предоставляют огромные преимущества и создают полезные ограничения для распространения программного обеспечения. Программное обеспечение на базе Golang не нуждается в контейнере так же, как Ruby или Python, которые объединяют среду выполнения и зависимости. Для статически компилируемого приложения на Go контейнеру не нужно ничего, кроме бинарного файла.
Поскольку программное обеспечение предназначено для работы в кластере Kubernetes, контейнер обеспечивает механизм выпуска и распространения, который Helm chart использует для ссылки на эти бинарные файлы. Это также позволяет выпускать несколько архитектур процессоров, ссылаясь на их собственные образы. Для общего устранения неполадок существуют довольно хорошие ресурсы, такие как Refinery и OpenTelemetry Collector.
https://www.honeycomb.io/blog/rescue-struggling-pods-from-scratch
👉 @devops_star
👍1
Для чего нужна команда git commit --amend?
commit --ammend используется для исправления сообщения последнего коммита. Также возможно использовать, чтобы добавить файлы в индекс (git add), после добавить файлы в коммит git commit --ammend.
👉 @devops_star
commit --ammend используется для исправления сообщения последнего коммита. Также возможно использовать, чтобы добавить файлы в индекс (git add), после добавить файлы в коммит git commit --ammend.
👉 @devops_star
👍1
В ветке develop есть коммит с изменениями, которые нужно перенести в ветку master. Как это сделать?
Необходимо найти хеш этого коммита и выполнить следующую комманду в ветке, в которую нужно перенести коммит.
👉 @devops_star
Необходимо найти хеш этого коммита и выполнить следующую комманду в ветке, в которую нужно перенести коммит.
git cherry-pick <commit_hash>
👉 @devops_star
👍2