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


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

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

Примечание.

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

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

  • Azure CLI.

  • Средство Kubernetes kubectl или аналогичное средство для подключения к кластеру. Чтобы установить kubectl с помощью Azure CLI, выполните команду az aks install-cli .

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

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

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

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

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

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

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

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

Примечание.

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

Ограничения

  • Переход на более раннюю версию (за пределами процесса отката) не допускается.

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

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

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

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

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

Ссылки

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

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

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

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

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

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