Захист та візуалізація роботи застосунку
Додавання застосунків до ambient mesh є дуже простим: вам потрібно лише додати мітку до простору імен, де розгорнуто застосунок. Додавши застосунки до мережі, ви автоматично забезпечите їхню комунікацію, а Istio почне збирати TCP-метрики. І ні, вам не потрібно перезапускати чи повторно розгортати застосунки!
Додавання Bookinfo до сервісної мережі
Щоб дозволити всім podʼам у вказаному просторі імен бути частиною ambient mesh, просто додайте мітку до простору імен:
$ kubectl label namespace default istio.io/dataplane-mode=ambient
namespace/default labeled
Вітаємо! Ви успішно додали всі podʼи в просторі імен default
до ambient mesh. 🎉
Якщо ви відкриєте застосунок Bookinfo у вашому оглядачі, ви побачите ту ж саму сторінку продукту, як і раніше. Різниця в тому, що тепер комунікація між podʼами pfcnjceyre Bookinfo зашифрована за допомогою mTLS. Додатково, Istio збирає TCP-метрики для всього трафіку між podʼами.
Візуалізація застосунку та метрик
Використовуючи панель інструментів Istio, Kiali та систему метрик Prometheus, ви можете візуалізувати застосунок Bookinfo. Розгорніть їх обидва:
$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.24/samples/addons/prometheus.yaml
$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.24/samples/addons/kiali.yaml
Ви можете отримати доступ до дашборду Kiali, запустивши наступну команду:
$ istioctl dashboard kiali
Надішліть трохи трафіку до застосунку Bookinfo, щоб Kiali згенерувала графік:
$ for i in $(seq 1 100); do curl -sSI -o /dev/null http://localhost:8080/productpage; done
Далі, натисніть на графік трафіку, і оберіть “Default” в меню ““Select Namespaces”. Ви повинні побачити застосунок Bookinfo:
Якщо ви натиснете на лінію, що зʼєднує два сервіси в дашборді, ви зможете побачити метрики вхідного та вихідного трафіку, зібрані Istio.
Окрім TCP-метрик, Istio створив сильну ідентичність для кожного сервісу: SPIFFE ID. Цю ідентичність можна використовувати для створення політик авторизації.
Подальші кроки
Тепер, коли ми призначили ідентичності сервісам, застосуємо політики авторизації, щоб забезпечити доступ до застосунку.