1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openeuler-iSulad

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Перейти к русской версии README

iSulad

Лицензия Язык

Введение

iSulad, написанный на C/C++, является легковесной контейнерной средой, которая имеет преимущества своей лёгкости, скорости и применимости к множеству спецификаций аппаратного обеспечения и архитектур. iSulad имеет широкие перспективы применения.

Архитектура

Вы можете просмотреть архитектуру iSulad в архитектуре.

Функционал

Runtime

iSulad поддерживает несколько контейнерных runtimes, включая lxc, runc и kata.

lxc

lxc — это открытый исходный кодный контейнерный runtime, написанный на C, который занимает меньше ресурсов и подходит для сценариев с высокими требованиями к шумовым ресурсам. Это по умолчанию используемый runtime в iSulad.

runc

runc — это runtime, совместимый с OCI, написанный на Go. При использовании runc требуется версия OCI runtime-spec 1.0.0 или выше.

kata-runtime

kata-runtime запускает безопасные контейнеры с помощью легковесных виртуальных машин.

Изображение

iSulad поддерживает несколько форматов изображений, включая OCI и внешний rootfs.

OCI

OCI — это совместимый с Docker формат изображения, поддерживающий получение изображений и запуск контейнеров из удалённых репозиториев изображений.

внешний rootfs

Внешний rootfs позволяет пользователям подготовить запускаемую директорию root fs, что主要用于系统容器场景。

Операционные интерфейсы

iSulad предоставляет два различных интерфейса для управления образами и контейнерами: командная строка (CLI) и интерфейс времени выполнения контейнеров (CRI).

Командная строка (CLI)

CLI использует командную строку для управления и контроля над образом и контейнером. Это стандартная модель клиента/сервера. iSula действует как независимый клиент командной строки, взаимодействуя с демоном iSulad.

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

Интерфейс времени выполнения контейнеров (CRI)

Реализация интерфейса CRI позволяет бесшовной интеграции с K8s.

Интерфейс CRI реализован на основе gRPC. iSulad реализовал CRI gRPC сервер согласно стандарту CRI интерфейса. CRI gRPC сервер состоит из сервисов времени выполнения и образов, предоставляющих интерфейсы для управления временем выполнения контейнеров и управлением образами соответственно. CRI gRPC сервер прослушивает локальный Unix сокет, а компонент K8s kubelet выполняется как gRPC клиент.

Быстрый старт

Установка

Чтобы установить iSulad, вы можете использовать менеджер пакетов yum с репозиторием openEuler.

Или создайте файл репозитория вручную:

$ cat << EOF > /etc/yum.repos.d/openEuler.repo
[openEuler]
baseurl=https://repo.openeuler.org/openEuler-22.03-LTS/OS/\$basearch
enabled=1
EOF

Установите iSulad с помощью yum:

$ yum install -y iSulad

Если вы столкнетесь со следующим сообщением об ошибке:

Repository 'openEuler' is missing name in configuration, using id.

You have enabled checking of packages via GPG keys. This is a good thing.
However, you do not have any GPG public keys installed. You need to download
the keys for packages you wish to install and install them.
You can do that by running the command:
    rpm --import public.gpg.key


Alternatively you can specify the url to the key you would like to use
for a repository in the 'gpgkey' option in a repository section and YUM
will install it for you.

For more information contact your distribution or package provider.

Вы должны сначала запустить rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-openEuler.

Конфигурация

Настройте адрес реестра контейнерных образов, такой как "docker.io" или другой адрес реестра.

# Посмотрите содержимое файла /etc/isulad/daemon.json
.....
    "registry-mirrors": [
        "docker.io"
    ],
.....

Запуск

iSulad предлагает две способы запуска isulad:

  1. Используйте службу systemd для запуска iSulad:

    # Используйте команду systemd для перезапуска службы
    $ systemctl restart isulad 
  2. Начните iSulad напрямую через команду:

    # Запустите сервер с использованием по умолчанию socket имя и уровень журналирования, а также функции управления образами
    $ sudo isulad 

Управление контейнерами

iSulad предлагает два интерфейса для управления образами и контейнерами: CLI и CRI.

CLI

CLI предоставляет isula как клиентский интерфейс командной строки.

Вот некоторые примеры команд для управления контейнерами.

  • Получите список всех контейнеров во всех окружениях:
$ sudo isula ps -a
  • Создайте контейнер с использованием busybox:

    • Вы можете создать контейнер с именем test, используя по умолчанию runtime:
    $ sudo isula create -t -n test busybox
    • Также можно создать контейнер с именем testrunc, используя runc runtime:
    $ sudo isula create -t --runtime runc -n testrunc busybox
  • Запустите этот контейнер с именем test:

$ sudo isula start test
  • Остановите контейнер с именем test:
$ sudo isula kill test
  • Удалите контейнер с именем test:
$ sudo isula rm test

CRI

iSulad может быть интегрирован с Kubernetes через интерфейс CRI. Для получения информации об интеграции с Kubernetes обратитесь к k8s_integration.

Производительность

С помощью ptcr как средства тестирования производительности были представлены радарные диаграммы производительности iSulad на компьютерах с различными архитектурами.

ARM

  • Для последовательного запуска 10 контейнеров производительность iSula, docker и podman представлена следующими радарными диаграммами:
ARM последовательный
  • Для параллельного запуска 100 контейнеров производительность iSula, docker и podman представлена следующими радарными диаграммами:
ARM параллельный

x86

  • Для последовательного запуска 10 контейнеров производительность iSula, docker и podman представлена следующими радарными диаграммами:
x86 последовательный
  • Для параллельного запуска 100 контейнеров производительность iSula, docker и podman представлена следующими радарными диаграммами:
x86 параллельный

Дополнительная информация доступна здесь: Тестирование производительности

Требования к ядру

iSulad работает на ядрах версии выше 3.0.x.

Совместимость

Стандартные версии нормативных документов, которые поддерживает iSulad, следующие:

  • Совместим с OCI 1.0.0.
  • Совместим с CNI 0.3.0 - 1.0.0, начиная с версии 2.1.4 поддерживается CNI 1.0.0.
  • Совместим с lcr 2.1.x и более поздних версий.

Поддержка Kubernetes

iSulad поддерживает версии Kubernetes 1.13 и выше. Ниже приведена таблица совместимости iSulad и Kubernetes. Она показывает минимальную требуемую версию iSulad для данного Kubernetes.

Версия iSulad Версия Kubernetes Версия CRI
v2.0.0+ v1.13-v1.18 v1alpha2
v2.0.8+ v1.19-v1.22 v1alpha2
v2.1.4+ v1.23-v1.29 v1, v1alpha2

Замечание: Перевод части о совместимости может быть не полностью точным или полным. Рекомендуется проверить оригинальный английский документ для получения более подробной информации.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления (16)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/openeuler-iSulad.git
git@api.gitlife.ru:oschina-mirror/openeuler-iSulad.git
oschina-mirror
openeuler-iSulad
openeuler-iSulad
master