DevOps
8.47K subscribers
1.47K 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
Как опросить сокет Docker с помощью curl

Запрос к сокету Docker с помощью curl.

Отображение версии Docker.

$ curl --silent -XGET --unix-socket /run/docker.sock http://localhost/version | jq .
{
"Platform": {
"Name": "Docker Engine - Community"
},
"Components": [
{
"Name": "Engine",


#devops #девопс #Docker

Подпишись 👉@i_DevOps
👍2
Как определить DNS в контейнерах Docker

Когда вы развертываете контейнер в сети, если он не может найти DNS-сервер, определенный в файле /etc/resolv.conf, по умолчанию он будет использовать DNS, настроенный для хоста.

Это может быть хорошо и удобно для определенных ситуаций.

Но что если (возможно, по соображениям безопасности) вы не хотите, чтобы ваши контейнеры использовали тот же DNS, что и хосты. Далее

#devops #девопс #Docker

Подпишись 👉@i_DevOps
👍4
3 довольно неизвестных команды Docker, которые помогут вам в самых различных ситуациях

Если вы какое-то время используете Docker, у вас, вероятно, уже есть адаптированный для вас простой и эффективный рабочий процесс, который включает в себя некоторые из ваших любимых команд Docker (если это технически правильные подкоманды). Далее

#devops #девопс #Docker

Подпишись 👉@i_DevOps
👍7
Как подключиться к контейнеру Docker по ssh

После того, как у вас появился контейнер Docker, работающий в системе Linux, одна из вещей, которые вам, вероятно, потребуется сделать, – это запустить команды внутри контейнера. Далее

#devops #девопс #Docker

Подпишись 👉@i_DevOps
👍4
Bezopasnost' kontejnerov. Fundamental'nyj podhod k zashchite kontejnerizirovannyh prilozhenij
Rajs L. (2021)

Vo mnogih organizaciyah prilozheniya rabotayut v oblachnyh sredah, obespechivaya masshtabiruemost' i otkazoustojchivost' s pomoshch'yu kontejnerov i sredstv koordinacii. No dostatochno li zashchishchena razvernutaya sistema? V etoj knige, prednaznachennoj dlya specialistov-praktikov, izuchayutsya klyuchevye tekhnologii, s pomoshch'yu kotoryh razrabotchiki i specialisty po zashchite dannyh mogut ocenit' riski dlya bezopasnosti i vybrat' podhodyashchie resheniya.

Liz Rajs issleduet voprosy postroeniya kontejnernyh sistem v Linux. Uznajte, chto proiskhodit pri razvertyvanii kontejnerov i nauchites' ocenivat' vozmozhnye riski dlya bezopasnosti razvertyvaemoj sistemy. Pristupajte, esli ispol'zuete Kubernetes ili Docker i znaete bazovye komandy Linux.

Скачать книгу

#devops #девопс #Docker #Kubernetes

Подпишись 👉@i_DevOps
🤔3🔥2
docker_by_jrebel.pdf
536.2 KB
Шпаргалка по docker

#docker

@i_DevOps
Devops

Docker compose - группы контейнеров. Docker
Свои контейнеры и сборка на DockerHub. Docker
Просто о контенеризации. Docker
Docker toolkit: ctop против lazydocker

источник

#Docker

@i_DevOps
🔥8
Media is too big
VIEW IN TELEGRAM
Основы Docker. Большой практический выпуск

0:00:00 Вступление
0:02:22 Что такое Docker?
0:16:29 Простой пример Hello World
0:31:34 Пример WEB приложения
0:35:55 Работаем с портами
0:41:10 Что такое docker volume
0:46:54 Поднимаем временную базу данных
0:55:26 Разворачиваем реальный проект
1:00:35 Что такое docker-compose
1:05:23 Создаем виртуальную машину (подробно)
1:08:25 Ставим Docker и Docker compose на Linux
1:10:17 Delpoy проекта с ипользованием GitHub
1:16:50 Delpoy проекта с ипользованием DockerHub

источник

#devops #девопс #Docker

Подпишись 👉@i_DevOps
👍10
Управление API или API Security? Что это такое?

В сфере кибербезопасности существует постоянная гонка между атакующими и защитниками. Этот процесс можно сравнить с визуальным процессом гонки, где основная цель - это скорость. Начинается все с фазы разведки, где происходит инвентаризация ресурсов. Затем команды приоритизируют задачи и принимают меры, основанные на этих приоритетах. Важно отметить, что скорость играет ключевую роль в этой гонке. Примером может служить серия событий, начавшаяся с утечки набора инструментов в открытый доступ от группы хакеров «The Shadow Brokers». Через месяц после этого появился шифровальщик WannaCry, а вскоре после этого его модификация NotPetya, использующая те же уязвимости с незначительными изменениями. Это произошло благодаря быстрой адаптации уже существующего кода и техник. Сравнивая сегодняшние события с прошлыми, мы видим, что скорость изменений значительно выросла. Если раньше для появления базовой атаки требовался месяц, то сейчас это может занять менее 10 дней. Это объясняется не только изменениями в инструментарии, но и развитием технологий, включая использование искусственного интеллекта. Однако вместе с увеличением скорости изменений возросла и сложность кибербезопасности. Системы становятся связанными и зависимыми друг от друга, что создает новые вызовы для обеспечения их безопасности. Необходимость защиты таких систем становится все более острой, и скорость реагирования является ключевым фактором в обеспечении безопасности в цифровом мире.

https://habr.com/ru/companies/webmonitorx/articles/811753/

#devops #девопс #Docker

Подпишись 👉@i_DevOps
👍31
Как мы управляем контейнерной платформой: история adidas о прошлом, настоящем и будущем

10 мая 2022 года компания adidas начала переводить конфигурацию своей платформы на GitOps. Спустя почти два года в блоге компании опубликовали цикл статей об эволюции контейнерной платформы adidas, которые мы перевели и объединили в один материал. В этих статьях инженер компании Анхель Баррера Санчес рассказал, как платформа adidas переходила на GitOps, а также что было до перехода, как они работают сейчас и какие у них планы. Дальше идет текст автора.

Переход на GitOps — один из самых значительных стратегических шагов, сделанных в рамках контейнерной платформы adidas (на момент написания статьи). Хотя нам есть куда расти, этот шаг стал важным в нашем технологическом прогрессе.

https://habr.com/ru/companies/flant/articles/808801/

#devops #девопс #Docker

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

#devops #девопс #Docker

Подпишись 👉@i_DevOps
😁21
Инструментарий инженера DevOps🧰🎒

Операционная система → Linux (recommended), Windows

Программирование → Go, Python, Groovy, Bash

Container orchestration → Kubernetes, Docker Swarm

Containers → Docker, Podman, Containerd

Source Code Management → Git, Subversion

Cloud → AWS, GCP, Azure, CivoCloud

CI/CD → Jenkins, CircleCI, Bamboo

Хостинг IT-проектов → GitHub, BitBucket, GitLab

IaC (Infrastructure as Code) and IP (Infrastructure Provisioning) → Ansible, Puppet, Chef, Terraform, Pulumi, Stack, Crossplane

Непрерывная обратная связь → GetFeedback, Jira, Slack, Pendo

Обсервация (мониторинг, протоколирование и анализ поведения системы) → Nagios, Grafana , Prometheus, New Relic, ELK Stack Datadog

Планирование → Jira Software, Confluence, Slack

Автоматизированное тестирование → xray, snyk, JUnit, Selenium, Appium

Вы можете выбрать любой из этих инструментов для каждого этапа/категории. Ваш выбор может быть основан на вашем проекте или организации, а может быть полностью личным.


#devops #девопс #Docker

Подпишись 👉@i_DevOps
👍19👎21
11 советов по повышению безопасности контейнеров 🔐

1 🔒 Используйте официальные образы

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

2 📦 Регулярно обновляйте образы

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

3 🔍 Сканирование образов на наличие уязвимостей

Используйте такие инструменты, как Clair, Trivy или Anchore, для проверки образов контейнеров на уязвимости перед развертыванием. Сделайте это частью вашего CI/CD pipeline.

4 📜 Следуйте принципу наименьших привилегий

Запускайте контейнеры с минимально необходимыми привилегиями. Избегайте запуска контейнеров от имени root и используйте пространства имен пользователей для разграничения привилегий.

5 🛠️ Используйте средства обеспечения безопасности на этапе выполнения

Используйте инструменты безопасности во время выполнения, такие как Falco или Sysdig Secure, для мониторинга и защиты запущенных контейнеров от угроз и аномалий.

6 🔐 Внедрите сегментацию сети

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

7 📋 Ограничение использования ресурсов

Ограничьте ресурсы (процессор, память), которые могут использовать контейнеры, чтобы предотвратить атаки на исчерпание ресурсов. Используйте квоты и лимиты ресурсов Kubernetes.

8 🛡️ Включение контекстов безопасности

Определите контексты безопасности в платформе оркестровки контейнеров для контроля доступа и разрешений. Используйте PodSecurityPolicies в Kubernetes.

9 🧩 Используйте решения для управления секретами

Безопасное управление и хранение конфиденциальных данных, таких как пароли и ключи API, с помощью таких инструментов, как HashiCorp Vault, AWS Secrets Manager или Kubernetes Secrets.

10 🌐 Регулярные аудиты и проверки на соответствие требованиям

Регулярно проводите аудиты безопасности и проверки на соответствие требованиям, чтобы обеспечить соблюдение политик и стандартов безопасности. Автоматизируйте аудиты с помощью таких инструментов, как kube-bench.

11 🔄 Постоянно обучайте свою команду

Постоянно информируйте свою команду о последних практиках и тенденциях в области безопасности. Регулярно проводите тренинги и делитесь ресурсами.

#devops #девопс #docker #containers #security

Подпишись 👉@i_DevOps
👍8🔥2
Практическое руководство по Kubernetes: Сетевая политика 🛠️

Сетевые политики Kubernetes представляют собой надежный механизм контроля взаимодействия между подами и другими конечными точками сети. Они необходимы для обеспечения безопасности ваших приложений путем определения правил, определяющих, как поды могут взаимодействовать друг с другом и другими сетевыми ресурсами. В этом практическом руководстве мы рассмотрим основы и продемонстрируем, как реализовать сетевые политики на практическом примере, включающем фронтенд и бэкенд-приложения.

https://medium.com/@muppedaanvesh/a-hands-on-guide-to-kubernetes-network-policy-%EF%B8%8F-041bebe19a23

#devops #девопс #docker #containers #security

Подпишись 👉@i_DevOps
👍5
Talos Linux & VirtualBox: готовим свой Kubernetes

Есть множество путей развернуть свой Kubernetes. Все они разные, выбор зависит от вашего бюджета, от того, какие задачи вы планируете решать, для каких нагрузок и что в конечном итоге вы планируете получить. В этой статье мы быстро пройдёмся по различным способам инсталляции, а затем попробуем развернуть свой K8s кластер на виртуальных машинах, воспользовавшись гипервизором второго типа (VirtualBox). Но это будет не условная Ubuntu, на которую мы будем ставить необходимые компоненты, а целая операционная система, разработанная специально для Kubernetes — Talos Linux!

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

#devops #девопс #docker #containers #security

Подпишись 👉@i_DevOps
👍8
💡 Как использовать OpenPubKey для SSH без SSH-ключей

OpenPubKey позволяет подключаться к серверам через SSH без использования традиционных SSH-ключей. Вместо этого используется криптографическая пара, созданная на основе конфигурации контейнера. Это значительно упрощает настройку и повышает безопасность.

Основные преимущества:
1. Простота — не нужно генерировать и хранить SSH-ключи.
2. Универсальность — метод легко интегрируется с текущими DevOps процессами.
3. Безопасность — доступ возможен только при соблюдении заданной конфигурации контейнера.

Подробную инструкцию вы найдёте по ссылке ниже. Это идеальное решение для автоматизации и повышения безопасности вашего CI/CD.

https://www.docker.com/blog/how-to-use-openpubkey-to-ssh-without-ssh-keys/

#docker #ssh #devops #девопс

Подпишись 👉@i_DevOps
👍3
Крутые вещи, которые можно сделать с помощью Docker (для домашнего лабораторного стенда)

Docker — это самая революционная технология в области контейнеризации. Главным образом благодаря своей скорости и гарантии того, что приложение будет работать безупречно в различных средах с нулевой конфигурацией (или минимальной конфигурацией, в зависимости от требований).

В этой статье мы обсудим различные способы использования Docker в вашем домашнем лабораторном стенде.

https://levelup.gitconnected.com/cool-shit-you-can-do-with-docker-for-your-home-lab-af857dfc206d

#docker #devops #девопс

Подпишись 👉@i_DevOps
👍5👎1👏1
Инструментарий инженера DevOps🧰🎒

Операционная система → Linux (recommended), Windows

Программирование → Go, Python, Groovy, Bash

Container orchestration → Kubernetes, Docker Swarm

Containers → Docker, Podman, Containerd

Source Code Management → Git, Subversion

Cloud → AWS, GCP, Azure, CivoCloud

CI/CD → Jenkins, CircleCI, Bamboo

Хостинг IT-проектов → GitHub, BitBucket, GitLab

IaC (Infrastructure as Code) and IP (Infrastructure Provisioning) → Ansible, Puppet, Chef, Terraform, Pulumi, Stack, Crossplane

Непрерывная обратная связь → GetFeedback, Jira, Slack, Pendo

Обсервация (мониторинг, протоколирование и анализ поведения системы) → Nagios, Grafana , Prometheus, New Relic, ELK Stack Datadog

Планирование → Jira Software, Confluence, Slack

Автоматизированное тестирование → xray, snyk, JUnit, Selenium, Appium

Вы можете выбрать любой из этих инструментов для каждого этапа/категории. Ваш выбор может быть основан на вашем проекте или организации, а может быть полностью личным.


#devops #девопс #Docker

Подпишись 👉@i_DevOps
👍6🔥3
🔥 Как ускорить docker build и сократить размер образа

Иногда docker build тянется вечность, а итоговый образ весит больше, чем база данных 🐘. Разбираемся, как ускорить сборку и оптимизировать размер образа без потери функциональности.


1. Используй multistage build
Разделяй стадии сборки и финальный образ. Это особенно важно при компиляции (Go, Java, Node.js):


# Стадия 1: билд
FROM golang:1.20 as builder
WORKDIR /app
COPY . .
RUN go build -o app

# Стадия 2: минимальный runtime
FROM alpine:latest
COPY --from=builder /app/app /usr/local/bin/app
ENTRYPOINT ["app"]


Образ получается меньше 10 МБ!


2. Минимизируй base image
Используй alpine, distroless, scratch, если не нужен полноценный дистрибутив:


FROM python:3.12-slim


Или вообще:


FROM scratch



3. Правильно расставляй COPY и RUN
Кешируй слои — сначала зависимости, потом исходники:


COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .


Так pip install не будет повторяться при каждом изменении исходников.


4. Убирай мусор и временные файлы
После установки пакетов — чисти кэш:


RUN apt-get update && apt-get install -y ... \
&& rm -rf /var/lib/apt/lists/*



5. Используй .dockerignore
Иначе в билд попадут node_modules, .git, логи и прочее:


.git
node_modules
*.log



Вывод:
Минимизация образа — это не только про размер, но и про безопасность (меньше surface area), скорость CI/CD, стабильность. И не забывай — docker build тоже надо профилировать.

#devops #docker #ci #optimization

Подпишись 👉 @i_DevOps
👍10