
kata-containers v4.1.0
Kata Containers — это проект и сообщество с открытым исходным кодом, работающие над созданием стандартной реализации легковесных виртуальных машин (VMs), которые ощущаются и работают как контейнеры, но обеспечивают изоляцию рабочих нагрузок и преимущества безопасности виртуальных машин. https://katacontainers.io/
Kata Containers
Добро пожаловать в Kata Containers!
Этот репозиторий содержит код Kata Containers для релизов 2.0 и новее.
Если вы хотите узнать о Kata Containers, посетите основной веб-сайт Kata Containers.
Введение
Kata Containers — это проект с открытым исходным кодом и сообщество, работающие над созданием стандартной реализации легковесных виртуальных машин (ВМ), которые ощущаются и работают как контейнеры, но обеспечивают изоляцию рабочих нагрузок и преимущества в безопасности, присущие виртуальным машинам.
Лицензия
Код распространяется под лицензией Apache 2.0. Подробнее см. файл лицензии.
Поддержка платформ
Kata Containers в настоящее время работает на 64-битных системах, поддерживающих следующие технологии:
| Архитектура | Технология виртуализации |
|---|---|
x86_64, amd64 | Intel VT-x, AMD SVM |
aarch64 ("arm64") | ARM Hyp |
ppc64le | IBM Power |
s390x | IBM Z & LinuxONE SIE |
Требования к оборудованию
Компонент runtime Kata Containers предоставляет команду для определения того, способна ли ваша хост-система запускать и создавать Kata Container:
$ kata-runtime check
Примечания:
Эта команда выполняет ряд проверок, включая подключение к сети для определения, доступна ли более новая версия Kata Containers на GitHub. Если вы не хотите, чтобы эта проверка выполнялась, добавьте опцию
--no-network-checks.По умолчанию выводится только краткое сообщение об успехе / ошибке. Если нужны более подробные сведения, можно использовать флаг
--verboseдля отображения списка всех выполненных проверок.Если команда запускается от пользователя
root, выполняются дополнительные проверки (включая проверку того, не запущен ли другой несовместимый гипервизор). При запуске от имениrootсетевые проверки автоматически отключаются.
Начало работы
Впервые работаете с Kata Containers? Начните с краткого руководства, чтобы изучить основы и запустить свою первую рабочую нагрузку, затем ознакомьтесь с руководством по установке.
Документация
См. официальную документацию, включая:
Конфигурация
Kata Containers использует единый файл конфигурации, который содержит ряд разделов для различных частей системы Kata Containers, включая runtime, агента и гипервизор.
Гипервизоры
См. документ о гипервизорах и детали конфигурации для конкретных гипервизоров.
Сообщество
Чтобы узнать больше о проекте, его сообществе и управлении, см. репозиторий сообщества. Это первое место, куда стоит обратиться, если вы хотите внести вклад в проект.
Получение помощи
См. раздел сообщество, чтобы узнать, как связаться с нами.
Сообщение о проблемах
Пожалуйста, создайте issue в этом репозитории.
Примечание: Если вы сообщаете о проблеме безопасности, пожалуйста, следуйте процессу сообщения об уязвимостях
Разработчикам
Компоненты
Основные компоненты
В таблице ниже перечислены основные части проекта:
| Компонент | Тип | Описание |
|---|---|---|
| runtime | core | Основной компонент, запускаемый менеджером контейнеров и предоставляющий реализацию runtime containerd shimv2. |
| runtime-rs | core | Runtime на языке Rust. |
| agent | core | Процесс управления, работающий внутри виртуальной машины / POD и настраивающий окружение контейнера. |
dragonball | core | Встроенный опциональный VMM, обеспечивающий готовый к использованию Kata Containers с оптимизациями для контейнерных рабочих нагрузок |
| documentation | documentation | Документация, общая для всех компонентов (например, документация по проектированию и установке). |
| tests | tests | Не включает модульные тесты, которые находятся вместе с основным кодом. |
Дополнительные компоненты
В таблице ниже перечислены остальные части проекта:
| Компонент | Тип | Описание |
|---|---|---|
| packaging | infrastructure | Скрипты и метаданные для создания собранных бинарных файлов (компонентов, гипервизоров, ядра и rootfs). |
| kernel | kernel | Ядро Linux, используемое гипервизором для загрузки гостевого образа. Патчи хранятся здесь. |
| osbuilder | infrastructure | Инструмент для создания «мини-ОС» rootfs, образов initrd и ядра для гипервизора. |
| kata-debug | infrastructure | Утилита для сбора отладочной информации Kata Containers из кластеров Kubernetes. |
agent-ctl | utility | Инструмент, предоставляющий низкоуровневый доступ для тестирования агента. |
kata-ctl | utility | Инструмент, предоставляющий расширенные команды и средства отладки. |
trace-forwarder | utility | Вспомогательный инструмент трассировки агента. |
ci | CI | Файлы конфигурации и скрипты непрерывной интеграции. |
ocp-ci | CI | Конфигурация непрерывной интеграции для конвейеров OpenShift. |
katacontainers.io | Исходный код сайта katacontainers.io. | |
Webhook | utility | Пример простого вебхука admission controller для аннотирования подов классом runtime Kata |
Сборка и выпуск релизов
См. руководство по установке для получения архивов релизов,
Helm-чарта kata-deploy для Kubernetes и инструкций по сборке из исходного кода.
Общие тесты
Глоссарий терминов
См. глоссарий терминов, связанных с Kata Containers.