Istio — это сервисная сетка с открытым исходным кодом, которая прозрачно накладывается на существующие распределенные приложения. Мощные функции Istio обеспечивают единый и более эффективный способ защиты, подключения и мониторинга сервисов. Istio — это путь к балансировке нагрузки, межсервисной аутентификации и мониторингу — с небольшими изменениями кода сервиса или без них.
Подробную информацию об использовании Istio можно найти на сайте istio.io.
Чтобы задать вопросы и получить помощь от нашего сообщества, посетите обсуждения Github.
Чтобы узнать, как принять участие в жизни нашего сообщества, посетите страницу нашего сообщества.
В этом README:
Введение
Репозитории
Управление проблемами
Кроме того, вот некоторые другие документы, которые вы, возможно, захотите прочитать:
Сообщество Istio — описывает, как принять участие и внести свой вклад в проект Istio.
Руководство разработчика Istio — объясняет, как настроить и использовать среду разработки Istio.
Соглашения проекта — описывает соглашения, которые мы используем в базе кода.
Создание быстрого и экономичного кода — ориентированные на производительность советы и рекомендации для базы кода.
В нашей Wiki вы найдете много других полезных документов.
Istio — это открытая платформа, обеспечивающая единый способ интеграции микросервисов, управления потоками трафика между микросервисами, применения политик и агрегирования данных телеметрии. Плоскость управления Istio обеспечивает уровень абстракции над базовой платформой управления кластером, такой как Kubernetes.
Istio состоит из следующих компонентов:
Envoy — дополнительные прокси-серверы для каждого микросервиса для обработки входящего/исходящего трафика между службами в кластере и от службы к внешним службам. Прокси образуют безопасную сеть микросервисов, предоставляющую богатый набор функций, таких как обнаружение, богатая маршрутизация уровня 7, автоматические выключатели, применение политик и функции записи/отчетности телеметрии.
Примечание. Сервисная сетка не является оверлейной сетью. Он упрощает и улучшает взаимодействие микросервисов в приложении друг с другом по сети, предоставляемой базовой платформой.
Истиод - плоскость управления Истио. Он обеспечивает обнаружение служб, настройку и управление сертификатами. Он состоит из следующих подкомпонентов:
Пилот — отвечает за настройку прокси во время выполнения.
Цитадель — отвечает за выдачу и ротацию сертификатов.
Камбуз — отвечает за проверку, загрузку, агрегирование, преобразование и распространение конфигурации в Istio.
Оператор . Компонент предоставляет удобные для пользователя возможности управления сервисной сеткой Istio.
Проект Istio разделен на несколько репозиториев GitHub:
Истио/API. Этот репозиторий определяет API-интерфейсы уровня компонентов и общие форматы конфигурации для платформы Istio.
istio/сообщество. Этот репозиторий содержит информацию о сообществе Istio, включая различные документы, регулирующие проект Istio с открытым исходным кодом.
истио/истио. Это основной репозиторий кода. Здесь размещаются основные компоненты Istio, артефакты установки и примеры программ. Он включает в себя:
истиоктл. Этот каталог содержит код утилиты командной строки istioctl .
пилот. Этот каталог содержит специфичный для платформы код для заполнения абстрактной модели службы, динамической перенастройки прокси-серверов при изменении топологии приложения, а также преобразования правил маршрутизации в конфигурацию, специфичную для прокси-сервера.
безопасность. Этот каталог содержит код, связанный с безопасностью, включая Citadel (действующий как центр сертификации), агент Citadel и т. д.
Истио/прокси. Прокси-сервер Istio содержит расширения прокси-сервера Envoy (в виде фильтров Envoy), которые поддерживают аутентификацию, авторизацию и сбор телеметрии.
istio/ztunnel. Репозиторий содержит реализацию на Rust компонента ztunnel Ambient Mesh.
istio/клиент-гоу. Этот репозиторий определяет автоматически создаваемые клиенты Kubernetes для программного взаимодействия с ресурсами Istio.
Примечание
Только репозитории istio/api
и istio/client-go
предоставляют стабильные интерфейсы, предназначенные для прямого использования в качестве библиотек.
Мы используем GitHub для отслеживания всех наших ошибок и запросов на добавление новых функций. Каждая проблема, которую мы отслеживаем, имеет различные метаданные:
Эпично . Эпик представляет собой особую область Istio в целом. Эпики довольно широки по своему охвату и, по сути, представляют собой вещи уровня продукта. Каждый выпуск в конечном итоге является частью эпоса.
Веха . Каждой проблеме присвоена веха. Это 0,1, 0,2, ... или «Туманное будущее». Эта веха указывает, когда, по нашему мнению, проблему следует решить.
Приоритет . Каждая проблема имеет приоритет, который представлен столбцом в проекте «Приоритизация». Приоритет может быть одним из P0, P1, P2 или >P2. Приоритет указывает, насколько важно решить проблему в рамках вехи. P0 говорит, что эта веха не может считаться достигнутой, если проблема не решена.
Istio — это проект Cloud Native Computing Foundation.