Проблеми з спостереженням
В 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
.
Перевірте, що podʼи
istio-cni-node
працюють:$ kubectl -n kube-system get pod -l k8s-app=istio-cni-node
Якщо в вашому кластері застосовується
PodSecurityPolicy
, переконайтеся, що службовий обліковий записistio-cni
може використовуватиPodSecurityPolicy
, яка дозволяє можливостіNET_ADMIN
таNET_RAW
.