Увімкнення Istio на всіх мікросервісах
Раніше ви увімкнули Istio на одному мікросервісі, productpage
. Тепер ви можете продовжити увімкнення Istio на інших мікросервісах поетапно, щоб отримати функціональність Istio для більшої кількості мікросервісів. Для цього навчального посібника ви увімкнете Istio на всіх мікросервісах, що залишились, за один раз.
Для цілей цього навчального посібника зменшить масштабування розгортання мікросервісів до 1:
$ kubectl scale deployments --all --replicas 1
Перерозгорніть застосунок Bookinfo з увімкненим Istio. Сервіс
productpage
не буде перерозгорнуто, оскільки він вже має інʼєкцію Istio, і його podʼи не будуть змінені. Цього разу ви будете використовувати лише одну репліку мікросервісу.$ curl -s https://raw.githubusercontent.com/istio/istio/release-1.24/samples/bookinfo/platform/kube/bookinfo.yaml | istioctl kube-inject -f - | kubectl apply -l app!=reviews -f - $ curl -s https://raw.githubusercontent.com/istio/istio/release-1.24/samples/bookinfo/platform/kube/bookinfo.yaml | istioctl kube-inject -f - | kubectl apply -l app=reviews,version=v2 -f - service/details unchanged serviceaccount/bookinfo-details unchanged deployment.apps/details-v1 configured service/ratings unchanged serviceaccount/bookinfo-ratings unchanged deployment.apps/ratings-v1 configured serviceaccount/bookinfo-reviews unchanged service/productpage unchanged serviceaccount/bookinfo-productpage unchanged deployment.apps/productpage-v1 configured deployment.apps/reviews-v2 configured
Зверніться до вебсторінки застосунку кілька разів. Зверніть увагу, що Istio було додано прозоро, оригінальний застосунок не змінився. Istio було додано на льоту без потреби в знятті та повторному розгортанні всього застосунку.
Перевірте podʼи застосунку та переконайтеся, що тепер кожен pod має два контейнери. Один контейнер є самим мікросервісом, інший — sidecar проксі, прикріплений до нього:
$ kubectl get pods details-v1-58c68b9ff-kz9lf 2/2 Running 0 2m productpage-v1-59b4f9f8d5-d4prx 2/2 Running 0 2m ratings-v1-b7b7fbbc9-sggxf 2/2 Running 0 2m reviews-v2-dfbcf859c-27dvk 2/2 Running 0 2m curl-88ddbcfdd-cc85s 1/1 Running 0 7h
Зверніться до панелі управління Istio за допомогою власного URL, який ви налаштували у вашому
/etc/hosts
файлі раніше:http://my-istio-dashboard.io/dashboard/db/istio-mesh-dashboard
У верхньому лівому меню виберіть Istio Mesh Dashboard. Зверніть увагу, що тепер усі сервіси з вашого простору імен зʼявляються у списку сервісів.
Istio Mesh Dashboard Перевірте якийсь мікросервіс на Istio Service Dashboard, наприклад
ratings
:Istio Service Dashboard Візуалізуйте топологію вашого застосунку, використовуючи консоль Kiali, яка не є частиною Istio, але встановлена як частина конфігурації
demo
. Доступ до панелі управління можна отримати за допомогою власного URL, який ви налаштували у вашому/etc/hosts
файлі раніше:http://my-kiali.io/kiali/console
Якщо ви встановили Kiali як частину інструкцій з початку роботи, ваш логін користувачва в консолі Kiali буде
admin
, а пароль —admin
.Натисніть на вкладку Graph і виберіть ваш простір імен у меню Namespace в верхньому кутку. У меню Display відзначте прапорець Traffic Animation, щоб побачити анімацію трафіку.
Вкладка Kiali Graph, меню display Спробуйте різні опції у меню Edge Labels. Наведіть курсор миші на вузли та ребра графу. Зверніть увагу на метрики трафіку справа.
Вкладка Kiali Graph, меню edge labels Вкладка Kiali Graph
Ви готові налаштувати Istio Ingress Gateway.