Увімкнення Istio на всіх мікросервісах

Раніше ви увімкнули Istio на одному мікросервісі, productpage. Тепер ви можете продовжити увімкнення Istio на інших мікросервісах поетапно, щоб отримати функціональність Istio для більшої кількості мікросервісів. Для цього навчального посібника ви увімкнете Istio на всіх мікросервісах, що залишились, за один раз.

  1. Для цілей цього навчального посібника зменшить масштабування розгортання мікросервісів до 1:

    $ kubectl scale deployments --all --replicas 1
  2. Перерозгорніть застосунок 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
  3. Зверніться до вебсторінки застосунку кілька разів. Зверніть увагу, що Istio було додано прозоро, оригінальний застосунок не змінився. Istio було додано на льоту без потреби в знятті та повторному розгортанні всього застосунку.

  4. Перевірте 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
  5. Зверніться до панелі управління Istio за допомогою власного URL, який ви налаштували у вашому /etc/hosts файлі раніше:

    http://my-istio-dashboard.io/dashboard/db/istio-mesh-dashboard
  6. У верхньому лівому меню виберіть Istio Mesh Dashboard. Зверніть увагу, що тепер усі сервіси з вашого простору імен зʼявляються у списку сервісів.

    Istio Mesh Dashboard
    Istio Mesh Dashboard
  7. Перевірте якийсь мікросервіс на Istio Service Dashboard, наприклад ratings:

    Istio Service Dashboard
    Istio Service Dashboard
  8. Візуалізуйте топологію вашого застосунку, використовуючи консоль Kiali, яка не є частиною Istio, але встановлена як частина конфігурації demo. Доступ до панелі управління можна отримати за допомогою власного URL, який ви налаштували у вашому /etc/hosts файлі раніше:

    http://my-kiali.io/kiali/console

    Якщо ви встановили Kiali як частину інструкцій з початку роботи, ваш логін користувачва в консолі Kiali буде admin, а пароль — admin.

  9. Натисніть на вкладку Graph і виберіть ваш простір імен у меню Namespace в верхньому кутку. У меню Display відзначте прапорець Traffic Animation, щоб побачити анімацію трафіку.

    Вкладка Kiali Graph, меню display
    Вкладка Kiali Graph, меню display
  10. Спробуйте різні опції у меню Edge Labels. Наведіть курсор миші на вузли та ребра графу. Зверніть увагу на метрики трафіку справа.

    Вкладка Kiali Graph, меню edge labels
    Вкладка Kiali Graph, меню edge labels
    Вкладка Kiali Graph
    Вкладка Kiali Graph

Ви готові налаштувати Istio Ingress Gateway.

Чи була ця інформація корисною?
Чи є у вас пропозиції щодо покращення?

Дякуємо за ваш відгук!