Глосарій
A
- Ambient
Режим ambient (режим оточення) належить до режиму панелі даних, що складається з компонента для кожного вузла та, за бажанням, компонента для кожного простору імен. Мережа, що створюється при встановленні Istio в режимі ambient, може називатися ambient mesh. Режим ambient є альтернативою розгортанню в режимі sidecar.
- Auto mTLS
Auto mTLS — це функція Istio для автоматичної конфігурації проксі-клієнтів для відправлення обопільного TLS трафіку на зʼєднаннях, де як клієнт, так і сервер здатні обробляти трафік з Mutual TLS. Istio знижує рівень до звичайного тексту, коли клієнт або сервер не здатні обробляти такий трафік.
C
- CNI
Container Network Interface (CNI) — це стандарт, який використовується Kubernetes для конфігурації мережі кластерів. Він реалізується за допомогою втулків, які поділяються на два типи:
- втулки інтерфейсу, які створюють мережевий інтерфейс, і надаються оператором кластера
- ланцюгові втулки, які можуть конфігурувати створений інтерфейс, і можуть надаватися програмним забезпеченням, встановленим у кластері
Istio працює з усіма реалізаціями CNI, які відповідають стандарту CNI, як у режимі sidecar, так і в ambient режимі.
Для конфігурації перенаправлення трафіку в mesh, Istio включає вузловий агент CNI. Цей агент встановлює ланцюговий CNI втулок, який виконується після всіх налаштованих втулків CNI інтерфейсу.
CNI вузловий агент є необовʼязковим для режиму sidecar і обовʼязковим для режиму ambient.
- CRD
Custom resource definitions (CRD) є розширеннями стандартного API Kubernetes. Istio використовує API CRD Kubernetes для конфігурації, навіть для не-Kubernetes розгортань Istio.
E
- eBPF
eBPF — це технологія, яка дозволяє запускати програми у привілейованому контексті, такому як ядро операційної системи. Вона використовується для безпечного та ефективного розширення можливостей ядра під час виконання без необхідності змінювати вихідний код ядра або завантажувати модулі ядра.
- Envoy
Високопродуктивний проксі, який Istio використовує для медіації вхідного та вихідного трафіку для всіх сервісів у сервісні мережі. Дізнайтеся більше про Envoy.
G
- Gateway
Gateway (шлюз) — це автономний проксі Istio, розгорнутий на периметрі сервісної мережі (mesh). Шлюзи використовуються для маршрутизації трафіку в мережу або з мережі.
CR Istio
Gateway
використовується для конфігурації відкритих портів розгортання шлюзу.- Gateway API
API шлюзу Kubernetes — це конфігураційний API для маршрутизації трафіку в Kubernetes. Він представляє наступне покоління API ingress в Kubernetes, балансування навантаження та сервісної мережі та розроблений з урахуванням досвіду традиційних API від Istio.
H
- HBONE
HBONE (або HTTP-Based Overlay Network Environment) — це безпечний тунельний протокол, що використовується між компонентами Istio. Дізнайтеся більше про HBONE.
I
- IO
- IOP
- Istio Operator Custom Resource
Власний ресурс Istio Operator, часто згадуваний у скороченій формі
IOP
абоIO
, є спеціальним ресурсом, який використовується для налаштування встановлення Istio при використанні командиistioctl install
або оператора в кластері.- Istiod
Компонент Istiod — це консолідований бінарний файл панелі управління, який обʼєднує функції Pilot, Galley, Citadel і sidecar інжектора.
M
- Multi-Mesh
Multi-mesh — це модель розгортання, яка складається з двох або більше сервісних мереж. Кожен mesh має незалежне управління іменами та ідентичностями, але ви можете експонувати сервіси між mesh за допомогою федерації mesh. Отримане розгортання є multi-mesh розгортанням.
P
- Pilot
Компонент Istio, який програмує проксі Envoy, відповідальний за виявлення сервісів, балансування навантаження та маршрутизацію.
- Pod
Pod — це група з одного або кількох контейнерів (наприклад, контейнерів Docker), зі спільним сховищем та мережею, і специфікація для запуску контейнерів. Podʼи є екземплярами робочого навантаження в Kubernetes розгортанні Istio.
- Proxyless
Proxyless означає режим даних, який працює без проксі, замість цього інтегруючи функціональність mesh безпосередньо в застосунки. Наразі Istio підтримує Proxyless gRPC, який забезпечує функціональність mesh у фреймворку gRPC.
S
- Sidecar
Sidecar загалом є контейнером, який працює поряд з основним застосунком, надаючи додаткову функціональність. В Istio режим sidecar — це режим панелі даних, який запускає проксі Envoy поряд з кожним Podʼом.
- SPIFFE
Проєкт Secure Production Identity Framework For Everyone (SPIFFE) визначає структуру та набір стандартів для ідентифікації та забезпечення комунікацій між вебсервісами.
W
- Waypoint
Waypoint — це компонент проксі-рівня 7 в режимі ambient. Waypoint зазвичай працює на основі кожного простору імен і обробляє весь трафік, що потрапляє до цього простору імен.
- Workload Instance Principal
Перевірений авторитет під яким працює екземпляр робочого навантаження. Автентифікація сервіс-сервіс в Istio використовується для створення принципала навантаження. Стандартно принципали навантаження відповідають формату SPIFFE ID.
Принципали навантаження доступні в конфігураціях політики та телеметрії за допомогою атрибутів
source.principal
таdestination.principal
атрибутів.
Z
- ztunnel
Ztunnel належить до компонента проксі вузла в режимі ambient панелі даних. Ztunnel працює на кожному вузлі й безпечно передає трафік, використовуючи протокол HBONE.
Детальнішу інформацію можна знайти в документації по панелі даних ambient.
А
- Анотація
Анотація стосується анотацій Kubernetes, які прикріплюються до ресурсу, наприклад, до Podʼа. Для списку дійсних специфічних для Istio анотацій дивіться Анотації ресурсів.
- Атрибут
Атрибути контролюють поведінку сервісів під час виконання в мережі. Атрибути є іменованими та типізованими частками метаданих, які описують вхідний та вихідний трафік і середовище, в якому цей трафік зʼявляється. Атрибут Istio несе конкретну частку інформації, наприклад, код помилки API запиту, затримку API запиту або початкову IP-адресу TCP зʼєднання. Наприклад:
request.path: xyz/abc request.size: 234 request.time: 12:34:56.789 04/17/2017 source.ip: 192.168.0.1 destination.workload.name: example
Атрибути використовуються функціями політики та телеметрії Istio.
В
- Версія сервісу
Окремі варіанти сервісу, як правило, підтримуються різними версіями бінарних файлів робочого навантаження. Поширені сценарії, де можуть використовуватися кілька версій сервісу, включають A/B тестування та канаркові розгортання.
- Взаємна TLS автентифікація
Взаємна TLS автентифікація забезпечує надійну автентифікацію сервіс-сервіс з вбудованим управлінням ідентичностями та обліковими даними. Дізнайтеся більше про взаємну TLS автентифікацію.
- Віддалений кластер
Віддалений кластер — це кластер, який підключається до панелі управління, що знаходиться поза межами кластера. Віддалений кластер може підключатися до панелі управління, що працює в основному кластері, або до зовнішньої панелі управління.
Д
- Джерело
Клієнт, який підключається до проксі Envoy. У межах сервісної мережі джерелом зазвичай є робоче навантаження, але джерело вхідного трафіку може включати інші клієнти, такі як вебоглядач або мобільний застосунок.
- Домен відмов
Домен відмов — це фізичний або логічний сегмент обчислювального середовища, який матиме негативний вплив, коли критичний пристрій або сервіс зазнає проблем.
Для розгортання Istio домени відмов можуть охоплювати кілька зон доступності вашої платформи.
- Домен довіри
Домен довіри відповідає кореню довіри системи і є частиною ідентичності навантаження.
Istio використовує домен довіри для створення всіх ідентичностей у мережі. Наприклад, у
spiffe://mytrustdomain.com/ns/default/sa/myname
рядокmytrustdomain.com
вказує, що навантаження походить з домену довіри з назвоюmytrustdomain.com
.Ви можете мати один або кілька доменів довіри у багатокластерній мережі, якщо кластери мають спільний корінь довіри.
Е
- Екземпляр робочого навантаження
Один екземпляр бінарного файлу навантаження. Екземпляр навантаження може експонувати нуль або більше точок доступу сервісу та може споживати нуль або більше сервісів.
Екземпляри навантаження мають кілька властивостей:
- Назва та простір імен
- Унікальний ID
- IP-адреса
- Мітки
- Принципал
Ці властивості доступні в конфігураціях політики та телеметрії за допомогою багатьох
source.*
таdestination.*
атрибутів.
З
- Захищене іменування
Забезпечує зіставлення між іменем сервісу та принципалами екземплярів робочого навантаження, які мають право запускати екземпляри робочого навантаження, що реалізують сервіс.
- Захищений L4 Overlay
Термін “захищений overlay” або “захищений L4 overlay” використовується для колективного опису набору функцій мереж L4, реалізованих в ambient mesh через проксі ztunnel. На транспортному рівні це реалізується за допомогою протоколу тунелювання трафіку на основі HTTP CONNECT, що називається HBONE.
- Зовнішня панель управління
Зовнішня панель управління — це панель управління, яка ззоін управляє навантаженнями mesh, що працюють у своїх власних кластерах або іншій інфраструктурі. Панель управління може, сама по собі, бути розгорнутою в кластері, хоча і не в одному з кластерів, що є частиною mesh, який вона контролює. Її мета — чітко відокремити панель управління від панелі даних mesh.
І
- Ідентичність
Ідентичність є основною концепцією інфраструктури безпеки. Модель ідентичності Istio базується на ідентичності робочого навантаження першого класу. На початку комунікації між сервісами дві сторони обмінюються обліковими даними з їх інформацією про ідентичність для цілей взаємної автентифікації.
Клієнти звіряють ідентичність сервера зі своєю захищеною інформацією про імена, щоб визначити, чи має сервер дозвіл на запуск сервісу.
Сервери перевіряють ідентичність клієнта, щоб визначити, до якої інформації він може отримати доступ. Сервери базуються на налаштованій політиці авторизації.
Використовуючи ідентичність, сервери можуть перевіряти час, коли та яку інформацію отримав конкретний клієнт. Вони також можуть стягувати плату з клієнтів на основі послуг, які вони використовують, і відмовити у доступі будь-яким клієнтам, які не сплатили рахунок.
Модель ідентичності Istio є гнучкою та детальною, щоб представляти людину, окремий сервіс або групу сервісів. На платформах без ідентичності сервісу першого класу Istio може використовувати інші ідентичності, які можуть групувати екземпляри сервісів, такі як імена сервісів.
Istio підтримує такі ідентичності сервісів на різних платформах:
Kubernetes: службовий обліковий запис Kubernetes
GKE/GCE: службовий обліковий запис GCP
GCP: службовий обліковий запис GCP
AWS: обліковий запис IAM користувача/ролі AWS
Власні (не Kubernetes): обліковий запис користувача, власний службовий обліковий запис, імʼя сервісу, службовий обліковий запис Istio або службовий обліковий запис GCP. Власний службовий обліковий запис повʼязаний з наявним службовий обліковим записом, подібно до ідентичностей, якими управляє Identity Directory.
- Імʼя сервісу
Імʼя, яке унікально ідентифікує сервіс в межах сервісної мережі. Сервіс не може бути перейменований, зберігаючи свою ідентичність. Сервіс може мати кілька версій, але імʼя сервісу не залежить від версії.
- Інʼєкція
Інʼєкція, або sidecar інʼєкція, стосується використання модифікуючих вебхуків для зміни специфікацій Podʼів під час їх створення.
Інʼєкцію можна використовувати для додавання конфігурації sidecar Envoy для сервісів mesh або для налаштування проксі Envoy у шлюзів.
Детальнішу інформацію дивіться в розділі Встановлення sidecar.
К
- Керована панель управління
Керована панель управління — це зовнішня панель управління, яку постачальники хмарних послуг запроваджують для своїх клієнтів. Керовані панелі управління знижують складність розгортання для користувачів і зазвичай гарантують певний рівень продуктивності та доступності.
- Кластер
Кластер — це набір обчислювальних вузлів, на яких виконуються контейнеризовані застосунки. Зазвичай, обчислювальні вузли, що входять до складу кластера, можуть напряму звертатися один до одного. Кластери обмежують зовнішній доступ за допомогою правил або політик.
М
- Мережа
Istio використовує спрощене визначення мережі на основі загальної звʼязності. Екземпляри робочого навантаження знаходяться в одній мережі, якщо вони можуть спілкуватися безпосередньо, без шлюзу.
- Міграція Домену Довіри
Процес зміни домену довіри мережі Istio.
- Мікросегментація
Мікросегментація — це метод безпеки, який створює захищені зони в хмарних розгортаннях і дозволяє організаціям ізолювати робочі навантаження одне від одного та захищати їх окремо.
- Мультикластер
Мультикластер — це модель розгортання, що складається з mesh з кількома кластерами.
О
- Однаковість просторів імен
У межах multicluster mesh застосовується однаковість просторів імен, і всі простори імен із вказаним імʼям вважаються одним і тим самим простором імен. Якщо в кількох кластерах міститься
Service
з тим самим іменем у просторі імен, вони будуть розглядатися як один обʼєднаний сервіс. Стандартно трафік розподіляється між усіма кластерами в mesh для даного сервісу.Порти, які збігаються за номером, також повинні мати однакове імʼя порту, щоб вважатися обʼєднаним
service port
.- Оператор
Оператори — це метод упаковки, розгортання та управління застосунками Kubernetes. Для отримання додаткової інформації дивіться шаблон оператора.
- Оператор сервісу
Агент, який керує сервісом в межах сервісної мережі, маніпулюючи конфігураційним станом і контролюючи стан справності сервісу через різноманітні інфопанелі.
- Основний кластер
Основний кластер — це кластер з панеллю управління. Один mesh може мати більше одного основного кластера для забезпечення високої доступності або для зменшення затримки. Основні кластери можуть діяти як панель управління для віддалених кластерів.
П
- Панель даних
Панель даних — це частина mesh, яка безпосередньо обробляє та маршрутизує трафік між екземплярами навантаження.
У режимі sidecar панель даних Istio використовує проксі Envoy, розгорнуті як sidecar, для медіації та контролю всього трафіку, який надсилають і отримують ваші сервіси mesh.
У режимі ambient панель даних Istio використовує проксі ztunnel на рівні вузла, розгорнуті як DaemonSet, для медіації та контролю всього трафіку, який надсилають і отримують ваші сервіси mesh.
- Панель управління
Панель управління (control plane) — це набір системних сервісів, які конфігурують mesh або його підмножину для управління комунікацією між екземплярами навантаження всередині.
- Правила маршрутизації
Правила маршрутизації, які ви налаштовуєте на віртуальному сервісі, визначають шляхи, якими запити проходять в межах сервісної мережі. За допомогою правил маршрутизації ви можете визначити умови для маршрутизації трафіку, адресованого до хосту віртуального сервісу, до конкретних цільових робочих навантажень. Правила маршрутизації дозволяють вам контролювати трафік для таких завдань, як A/B тестування, канаркові розгортання та поетапні розгортання з розподілом трафіку на основі відсотків.
- Призначення
Віддалений сервіс, з яким Envoy взаємодіє від імені джерела навантеження.
- Продюсер сервісу
Агент, який створює сервіс.
Р
- Реєстр сервісів
Istio підтримує внутрішній реєстр сервісів, що містить набір сервісів та їх відповідні точки доступу, які працюють у сервісній мережі. Istio використовує реєстр сервісів для генерації конфігурації Envoy.
Istio не забезпечує виявлення сервісів, хоча більшість сервісів автоматично додаються до реєстру за допомогою адаптерів Pilot, які відображають виявлені сервіси основної платформи (Kubernetes, Consul, простий DNS). Додаткові сервіси також можуть бути зареєстровані вручну за допомогою конфігурації
ServiceEntry
.- Режим панелі даних
Режим панелі даних відноситься до того, який режим розгортання використовує панель даних. Наразі Istio підтримує три режими: режим sidecar, режим ambient та proxyless.
- Робоче навантаження
Бінарний файл, розгорнутий операторами для надання певної функції застосунку в сервісній мережі. Робоче навантаження має назви, простори імен та унікальні ідентифікатори. Ці властивості доступні в конфігураціях політики та телеметрії за допомогою наступних атрибутів:
source.workload.name
,source.workload.namespace
,source.workload.uid
destination.workload.name
,destination.workload.namespace
,destination.workload.uid
В Kubernetes workload зазвичай відповідає deployment Kubernetes, тоді як екземпляр робочого навантаження відповідає окремому Podʼу, яким управляє deployment.
С
- Сервіс
Окреслена група повʼязаних поведінок у межах сервісної мережі. Сервіси ідентифікуються за допомогою імені сервісу, а політики Istio, такі як балансування навантаження та маршрутизація, застосовуються за цими іменами. Сервіс зазвичай реалізується за допомогою однієї або кількох точок доступу сервісу і може складатися з кількох версій сервісу.
- Сервісна мережа
Сервісна мережа (service mesh) або просто mesh — це інфраструктурний рівень, який дозволяє керовану, спостережувану та безпечну комунікацію між екземплярами робочого навантаження.
Імена сервісів разом з простором імен є унікальними в межах mesh. Наприклад, в мультікластерній сервісній мережі сервіс
bar
в просторі іменfoo
вcluster-1
вважається тим самим сервісом, що і сервісbar
в просторі іменfoo
вcluster-2
.Оскільки ідентичності є спільними в межах сервісної мережі, екземпляри робочого навантаження можуть автентифікувати комунікацію з будь-яким іншим екземпляром робочого навантаження в межах тієї ж сервісної мережі.
- Споживач сервісу
Агент, який використовує сервіс.
- Створення TLS
Створення TLS відбувається, коли проксі Istio (sidecar або egress gateway) налаштоване для приймання нешифрованих внутрішніх HTTP-зʼєднань, шифрування запитів і подальшої передачі їх на HTTPS-сервери, що захищені простим або взаємним TLS. Це є протилежністю термінації TLS, де вхідний проксі приймає вхідні TLS-зʼєднання, розшифровує TLS і передає нешифровані запити внутрішнім сервісам мережі.
Т
- Точка доступу сервісу
Мережева реалізація сервісу. Екземпляри робочого навантаження відкривають точки доступу сервісу, але не всі сервіси мають точки доступу.
Ф
- Федерація mesh
Федерація mesh — це процес експонування сервісів поміж mesh та забезпечення звʼязку крізь межі mesh. Кожен mesh може експонувати підмножину своїх сервісів, щоб дозволити одному або кільком іншим mesh використовувати експоновані сервіси. Федерацію mesh можна використовувати для забезпечення звʼязку між mesh у розгортанні з кількома mesh.