Держите, остаётся самое сложное — следовать этим практикам)
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3🔥1
Полезная статья, в ходе которой опросили инженеров «Фланта» и экспертов из индустрии, как, по их мнению, будут развиваться Kubernetes, DevOps, Ops и Cloud Native-экосистема в ближайшее десятилетие.
Цель статьи — спрогнозировать будущее на основе тенденций в настоящем.
Вот вопросы, которые освещаются:
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3🔥2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
⭐️ Проекты с открытым исходным кодом, которые изменили мир
▪ Веб: Node.js, React, Apache
▪ Базы данных: PostgreSQL, Redis, Elasticsearch
▪ Инструменты разработчика: Git, VSCode, Jupyter Notebook
▪ ML и Big Data: Tensorflow, Apache Spark, Kafka
▪ DevOps: Docker, Kubernetes, Linux
@DevOPSitsec
▪ Веб: Node.js, React, Apache
▪ Базы данных: PostgreSQL, Redis, Elasticsearch
▪ Инструменты разработчика: Git, VSCode, Jupyter Notebook
▪ ML и Big Data: Tensorflow, Apache Spark, Kafka
▪ DevOps: Docker, Kubernetes, Linux
@DevOPSitsec
👍17🔥4👎2❤1🤪1
Forwarded from Linux Academy
🔥 Лучшие бесплатные ресурсы для изучения этичного хакинга и кибербезопасности
🔗 Смотреть
Linux Academy
🔗 Смотреть
Linux Academy
👍8❤1🔥1
Держите годную статью
О чём она:
• Wasm может стать жизнеспособной альтернативой контейнерам, если создаст свою экосистему или станет частью экосистемы Docker и Kubernetes.
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🌚2🔥1
Отличное видео, в нём говорится про:
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2🤔1
Схема взаимодействия контейнерных технологий в рамках работы с привычными инструментами может быть представлена так:
podman
с помощью Libpod API обращается к библиотеке libpod
, которая вызывает низкоуровневый container runtime
(по умолчанию утилиту runc
)containers/podman
Podman Commands
docker
с помощью Docker API вызывает сервис dockerd
docker/cli
Docker CLI reference
Docker architecture
Docker API
dockerd
вызывает сервис containerd
Dockerd reference
containerd
вызывает низкоуровневый container runtime
(по умолчанию утилиту runc
)containerd/containerd
Containerd Scope and principles
kubelet
с помощью протокола CRI вызывает сервис container runtime
(например, containerd
или crio
)Container Runtime Interface
Container Runtimes
CRI: the Container Runtime Interface
containerd
вызывает низкоуровневый container runtime
(по умолчанию runc
)Containerd CRI
cri-o
вызывает низкоуровневый container runtime
(по умолчанию runc
)cri-o/cri-o
container runtime
(по умолчанию runc
):runc
с помощью библиотеки libcontainer
создает контейнер по runtime-spec
, взаимодействуя с подсистемами ядра Linux – пространствами имен (namespaces
) и контрольными группами (cgroups
)opencontainers/runc
runc man
opencontainers/runc/libcontainer
crun
создает контейнер по runtime-spec
, взаимодействуя с подсистемами ядра Linux – пространствами имен (namespaces
) и контрольными группами (cgroups
)containers/crun
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4🔥2
runc
1.1.12. В runtime LXC
, crun
и youki
, альтернативных runc
, проблема не проявляется.Dockerfile
. Уязвимость также может быть эксплуатирована в случае запуска в контейнере процессов командой runc exec
через привязку рабочего каталога к пространству имён хостового окруженияrunc
выполняется закрытие файловых дескрипторов при помощи флага O_CLOEXEC
. Однако, после последующего выполнения функции setcwd()
остаётся открытым файловый дескриптор, указывающий на рабочий каталог и продолжающий оставаться доступным после запуска контейнера. Предложено несколько базовых сценария атаки на хост-окружение, используя оставшийся файловый дескриптор"/proc/self/fd/7/"
, что приведёт к привязке к процессу pid1
в контейнере рабочего каталога, находящегося в пространстве монтирования хост-окружения. Таким образом, в образе контейнера можно настроить запуск "/proc/self/fd/7/../../../bin/bash"
и через выполнение shell-скрипта перезаписать содержимое "/proc/self/exe"
, которое ссылается на хостовую копию /bin/bash
.@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3❤2
Неплохая статья о том, какую топологию может иметь кластер Apache Kafka при межрегиональной репликации по нескольким ЦОД и как это реализовать.
Плюс описывается, чем брокеры-наблюдатели отличаются от подписчиков в Confluent Server и при чем здесь конфигурация подтверждений acks в приложении-продюсере.
Для репликации в нескольких регионах кластер Kafka может иметь следующую топологию:
Преимущество растянутого кластера в том, что он сохраняет смещения, а также обеспечивает быстрое аварийное восстановление и автоматическое переключение клиента при сбое без дополнительного кода.
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2🔥2
Временами работа с контейнерами может казаться чем-то непостижимым и удивительным. В хорошем смысле для тех, кто понимает как устроено внутри, и в ужасающем - для тех, кто этого не понимает.
Если вы уже Docker-гуру, то знаете, что контейнеры - это просто изолированные и ограниченные процессы Linux, что образы на самом деле не нужны для запуска контейнеров, и что, наоборот, для создания образа нам, возможно, потребуется запускать контейнеры.
Также неплохо бы разобраться с работой сети в контейнерах. Для этого в статье освещаются такие вопросы:
Параллельно в статье строится контейнерная сеть с одним хостом с нуля при помощи стандартных инструментов Linux.
В общем, отличная статья, рекомендую)
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥2🥰1
⚡️ ИИ-самоучитель Learn Anything - новый идеальный инструмент для освоения любых навыков.
Нейронная сеть преобразует абстрактные желания в структурированный учебный план, предоставляя статьи, руководства и видеоуроки.
▪Github
@DevOPSitsec
Нейронная сеть преобразует абстрактные желания в структурированный учебный план, предоставляя статьи, руководства и видеоуроки.
▪Github
@DevOPSitsec
👍9❤2🔥1😁1
Использование Docker не обязательно должно быть принципом «все или ничего». Вы можете использовать Docker для развертывания и создания образов для продакшн, но вам не обязательно использовать его в разработке.
Каждая инструкция в вашем Dockerfile приводит к созданию слоя изображения. Docker использует слои для повторного использования работы. Слои кэшируются и их не нужно пересобирать, если:
— Все предыдущие слои не изменяются.
— В случае инструкции
COPY
: файлы/папки не изменяются.— В случае всех остальных инструкций: текст команды не изменяется.
Представьте, что у нас есть следующий фрагмент Dockerfile:
RUN mkdir /code
COPY code code/
RUN pip install code/requirements.txt
Каждый раз, когда что-либо в каталоге кода меняется, вторую строку необходимо запускать заново, а также каждую последующую строку.
Вот как мы могли бы избежать повторного запуска этапа установки при каждом изменении кода:
RUN mkdir /code
COPY code/requirements.txt code/
RUN pip install code/requirements.txt
COPY code /code
Во-первых, проверьте, не загружаете ли вы зависимости разработки, которые вообще не нужны вашему образу.
Ещё нужно помнить про поведение менеджера пакетов на уровне ОС. Например, `apt`который используется в Ubuntu и Debian, по умолчанию устанавливает «рекомендуемые» пакеты.
Вы можете избежать этого, добавив к
apt-get install
флаг --no-install-recommends
BuildKit — это новый механизм сборки образов, который можно использовать вместо стандартного Docker. С ним вы получаете больше параллелизма и эффективности кэширования, плюс новые интересные функции
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤3
Держите рекомендации по безопасной работе с образами и контейнерами
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2🔥1
Ну и для того, что приложение предсказуемо работало и там, и там, мы используем Docker, конечно же.
Уверен, будет полезно, держите
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤3👎1
Полезная статья, рекомендую)
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4❤1👀1