Установка cri-o

CRI-O — это реализация CRI Kubernetes (интерфейс среды выполнения контейнеров), позволяющая использовать совместимые среды выполнения OCI (Open Container Initiative).

Это легкая альтернатива использованию Docker в качестве среды выполнения для Kubernetes. Это позволяет Kubernetes использовать любую среду выполнения, совместимую с OCI, в качестве среды выполнения контейнера для запуска модулей.

Сегодня он поддерживает контейнеры run и Kata в качестве сред выполнения контейнеров, но в принципе может быть подключена любая среда выполнения, соответствующая стандарту OCI.

CRI-O поддерживает образы контейнеров OCI и может извлекать их из любого реестра контейнеров. Это легкая альтернатива использованию Docker, Moby или rkt в качестве среды выполнения для Kubernetes.

Установить cri-o можно практически на любую систему.

Fedora

dnf module list cri-o
VERSION=1.18
dnf module enable cri-o:$VERSION
dnf install cri-o

OpenSUSE

Доступно на Tumbleweed и Kubic (по умолчанию установлено на Cubic).
zypper in cri-o

CentOS 7, 8, 8 Stream

Выполните от root'а
curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/devel:kubic:libcontainers:stable.repo
curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/$OS/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo
yum install cri-o

Debian, Ubuntu

echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/ /" > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
echo "deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$VERSION/$OS/ /" > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable:cri-o:$VERSION.list

curl -L https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/$OS/Release.key | apt-key add -
curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | apt-key add -
apt-get update
apt-get install cri-o cri-o-runc

RHEL

Доступно с OpenShift

Компоненты

Время выполнения, совместимое с OCI
CRI-O поддерживает любую среду выполнения, совместимую с OCI. Сегодня доступна среда контейнеров runc и Clear.

Место хранения

Библиотека контейнеров/хранилищ используется для управления слоями и создания корневых файловых систем для контейнеров в модуле: реализованы Overlayfs, devicemapper, AUFS и btrfs, а драйвер по умолчанию — Overlayfs.
Поддержка сетевых образов файловой системы (NFS, GlusterFS, CephFS) включена в дорожную карту разработки.

Образы контейнеров

Библиотека контейнеров/изображений используется для извлечения образов из реестров. В настоящее время он поддерживает схему Docker 2/версии 1, а также схему 2/версии 2. Он также проходит все тесты Docker и Kubernetes.

Сетевой

Сетевой интерфейс контейнера CNI используется для настройки сети для модулей. Различные плагины CNI, такие как Flannel, Weave и OpenShift-SDN, были протестированы с CRI-O и работают должным образом.

Мониторинг

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

Безопасность

Политики разделения безопасности контейнеров предоставляются рядом инструментов, включая SELinux, Возможности, seccomp и другие политики разделения безопасности, как указано в спецификации OCI.