ch
Feedback
DevOps Star (Звезда Девопса)

DevOps Star (Звезда Девопса)

前往频道在 Telegram

Devops, Linux, SRE, Kubernetes, Сисадмин, Девопс, Python, JS, Java, Git, IT канал, программирование, безопасность, ИТ, Sysadmin По всем вопросам @evgenycarter

显示更多
2 149
订阅者
无数据24 小时
-17
+930
帖子存档
Dockerfile - файл содержащий инструкции для создания образа контейнера FROM - задаёт базовый (родительский) образ LABEL - описывает метаданные. Например — сведения о том, кто создал и поддерживает образ ENV - устанавливает постоянные переменные среды RUN - выполняет команду и создаёт слой образа. Используется для установки в контейнер пакетов COPY - копирует в контейнер файлы и папки ADD - копирует файлы и папки в контейнер, может распаковывать архив на лету CMD - описывает команду с аргументами, которую нужно выполнить когда контейнер будет запущен. Аргументы могут быть переопределены при запуске контейнера. В файле может присутствовать лишь одна инструкция CMD(запускается оболочка /bin/sh) USER - указывает от какого пользователя всё будет работать WORKDIR - задаёт рабочую директорию для следующей инструкции ARG - задаёт переменные для передачи Docker во время сборки образа ENTRYPOINT - предоставляет команду с аргументами для вызова во время выполнения контейнера. Аргументы не переопределяются EXPOSE - указывает на необходимость открыть порт, сам порт не открывает VOLUME - создаёт точку монтирования для работы с постоянным хранилищем MAINTAINER - информация об авторе имя и <email> 👉 @devops_star

Бесперебойный деплой микрофронтендов с Kubernetes: как настроить Фронтенд-разработка может жить без независимого деплоя, пока
Бесперебойный деплой микрофронтендов с Kubernetes: как настроить Фронтенд-разработка может жить без независимого деплоя, пока у нее не больше 7 микрофронтендов. Но, чем выше число, тем сильнее страдают процессы. Наша команда в Mindbox прошла через это с Octopus, когда деплоила в Yandex Cloud S3. Причем на все обновления был один свободный бакет. Заливаешь код в мастер, а в это время то же самое делают еще пять разработчиков. Скапливается очередь, код еле ползет, а через час деплой вообще обваливается — Octopus не справился с нагрузкой. Пока чинишь это, оказывается, что твои обновления уже попали в продакшен заодно с чужими. Когда число проектов возросло до 14, все это повторялось с каждым разработчиком по несколько раз в день. Поэтому мы решили вслед за коллегами-бэкендерами перейти на независимый деплой в Kubernetes. В этой статье собран опыт платформы автоматизации маркетинга Mindbox по реформированию фронтенда: Kubernetes вместо Yandex Cloud S3: деплоим микрофронтенды без сбоев Автоматизированный вывод метаданных: экономим ресурсы разработки Постепенный переход: меняем деплой без вреда для пользователей Хот-тестинг: ускоряем обновление фронтенда Советы: как улучшить деплой без микрофронтендов и Kubernetes https://habr.com/ru/company/mindbox/blog/711898/ 👉 @devops_star

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

DevOps Full Course For 2024 | DevOps Tutorial For Beginners Key Features: ✅ Caltech CTME Post Graduate Certificate ✅ Receive upto 25 CEUs from Caltech CTME upon course completion ✅ Master classes taught by Caltech CTME instructor ✅ Online Convocation by Caltech CTME Program Director ✅ Capstone project in 3 domains ✅ Enrolment in Simplilearn’s JobAssist ✅ Simplilearn's JobAssist helps you get noticed by top hiring companies ✅ 8X higher interaction in live online classes conducted by industry experts ✅ 20+ real-life projects on integrated labs ✅ Caltech CTME Circle Membership Skills Covered: ✅ DevOps Methodology ✅ Configuration Management ✅ Continuous Integration ✅ Containerization ✅ Continuous Delivery ✅ DevOps on Cloud ✅ Source Control ✅ Deployment Automation ✅ Cloud Platforms Eligibility Criteria: ✅ Prior work experience is not mandatory ✅ A bachelor's degree with an average of 50% or higher marks ✅ Can be from programming or non-programming background источник 👉 @devops_star

Пять GitHub проектов, которые помогут вам стать лучшим инженером DevOps 1. How they SRE Подборка общедоступных ресурсов о том
Пять 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_star

Архитектурные паттерны ПО - Event Driven - Layered - Monolithic - Microservice - MVC - Master Slave 👉 @devops_star

Назовите главные компоненты архитектуры Kubernetes. Master-ноды (master node, control plane) координируют все операции кластера: управляют распределением и резервированием ресурсов, контролируют состояние контейнеров, управляют масштабированием и выполняют обновления. Компоненты мастер-нод включают: kube-apiserver — точка доступа к панели управления мастер-ноды, обеспечивает взаимодействие между мастер- и рабочими узлами, отслеживает состояние рабочих узлов и информирует мастер о важных изменениях; kube-scheduler — отвечает за распределение нагрузки на рабочие узлы, постоянно мониторит доступные ресурсы и используемые ресурсы на каждом узле, принимает решение о запуске нового Pod; Controller Manager — управляет работой контроллеров, таких как Deployment, ReplicaSet, StatefulSets, DaemonSet, Jobs, CronJob; ETCD — хранит информацию о настройках и состоянии кластера, его метаданные, представляет собой распределенную базу данных в формате ключ-значение. Nodes (рабочие узлы) — на них запускаются поды с контейнерами. На каждой worker ноде Kubernetes работают: kubelet — процесс, который управляет запуском, удалением и обновлением подов с контейнерами; kube-proxy — настраивает сетевые правила на рабочих узлах. Как в Kubernetes устроена работа с хранилищами? Kubernetes имеет различные типы хранилищ, включая встроенный emtyDir. Некоторые из них являются stateless, что означает, что они существуют только во время работы пода. Данные, которые хранятся там, также имеют такой же срок жизни. Для statefull-приложений используются постоянные хранилища, называемые Persistent Volumes (PV). PV — это запас хранилища, выделенный администратором кластера Kubernetes. Это могут быть локальные диски, СХД или внешние диски. Они не зависят от жизненного цикла подов. Persistent Volume Claim (PVC) — это запрос на выделение PV с определенными характеристиками, такими как тип хранилища, объем и тип доступа. Для описания доступных PV используются Storage Classes. В процессе работы под отправляет запрос PVC, который затем обращается к PV и передает его поду. 👉 @devops_star

Tfautomv Автоматическое создание перемещенных блоков Terraform для безболезненного рефакторинга https://github.com/padok-team/tfautomv 👉 @devops_star

Terra-Do и Terra-Don't — несколько распространённых проблем с итеративными конструкциями в Terraform и способы их избегания Н
Terra-Do и Terra-Don't — несколько распространённых проблем с итеративными конструкциями в Terraform и способы их избегания Неправильная итерация по ресурсам, источникам данных и модулям — одна из самых распространённых проблем, с которыми я сталкиваюсь при обучении Terraform. В дальнейшем я буду называть эти объекты итеративными элементами конфигурации Terraform, или сокращённо итеративными элементами. В частности, большинство сложностей связано с: - использованием count против for_each - условным созданием итеративных элементов - передачей информации между итеративными элементами Terraform - проектированием модулей https://medium.com/datamindedbe/terra-dos-and-terra-don-ts-a-few-common-issues-with-terraform-iterables-and-how-to-avoid-them-249e4665dad1 #devops #девопс Подпишись 👉@i_DevOps

Основы мониторинга (обзор Prometheus и Grafana) Мониторинг сегодня – фактически обязательная «часть программы» для компании л
Основы мониторинга (обзор Prometheus и Grafana) Мониторинг сегодня – фактически обязательная «часть программы» для компании любых размеров. В данной статье мы попробуем разобраться в многообразии программного обеспечения для мониторинга и рассмотрим подробнее одно из популярных решений – систему на основе Prometheus и Grafana https://habr.com/ru/post/709204/ 👉 @devops_star

Distroless контейнеры Distroless контейнеры — это контейнеры, содержащие только нужные для работы приложения файлы. Из контейнера убираются не используемые программой файлы дистрибутива с целью уменьшить его размер и снизить площадь атаки. Вместо сотен или тысяч ненужных файлов дистрибутива остаются лишь файлы, требуемые для работы. Этот подход изначально был предложен Google. https://habr.com/ru/post/710968/ 👉 @devops_star

KubeStalk обнаруживает Kubernetes и связанную с ним инфраструктуру на основе поверхности атаки с точки зрения "черного ящика". Установка KubeStalk написан на языке Python и требует наличия библиотеки requests. Чтобы установить инструмент, вы можете клонировать репозиторий в любую директорию: git clone https://github.com/redhuntlabs/kubestalk https://github.com/redhuntlabs/KubeStalk 👉 @devops_star

Как установить и использовать кластер Kubernetes при помощи утилиты kind Чтобы развернуть готовый кластер Kubernetes, можно и
Как установить и использовать кластер Kubernetes при помощи утилиты kind Чтобы развернуть готовый кластер Kubernetes, можно использовать разные способы — например, самому подготовить виртуальные машины или выделенные серверы, настроить операционную систему и установить необходимые программы. Однако данный способ может показаться довольно долгим и затратным (если арендовать ресурсы ВМ). Также можно арендовать уже готовый кластер (Kubernetes как услуга). Наконец, можно развернуть кластер локально на своем устройстве при помощи утилиты minikube. Однако при ее использовании необходимо, чтобы процессор устройства поддерживал виртуализацию, а еще понадобится установить программу-гипервизор. Но существует еще один способ, при помощи которого кластер Kubernetes можно запустить, прилагая минимум усилий. Сегодня речь пойдет об утилите kind. https://habr.com/ru/companies/first/articles/844002/ 👉 @devops_star

Мониторинг контейнеров Docker с помощью Zabbix В этом блоге я расскажу о мониторинге Docker-контейнеров с помощью Zabbix. Мы
Мониторинг контейнеров Docker с помощью Zabbix В этом блоге я расскажу о мониторинге Docker-контейнеров с помощью Zabbix. Мы будем использовать официальный шаблон Docker для агента Zabbix 2, чтобы упростить процесс. Ссылка для загрузки шаблона и шаги по настройке доступны на странице интеграций Zabbix. https://blog.zabbix.com/docker-container-monitoring-with-zabbix/20175/ 👉 @devops_star

Webhook Это легковесный сервер, который позволяет вам легко создавать HTTP endpoints (хуки) на вашем сервере, которые можно использовать для выполнения команд. https://github.com/adnanh/webhook 👉 @devops_star

+8
DevSecOps DevSecOps. Общее погружение DevOps на пальцах SecOps. Защита кластера DevSec. Встраивание ИБ в конвейер разработки DevSecOps. Process edition Что такое Audit Policy? Вебинар из цикла DevSecOps 2-й сезон Зачем GitOps в Enterprise? Вебинар из цикла DevSecOps 2-й сезон Управление секретами: основы Persistent данные и резервное копирование в кластере Все видео доступны на youtube 👉 @devops_star

5 приемов оптимизации сборки Docker-образов Прием 1 — уменьшаем количество слоев в образе Уменьшить количество слоев в образе можно сворачиванием нескольких однородных инструкций в одну. Например, несколько логически связанных инструкций RUN можно объединить в одну инструкцию с помощью конвейера Linux: RUN apt-get update && apt-get install -y nginx Прием 2 — удаляем ненужный кэш apt-get Пакетный менеджер apt-get, обновляя репозиторий, сохраняет кэш, который в большинстве случаев не нужен, и его можно удалить, уменьшив тем самым собираемый образ на 100+ Мбайт. Сделать это совсем несложно, достаточно в инструкции RUN последней командой указать: && rm -f /var/lib/apt/lists/*. Соединим оба приёма в одну инструкцию: RUN apt-get update && apt-get install -y nginx && rm -f /var/lib/apt/lists/* Такая конструкция работает именно в одной инструкции RUN, если вы вынесете rm -f /var/lib/apt/lists/* в отдельный RUN — ничего не сработает, так как кеш будет очищаться в другом слое, а его обновление будет оставаться в предыдущем слое. Прием 3 — копируем только нужные файлы проекта в образ с помощью .dockerignore-файла Обычно для копирования проекта в образ используется инструкция COPY с указанием места расположения проекта, как «.», что указывает на текущею директорию. Такой подход имеет один недостаток — будут скопированы все вложенные подкаталоги и файлы, что может значительно увеличить размер образа. Исправить ситуацию призван .dockerignore-файл, который работает так же как и .gitignore-файл. В этих файлах указываются те папки и файлы, которые «не надо трогать». Gitignore-файл располагается в корневом каталоге копируемого в образ проекта. Обратите внимание на точку в начале названия файла — «.gitignore», так и должно быть. Рассмотрим пример работы .gitignore-файла. Например, мы работаем с GIT, и в нашем проекте есть GIT-репозиторий. В образе он нам не нужен, поэтому его можно не копировать, а ещё в образе нам не нужен Dockerfile. Укажем эти файлы в .gitignore-файле: .GIT Dockerfile При сборке образа Docker прочтет .dockerignore-файл и не включит в образ указанные в нем папки и файлы. Приём 4 — используем минималистические Linux-образа Alpine Как правило, для сборки образов применяются дистрибутивы Debian, Ubuntu, CentOS. Но это оправдано в том случае, если ваш проект будет использовать всё обилие возможностей ядра и пакетов, которые предоставляет выбранный дистрибутив. Если же вам нужно просто создать контейнер с Nginx или иной другой программой — используйте Alpine-сборки. Alpine-образ весит считанные мегабайты, а не сотни Мбайт как Debian или Ubuntu, при этом в нём есть всё необходимое для запуска большинства приложений. Например, так выглядит dockerfile Nginx-образа на Alpine-сборке, который занимает 7 Мбайт: FROM alpine RUN apk add --no-cache nginx && mkdir -p /run/nginx EXPOSE 80 COPY custom.conf /etc/nginx/conf.d dockerCOPY . /opt/ CMD ["nginx”,”-g”,”daemon off;”] Еще один бесспорный плюс Alpine — скорость сборки образа. Она разительно отличается в лучшую сторону по сравнению со скоростью сборки на любом другом дистрибутиве Linux. Прием 5 — часто изменяемые слои ставим в конец dockerfile Слоистая структура Docker-образов имеет одно неприятное свойство — при внесении изменения в один из слоев, это слой и все последующие слои будут пересобраны. Поэтому, чтобы сэкономить время на сборке образа — старайтесь ставить инструкции копирования кода проекта и конфигов в конец dockerfile до команды CMD или ENTRYPOINT. 👉 @devops_star

13 распространенных задач в Kubernetes и способы их решения Команда VK Cloud перевела статью о проблемах в Kubernetes, с кото
13 распространенных задач в Kubernetes и способы их решения Команда VK Cloud перевела статью о проблемах в Kubernetes, с которыми часто сталкиваются инженеры-разработчики при запуске новых масштабируемых отказоустойчивых веб-сервисов. https://habr.com/ru/companies/vk/articles/710852/ 👉 @devops_star

Что такое MLOps? Самый подробный текст про работу с ML-системами, который вы найдете в интернете В этом материале мы подробно
Что такое MLOps? Самый подробный текст про работу с ML-системами, который вы найдете в интернете В этом материале мы подробно разбираем концепцию MLOps. Более того, делаем это тремя способами. Сначала теоретически — через самую толковую, на наш взгляд, схему MLOps. Затем — концептуально, через артефакты, которые заложены в подходе. И наконец, через понимание MLOps как информационной системы. Сохраняйте текст в закладки, потому что на данный момент это, возможно, самое полное описание MLOps на русском языке (и не перевод очередной англоязычной статьи!). https://habr.com/ru/company/selectel/blog/703460/ 👉 @devops_star

DevOps Star (Звезда Девопса) - Telegram 频道 @devops_star 的统计与分析