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 #девопс
Подпишись 👉@i_DevOps
Многие из вас каждый день работают в терминале, так давайте улучшим это времяпровождение вместе. Существует множество полезных инструментов CLI, которые могут сделать вашу жизнь в командной строке проще, быстрее и в целом веселее.
В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привыкла полагаться.
Rus https://habr.com/ru/post/711968/
Eng https://dev.to/lissy93/cli-tools-you-cant-live-without-57f6#utils
#devops #девопс
Подпишись 👉@i_DevOps
👍5😁1
This media is not supported in your browser
VIEW IN TELEGRAM
🐾 Tabby
Это самостоятельный помощник по написанию кода с искусственным интеллектом, представляющий собой альтернативу GitHub Copilot с открытым исходным кодом и локальным ресурсом. Он может похвастаться несколькими ключевыми особенностями:
Самодостаточность, отсутствие необходимости в СУБД или облачном сервисе.
Интерфейс OpenAPI, легко интегрируемый с существующей инфраструктурой (например, Cloud IDE).
Поддержка графических процессоров потребительского класса.
https://github.com/TabbyML/tabby
#devops #девопс
Подпишись 👉@i_DevOps
Это самостоятельный помощник по написанию кода с искусственным интеллектом, представляющий собой альтернативу GitHub Copilot с открытым исходным кодом и локальным ресурсом. Он может похвастаться несколькими ключевыми особенностями:
Самодостаточность, отсутствие необходимости в СУБД или облачном сервисе.
Интерфейс OpenAPI, легко интегрируемый с существующей инфраструктурой (например, Cloud IDE).
Поддержка графических процессоров потребительского класса.
https://github.com/TabbyML/tabby
#devops #девопс
Подпишись 👉@i_DevOps
👍5
Как использовать Terraform test
https://blog.captaincy.io/how-to-use-terraform-test/
#devops #девопс
Подпишись 👉@i_DevOps
https://blog.captaincy.io/how-to-use-terraform-test/
#devops #девопс
Подпишись 👉@i_DevOps
👍1
Cluster .dev
Это инструмент с открытым исходным кодом, предназначенный для управления облачными инфраструктурами с помощью простых декларативных манифестов - шаблонов инфраструктуры. Шаблоны инфраструктуры могут быть основаны на модулях Terraform, манифестах Kubernetes, сценариях Shell, диаграммах Helm, приложениях Kustomize и ArgoCD/Flux, политиках OPA и т. д. Cluster.dev объединяет эти компоненты вместе, чтобы вы могли развертывать, тестировать и распространять целый набор компонентов с привязанными версиями.
https://github.com/shalb/cluster.dev
#devops #девопс
Подпишись 👉@i_DevOps
Это инструмент с открытым исходным кодом, предназначенный для управления облачными инфраструктурами с помощью простых декларативных манифестов - шаблонов инфраструктуры. Шаблоны инфраструктуры могут быть основаны на модулях Terraform, манифестах Kubernetes, сценариях Shell, диаграммах Helm, приложениях Kustomize и ArgoCD/Flux, политиках OPA и т. д. Cluster.dev объединяет эти компоненты вместе, чтобы вы могли развертывать, тестировать и распространять целый набор компонентов с привязанными версиями.
https://github.com/shalb/cluster.dev
#devops #девопс
Подпишись 👉@i_DevOps
👍1
Что такое Workspaces в Terraform?
Workspaces в Terraform — это возможность управления state файлами. Workspace содержит все что необходимо для управления набором инфраструктуры, а отдельные рабочие области функционируют как полностью отдельные рабочие каталоги. С помощью Workspaces возможно управлять несколькими средами инфраструктуры.
#devops #девопс
Подпишись 👉@i_DevOps
Workspaces в Terraform — это возможность управления state файлами. Workspace содержит все что необходимо для управления набором инфраструктуры, а отдельные рабочие области функционируют как полностью отдельные рабочие каталоги. С помощью Workspaces возможно управлять несколькими средами инфраструктуры.
#devops #девопс
Подпишись 👉@i_DevOps
👍1
Оптимизация DevOps: Как персональные стенды и Grafana улучшают разработку и мониторинг
Всем привет, меня зовут Зуев Алексей, и я работаю DevOps-инженером в компании Bimeister! Сегодня я расскажу вам о том, как мы облегчаем жизнь нашим разработчикам и как разработчик может отследить состояние своего микросервиса в namespace Kubernetes. Основная цель этой статьи - описать, как мы пришли к дашборду для персональных стендов разработчиков. Персональный стенд в понимании нашей компании - это отдельно выделенный под разработчика неймспейс в кластере Kubernetes. У себя мы их называем ksb - “kubernetes-sandbox” и дальше дописываем, кому он принадлежит, пример наименования такого стенда: ksb-ivan-ivanov. Такое распределение позволяет легко идентифицировать принадлежность стенда, и исходя из этого формируется dns имя для фронта продукта.
https://habr.com/ru/companies/bimeister/articles/779768/
#devops #девопс
Подпишись 👉@i_DevOps
Всем привет, меня зовут Зуев Алексей, и я работаю DevOps-инженером в компании Bimeister! Сегодня я расскажу вам о том, как мы облегчаем жизнь нашим разработчикам и как разработчик может отследить состояние своего микросервиса в namespace Kubernetes. Основная цель этой статьи - описать, как мы пришли к дашборду для персональных стендов разработчиков. Персональный стенд в понимании нашей компании - это отдельно выделенный под разработчика неймспейс в кластере Kubernetes. У себя мы их называем ksb - “kubernetes-sandbox” и дальше дописываем, кому он принадлежит, пример наименования такого стенда: ksb-ivan-ivanov. Такое распределение позволяет легко идентифицировать принадлежность стенда, и исходя из этого формируется dns имя для фронта продукта.
https://habr.com/ru/companies/bimeister/articles/779768/
#devops #девопс
Подпишись 👉@i_DevOps
👍3👎1
В Ansible роли есть директории file и templates. Что они содержат и чем отличаются?
files — содержит файлы, которые будут скопированы на настраиваемые хосты; так же — может содержать скрипты, которые позже будут запускаться на хостах.
templates — содержит шаблоны файлов с переменными.
#devops #девопс
Подпишись 👉@i_DevOps
files — содержит файлы, которые будут скопированы на настраиваемые хосты; так же — может содержать скрипты, которые позже будут запускаться на хостах.
templates — содержит шаблоны файлов с переменными.
#devops #девопс
Подпишись 👉@i_DevOps
👍11
Что такое утечка памяти?
Утечки памяти - распространенная и досадная проблема при разработке программного обеспечения. Эти проблемы возникают, когда программа не может освободить память, которая больше не используется, что приводит к постепенной потере доступной памяти с течением времени.
Хотя поначалу утечки памяти незаметны, они могут серьезно ухудшить производительность и стабильность системы, приводя к вялому поведению, сбоям или зависанию. Они возникают из-за ошибок в программировании, например, из-за забывания деаллокации памяти или сохранения ссылок на удаленные объекты.
https://www.codereliant.io/what-is-a-memory-leak/
#devops #девопс
Подпишись 👉@i_DevOps
Утечки памяти - распространенная и досадная проблема при разработке программного обеспечения. Эти проблемы возникают, когда программа не может освободить память, которая больше не используется, что приводит к постепенной потере доступной памяти с течением времени.
Хотя поначалу утечки памяти незаметны, они могут серьезно ухудшить производительность и стабильность системы, приводя к вялому поведению, сбоям или зависанию. Они возникают из-за ошибок в программировании, например, из-за забывания деаллокации памяти или сохранения ссылок на удаленные объекты.
https://www.codereliant.io/what-is-a-memory-leak/
#devops #девопс
Подпишись 👉@i_DevOps
👍7
DevOps в Market Lab
Формат: гибрид/удалёнка
Занятость: Full-time
от 350 000 руб. на руки
Стек:
⦿ AWS: EKS, EC2, RDS, DocDB
⦿ Crossplane, Strimzi Kafka Operator, Spotahome Redis Operator, Capsule
⦿ ArgoCD, Helm
⦿ Gitlab-CI
⦿ Terraform, Terragrunt
⦿ VictoriaMetrics, Grafana, ELK Stack
⦿ Vault, Vault Agent
⦿ Python
📌Что делать:
— Поддержка инфраструктуры на проекте;
— Участи в проектировании инраструктуры и PaaS для компании.
📌Что мы ожидаем:
— Хороший уровень Python, в частности понимание ООП и типизации (мы используем Pydantic и mypy);
— Опыт администрирования Kubernetes, понимание того как работает планирование ресурсов кластера;
— Опыт работы с AWS либо аналогами: Google Cloud, Azure, Yandex Cloud.
— Будет плюсом:
◦ Опыт написания политик Kyverno;
◦ Опыт на позиции Postgres DBAБ, DevSecOps.
📌Мы предлагаем:
— Крутой офис в Москва-Сити;
— Новенький Макбук, чтобы ничего не зависало;
— Комфортные рабочие часы (11-18:00);
— Удобный способ оформления и получения ЗП.
📲: Яна HR
Формат: гибрид/удалёнка
Занятость: Full-time
от 350 000 руб. на руки
Стек:
⦿ AWS: EKS, EC2, RDS, DocDB
⦿ Crossplane, Strimzi Kafka Operator, Spotahome Redis Operator, Capsule
⦿ ArgoCD, Helm
⦿ Gitlab-CI
⦿ Terraform, Terragrunt
⦿ VictoriaMetrics, Grafana, ELK Stack
⦿ Vault, Vault Agent
⦿ Python
📌Что делать:
— Поддержка инфраструктуры на проекте;
— Участи в проектировании инраструктуры и PaaS для компании.
📌Что мы ожидаем:
— Хороший уровень Python, в частности понимание ООП и типизации (мы используем Pydantic и mypy);
— Опыт администрирования Kubernetes, понимание того как работает планирование ресурсов кластера;
— Опыт работы с AWS либо аналогами: Google Cloud, Azure, Yandex Cloud.
— Будет плюсом:
◦ Опыт написания политик Kyverno;
◦ Опыт на позиции Postgres DBAБ, DevSecOps.
📌Мы предлагаем:
— Крутой офис в Москва-Сити;
— Новенький Макбук, чтобы ничего не зависало;
— Комфортные рабочие часы (11-18:00);
— Удобный способ оформления и получения ЗП.
📲: Яна HR
👍6
Какие есть best practices для написания Dockerfile?
1. Запускать только один процесс на контейнер.
2. Стараться объединять несколько команд RUN в одну для уменьшения количества слоёв образа.
3. Частоизменяемые слои образа необходимо располагать ниже по уровню, чтобы ускорить процесс сборки, т.к. при изменении верхнего слоя, все нижеследующие слои будут пересобираться.
4. Указывать явные версии образов в инструкции FROM, чтобы избежать случая, когда выйдет новая версия образа с тегом latest.
5. При установке пакетов указывать версии пакетов.
6. Очищать кеш пакетного менеджера и удалять ненужные файлы после выполненной инструкции.
7. Использовать multistage build для сборки артифакта в одном контейнере и размещении его в другом.
#devops #девопс
Подпишись 👉@i_DevOps
1. Запускать только один процесс на контейнер.
2. Стараться объединять несколько команд RUN в одну для уменьшения количества слоёв образа.
3. Частоизменяемые слои образа необходимо располагать ниже по уровню, чтобы ускорить процесс сборки, т.к. при изменении верхнего слоя, все нижеследующие слои будут пересобираться.
4. Указывать явные версии образов в инструкции FROM, чтобы избежать случая, когда выйдет новая версия образа с тегом latest.
5. При установке пакетов указывать версии пакетов.
6. Очищать кеш пакетного менеджера и удалять ненужные файлы после выполненной инструкции.
7. Использовать multistage build для сборки артифакта в одном контейнере и размещении его в другом.
#devops #девопс
Подпишись 👉@i_DevOps
👍19
Восстановление проблемных подсов с нуля
Контейнеры - это удивительная технология. Они предоставляют огромные преимущества и создают полезные ограничения для распространения программного обеспечения. Программное обеспечение на базе Golang не нуждается в контейнере так же, как Ruby или Python, которые объединяют среду выполнения и зависимости. Для статически компилируемого приложения на Go контейнеру не нужно ничего, кроме бинарного файла.
Поскольку программное обеспечение предназначено для работы в кластере Kubernetes, контейнер обеспечивает механизм выпуска и распространения, который Helm chart использует для ссылки на эти бинарные файлы. Это также позволяет выпускать несколько архитектур процессоров, ссылаясь на их собственные образы. Для общего устранения неполадок существуют довольно хорошие ресурсы, такие как Refinery и OpenTelemetry Collector.
https://www.honeycomb.io/blog/rescue-struggling-pods-from-scratch
#devops #девопс
Подпишись 👉@i_DevOps
Контейнеры - это удивительная технология. Они предоставляют огромные преимущества и создают полезные ограничения для распространения программного обеспечения. Программное обеспечение на базе Golang не нуждается в контейнере так же, как Ruby или Python, которые объединяют среду выполнения и зависимости. Для статически компилируемого приложения на Go контейнеру не нужно ничего, кроме бинарного файла.
Поскольку программное обеспечение предназначено для работы в кластере Kubernetes, контейнер обеспечивает механизм выпуска и распространения, который Helm chart использует для ссылки на эти бинарные файлы. Это также позволяет выпускать несколько архитектур процессоров, ссылаясь на их собственные образы. Для общего устранения неполадок существуют довольно хорошие ресурсы, такие как Refinery и OpenTelemetry Collector.
https://www.honeycomb.io/blog/rescue-struggling-pods-from-scratch
#devops #девопс
Подпишись 👉@i_DevOps
👍3
Как Grafanalib помогает управлять дашбордами в масштабе
Для корпоративных организаций данные - это все, но когда им приходится вручную настраивать и переносить информационные панели между средами, данные вскоре превращаются в рутину.
https://www.contino.io/insights/grafanalib
#devops #девопс
Подпишись 👉@i_DevOps
Для корпоративных организаций данные - это все, но когда им приходится вручную настраивать и переносить информационные панели между средами, данные вскоре превращаются в рутину.
https://www.contino.io/insights/grafanalib
#devops #девопс
Подпишись 👉@i_DevOps
👍7
Forwarded from Системный администратор
Блокировка Docker Hub для России. Без паники разбираемся как работать дальше
Главной новостью этой недели стала блокировка пользователей из России ресурсом Docker Hub. Она осуществляется по Geo IP.
Ирония в том, что у самого докера есть инструменты, чтобы обойти эту блокировку. Используем докер, чтобы обойти блокировку докера и дальше использовать докер.
В статье три проверенных мною способа, как получить доступ к ресурсу.
https://habr.com/ru/articles/818565/
👉 @i_odmin
Главной новостью этой недели стала блокировка пользователей из России ресурсом 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
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
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
Что такое « Circuit Breaker»?
В мире распределенных систем вероятность того, что компоненты выйдут из строя или перестанут реагировать на запросы, выше по сравнению с монолитными системами. Учитывая взаимозависимость микросервисов или модулей в распределенной системе, отказ одного компонента может привести к каскадным сбоям во всей системе, потенциально вызывая сбой или остановку всей системы. Поэтому устойчивость - способность системы справляться со сбоями и восстанавливаться после них - становится критически важной в распределенных средах.
https://lab.scub.net/architecture-patterns-the-circuit-breaker-8f79280771f1
#devops #девопс
Подпишись 👉@i_DevOps
👍3❤1