Проблеми з спостереженням

В Zipkin не зʼявляються трейси при запуску Istio локально на Mac

Istio встановлено, і все здається працює, але в Zipkin не зʼявляються трейси, хоча повинні бути.

Це може бути викликано відомою проблемою Docker, коли час всередині контейнерів може суттєво відрізнятися від часу на хост-машині. Якщо це так, коли ви вибираєте дуже довгий інтервал дат у Zipkin, ви побачите, що трейси зʼявляються на кілька днів раніше.

Ви також можете підтвердити цю проблему, порівнявши дату всередині Docker-контейнера з датою за його межами:

$ docker run --entrypoint date gcr.io/istio-testing/ubuntu-16-04-slave:latest
Sun Jun 11 11:44:18 UTC 2017
$ date -u
Thu Jun 15 02:25:42 UTC 2017

Щоб розвʼязати цю проблему, вам потрібно вимкнути та перезапустити Docker перед повторним встановленням Istio.

Відсутній вивід Grafana

Якщо ви не можете отримати вивід Grafana при підключенні з локального вебклієнта до віддалено розгорнутого Istio, слід перевірити, чи збігаються дати та час клієнта та сервера.

Час вебклієнта (наприклад, Chrome) впливає на вивід Grafana. Просте розвʼязання цієї проблеми — перевірити, чи працює сервіс синхронізації часу коректно в кластері Kubernetes та чи використовує машина вебклієнта також коректну службу синхронізації часу. Деякі поширені системи синхронізації часу — це NTP та Chrony. Це особливо проблематично в інженерних лабораторіях з брандмауерами. У таких випадках NTP може бути некоректно налаштований для роботи з лабораторними сервісами NTP.

Перевірте, чи працюють podʼи Istio CNI (якщо використовуються)

Втулок Istio CNI виконує перенаправлення трафіку podʼів Istio mesh у фазі налаштування мережі життєвого циклу podʼа Kubernetes, таким чином усуваючи необхідність для можливостей NET_ADMIN та NET_RAW для користувачів, які розгортають podʼи в Istio mesh. Втулок Istio CNI замінює функціональність, що надається контейнером istio-init.

  1. Перевірте, що podʼи istio-cni-node працюють:

    $ kubectl -n kube-system get pod -l k8s-app=istio-cni-node
  2. Якщо в вашому кластері застосовується PodSecurityPolicy, переконайтеся, що службовий обліковий запис istio-cni може використовувати PodSecurityPolicy, яка дозволяє можливості NET_ADMIN та NET_RAW.

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

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