Podman: основы и первые шаги учебное пособие

В последние годы виртуализация контейнеров приобретает все большее значение. Став популярной благодаря выпущенному в 2013 году Docker, эта технология сегодня является основным компонентом широкого спектра инструментов для управления виртуальными пространствами имен. Одним из наиболее интересных решений является Podman. Первоначально созданное как отладочный инструмент для CRI-O, который должен был облегчить работу с кластерами Kubernetes, это программное обеспечение быстро превратилось в обширный механизм для управления контейнерами сам по себе.

Примечание

Пространства имен позволяют группировать выбранные элементы кода (например, классы) в контейнере.

Узнайте больше о том, что делает Podman таким особенным и как использовать этот контейнерный инструмент.

Что такое Podman?

Podman (сокращение от Pod Manager) — это контейнерный движок, который впервые был выпущен в феврале 2018 года. Он был разработан американской компанией Red Hat, занимающейся разработкой программного обеспечения, которая в первую очередь известна высокопроизводительными корпоративными решениями для ряда проектов с открытым исходным кодом, таких как Red Hat Enterprise Linux (RHEL) или OpenStack. Основываясь на опыте работы с Docker, Podman изначально не был задуман как самостоятельный движок, а предполагался как отладочный инструмент для CRI-O. Этот план был быстро отброшен.

Программное обеспечение контейнера во многих аспектах похоже на Docker и использует тот же интерпретатор командной строки, что и отраслевой стандарт. Это позволяет использовать типичные команды Docker в Podman — псевдоним просто нужно установить на alias docker=podman. Поэтому переход с Docker на Podman в большинстве случаев относительно прост. Ключевое отличие заключается в том, что Podman обходится без центрального демона в качестве управляющего экземпляра для отдельных контейнеров. Это позволяет вам получить доступ к различным виртуализированным приложениям без прав root.

Примечание

Демон — это программа в операционных системах Unix/Linux, которая работает в фоновом режиме и предоставляет определенные услуги и процессы.

Podman работает на всех распространенных дистрибутивах Linux, таких как Ubuntu, Fedora, CentOS, Debian и RHEL, а также Raspbian (операционная система Raspberry Pi). Здесь движок обычно может быть установлен непосредственно через управление пакетами соответствующей системы.

Совет

В нашем цифровом руководстве вы также найдете информацию на тему «Podman против Docker — за чем будущее в мире контейнеров?».

Podman: структура и функции

Помимо отказа от центрального демона, ключевыми отличительными характеристиками Podman являются «стручки». Эти стручки — основанные на концепции стручков Kubernetes — относятся к группам из нескольких контейнеров в общем пространстве имен Linux, которые совместно используют определенные ресурсы. Таким образом, можно гибко комбинировать широкий спектр виртуализированных приложений.

Как упоминалось ранее, отдельные контейнеры можно запускать на хосте от имени обычного пользователя без прав root — процессы управляются root только внутри контейнера. Это возможно, поскольку Podman обращается к пространствам имен пользователей ядра Linux, которые назначают процессам специальные права и идентификаторы пользователей. Тот факт, что контейнеры фактически запускаются от имени администратора, придает виртуализированной среде Podman высокий уровень безопасности.

Контейнеры Infra представляют собой сердце pod. Они отвечают исключительно за функциональность pod и поэтому управляют и обеспечивают отдельные ресурсы, такие как пространства имен, сетевые порты, CPU, рабочая память и т.д. Более того, Podman использует инструмент мониторинга Conmon, написанный на языке C, для управления pod. Этот инструмент отслеживает отдельные виртуализированные компоненты и обеспечивает, например, ведение журналов. Инструмент также действует как интерфейс с терминалом соответствующего контейнера. В качестве среды выполнения для контейнеров Podman использует программу runC; она также используется во многих других решениях, таких как Docker или rkt.

Учебник по Podman: первые шаги с Podman

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

Установка Podman в Linux

Podman — это программа для запуска контейнеров Linux. Этот инструмент быстро и легко устанавливается на дистрибутивы Linux, такие как CentOS, Ubuntu, Debian и другие. В большинстве случаев установочные пакеты можно найти непосредственно в управлении пакетами соответствующего системного программного обеспечения и установить с помощью типичных команд терминала.

Примечание

В качестве альтернативы родным пакетам в системном репозитории, проект Kubic на opensuse.org предоставляет различные установочные пакеты Podman для различных дистрибутивов и релизов.

Debian, Ubuntu, Raspbian:

sudo apt-get update -qq
sudo apt-get -qq -y install podman

Fedora, CentOS, Amazon Linux 2, RHEL 7:

sudo yum -y install podman

OpenSUSE:

sudo zipper install podman

Установка Podman на Windows и macOS

Podman чувствует себя как дома в среде Linux. Но вы также можете использовать контейнерный движок на устройствах, использующих операционную систему Windows или macOS. Для этого необходим доступ к установке Linux на этих устройствах, либо через виртуальную машину на хосте, либо по сети.

Если у вас есть доступ, вам понадобится только удаленный клиент Podman, чтобы установить SSH-соединение с бэкендом Podman.

Примечание

Информация о SSH-соединении должна быть введена в конфигурационный файл podman-remote.conf. В следующем руководстве по удаленному клиенту Podman на GitHub содержится подробная информация о настройке и использовании.

Как управление образами контейнеров работает с Podman

С точки зрения возможностей и синтаксиса, Podman в основном основан на Docker. Поэтому при настройке необходимых контейнеров вы можете использовать обширный пул готовых образов Docker — также известный как Docker Hub. Например, с помощью команды pull можно загрузить образы приложений, такие как последняя версия Ubuntu:

podman pull hub.docker.com/_/ubuntu:latest

Официальным путем хранения отдельных образов является локальный путь /.local/share/containers/; здесь каждый пользователь имеет собственное пространство имен, то есть установка контейнеров отделена от установки корня, например. Получите обзор локально хранящихся образов с помощью следующей команды:

podman images

Используйте префикс «sudo», типичный для Linux, для получения списка корневых образов:

sudo podman images

Оцените статью
cdelat.ru
Добавить комментарий