Поделиться через


Устранение неполадок при обновлении дополнительных исправлений в сетке служб Istio

В этой статье рассматриваются сценарии устранения неполадок и ограничения в процессах обновления дополнительных версий и отката для надстройки сетки служб Istio в Microsoft Служба Azure Kubernetes (AKS).

Примечание.

Istio использует термин "редакции" для реализации процесса обновления канарной версии и различения версий. Каждое обозначение редакции (написанное как x-y) соответствует назначению основной.дополнительных версий (x).y). Вы можете управлять редакцией плоскости управления, но вы не можете контролировать определенную версию исправления в диапазоне редакций.

Предварительные требования

Матрица устранения неполадок

В следующей таблице перечислены различные проблемы и различные сценарии и решения этих проблем.

Сценарий Проблема Решение
Рабочие нагрузки плоскости данных удаляются из сетки. Изменения плоскости данных и плоскости управления не соответствовали до завершения или отката обновления.

Выполните следующие действия:

  1. Пространства имен relabel, содержащие рабочие нагрузки, задав редакцию, которая, как ожидается, будет существовать после завершения обновления или отката. Для этого выполните команду kubectl label :

    kubectl label namespace default istio.io/rev=asm-x-y --overwrite
  2. Перезапустите соответствующие развертывания рабочих нагрузок, чтобы активировать повторное развертывание боковой кареты правильной редакции. Для этого выполните команду перезапуска развертывания kubectl:

    kubectl rollout restart deployment <deployment name>
  3. Убедитесь, что образы боковой кареты существуют. Для этого выполните команду get kubectl:

    kubectl get pods --namespace <namespace> --output yaml | grep mcr.microsoft.com/oss/istio/proxyv2:
Модули pod уровня управления находятся в состоянии ожидания. Модули pod не имеют емкости. Проверьте состояние модулей pod, выполнив команду kubectl описать . Если емкость является проблемой, вы можете увеличить масштаб кластера, чтобы добавить другой узел. Дополнительные сведения см. в разделе "Число узлов" вручную в кластере Служба Azure Kubernetes (AKS).
Команда az aks mesh get-upgrades возвращает недоступные обновления. Последняя редакция Istio может быть несовместима с текущей версией кластера AKS. Команду az aks mesh get-revisions можно использовать для обнаружения наличия новых версий Istio. Выходные данные содержат список совместимых версий кластера для каждой редакции Istio. Поэтому можно определить, требуется ли обновление кластера.

Примечание.

Чтобы избежать непреднамеренного поведения и неработающих функций, а также убедитесь, что вы получаете обновления для уязвимостей системы безопасности, настоятельно рекомендуем выполнить обновление до поддерживаемой и актуальной версии AKS и версии надстройки Istio. Помните, что редакция надстройки также должна находиться в поддерживаемом диапазоне версий Kubernetes для данного кластера AKS. Как описано в разделе "Дополнительное обновление редакции" статьи об обновлении Istio, вы можете запускать az aks mesh get-revisions и az aks mesh get-upgrades команды, чтобы узнать о доступных версиях надстроек, обновлениях и сведениях о совместимости.

Ограничения

  • Понижение до более старой версии (за пределами процесса отката канарной версии) запрещено.

  • Пропуск одной редакции к несекутивной редакции допускается только в том случае, если AKS больше не поддерживает текущую редакцию и следующую редакцию обновления. На этом этапе единственное обновление, доступное для вас, является самой низкой поддерживаемой редакцией.

  • Метка Istio не включает внедрение бокового автомобиля для надстройки Istio sidecar.istio.io/inject . Вы должны использовать istio.io/rev метку при метке и повторном присвоении пространств имен во время обновления канарной версии.

  • Метка должна выполняться на уровне пространства имен вместо каждого уровня развертывания. Если вы хотите выполнить перекат модулей pod по отдельности, можно перезапустить отдельные развертывания вместо использования меток pod.

  • Если вы используете надстройку Istio Shared MeshConfig, необходимо скопировать или передать параметры MeshConfig в новый ConfigMap, прежде чем выполнять обновление канарной версии. Дополнительные сведения см. в разделе "Конфигурация сетки" и "Обновления".

  • Надстройка Istio развертывает модули pod шлюза Istio ingress и развертывания на каждую редакцию. Если вы выполняете обновление канарной версии и имеете две версии плоскости управления, установленные в кластере, может потребоваться устранить неполадки с несколькими модулями pod шлюза входящего трафика в обоих версиях.

Ссылки

Заявление об отказе от ответственности за сведения о продуктах сторонних производителей

В этой статье упомянуты программные продукты независимых производителей. Корпорация Microsoft не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.

Заявление об отказе от ответственности за контактные данные сторонней организации

Корпорация Майкрософт предоставляет контактные данные сторонних производителей в целях получения дополнительных сведений по данной теме. Эти данные могут быть изменены без предварительного уведомления. Корпорация Майкрософт не гарантирует точность контактных данных сторонних производителей.

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.