Open Service Mesh с поддержкой Azure Arc

Open Service Mesh (OSM) — это упрощенная, расширяемая, полностью облачная сервисная сетка, которая позволяет пользователям однотипно управлять, защищать и получать готовые возможности наблюдаемости для высокодинамичных сред микрослужб.

OSM запускает уровень управления на основе Envoy в Kubernetes, может быть настроена с помощью интерфейсов API SMI и работает путем добавления прокси-сервера Envoy в качестве контейнера расширения для каждого экземпляра приложения. Ознакомьтесь с дополнительными сведениями о сценариях сетки службы, которые поддерживает Open Service Mesh.

Все компоненты OSM с поддержкой Azure Arc развертываются в зонах доступности, что делает их избыточными по зонам.

Параметры и требования к установке

Сетку Open Service с поддержкой Azure Arc можно развернуть с помощью портал Azure, Azure CLI, шаблона ARM или встроенной политики Azure.

Необходимые компоненты

  • Убедитесь, что все общие предварительные требования к расширению кластера, перечисленные здесь, выполнены.
  • Использование az k8s-extension версии >расширения CLI = версии 1.0.4

Текущие ограничения поддержки

  • В кластере Kubernetes с подключением к Azure Arc можно развернуть только один экземпляр Сетки Open Service.
  • Поддержка доступна для двух последних выпущенных дополнительных версий Open Service Mesh с поддержкой Arc. Найдите последнюю версию здесь. Поддерживаемые версии выпуска добавляются с заметками. Игнорируйте теги, связанные с промежуточными выпусками.
  • В настоящее время поддерживаются следующие дистрибутивы Kubernetes:
    • Ядро AKS (Служба Azure Kubernetes)
    • Кластеры AKS в Azure Stack HCI
    • AKS, включенный Azure Arc
    • Cluster API Azure
    • Google Kubernetes Engine
    • Дистрибутив Canonical Kubernetes
    • Rancher Kubernetes Engine
    • Дистрибутив OpenShift Kubernetes
    • Amazon Elastic Kubernetes Service
    • VMware Tanzu Kubernetes Grid
  • Интеграция Azure Monitor с Сеткой Open Service с поддержкой Azure Arc доступна в предварительной версии с ограниченной поддержкой.

Базовая установка с помощью портал Azure

Чтобы развернуть с помощью портал Azure, как только у вас есть подключенный кластер Arc, перейдите в раздел "Open Service Mesh" кластера.

Open Service Mesh located under Settings for Arc enabled Kubernetes cluster

Нажмите кнопку "Установить расширение", чтобы развернуть последнюю версию расширения.

Кроме того, здесь можно использовать интерфейс командной строки. Дополнительные сведения о развертывании с помощью шаблона ARM и использовании Политика Azure см. далее в этой статье.

Базовая установка с помощью Azure CLI

В следующих шагах предполагается, что у вас уже есть кластер с поддерживаемым дистрибутивом Kubernetes, подключенным к Azure Arc. Убедитесь, что переменная среды KUBECONFIG указывает на kubeconfig кластера Kubernetes с поддержкой Arc.

Задайте переменные среды:

export CLUSTER_NAME=<arc-cluster-name>
export RESOURCE_GROUP=<resource-group-name>

Если вы используете кластер OpenShift, перейдите к инструкциям по установке OpenShift.

Создайте расширение:

Примечание.

Чтобы закрепить определенную версию OSM, добавьте --version x.y.z флаг в create команду. Обратите внимание, что это значение auto-upgrade-minor-version будет иметь значение false.

az k8s-extension create --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm

Вы должны увидеть выходные данные, аналогичные этому примеру. На фактическое развертывание диаграммы Helm OSM в кластере может потребоваться 3–5 минут. Пока это развертывание не произойдет, installState останется Pending.

{
  "autoUpgradeMinorVersion": true,
  "configurationSettings": {},
  "creationTime": "2021-04-29T17:50:11.4116524+00:00",
  "errorInfo": {
    "code": null,
    "message": null
  },
  "extensionType": "microsoft.openservicemesh",
  "id": "/subscriptions/<subscription-id>/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Kubernetes/connectedClusters/$CLUSTER_NAME/providers/Microsoft.KubernetesConfiguration/extensions/osm",
  "identity": null,
  "installState": "Pending",
  "lastModifiedTime": "2021-04-29T17:50:11.4116525+00:00",
  "lastStatusTime": null,
  "location": null,
  "name": "osm",
  "releaseTrain": "stable",
  "resourceGroup": "$RESOURCE_GROUP",
  "scope": {
    "cluster": {
      "releaseNamespace": "arc-osm-system"
    },
    "namespace": null
  },
  "statuses": [],
  "type": "Microsoft.KubernetesConfiguration/extensions",
  "version": "x.y.z"
}

Затем проверьте установку.

Пользовательские установки

В следующих разделах описываются некоторые пользовательские установки OSM с поддержкой Azure Arc. Для пользовательских установок требуются значения параметров OSM в JSON-файле и передача их в k8s-extension create команду CLI.

Установка OSM в кластере OpenShift

  1. Скопируйте следующее содержимое и сохраните его в JSON-файле. Если вы уже создали файл параметров конфигурации, добавьте следующую строку в существующий файл, чтобы сохранить предыдущие изменения.

    {
        "osm.osm.enablePrivilegedInitContainer": "true"
    }
    
  2. Установите OSM с пользовательскими значениями.

  3. Добавьте ограничение привилегированного контекста безопасности в каждую учетную запись службы для приложений в сетке.

    oc adm policy add-scc-to-user privileged -z <service account name> -n <service account namespace>
    

На фактическое развертывание диаграммы Helm OSM в кластере может потребоваться 3–5 минут. Пока это развертывание не произойдет, installState останется Pending.

Чтобы убедиться, что параметр контейнера привилегированного инициализации не отменить изменения по умолчанию, передайте "osm.osm.enablePrivilegedInitContainer" : "true" параметр конфигурации во все последующие az k8s-extension create команды.

Включение функций высокой доступности при установке

Компоненты плоскости управления OSM создаются с учетом высокой доступности и отказоустойчивости. В этом разделе описывается, как включить горизонтальное автоматическое масштабирование pod (HPA) и бюджет прерывания pod (PDB) во время установки. Дополнительные сведения о проектировании высокого уровня доступности в OSM.

Горизонтальное автоматическое масштабирование pod (HPA)

HPA автоматически масштабирует модули pod уровня управления вверх или вниз на основе среднего целевого использования ЦП (%) и среднего использования целевой памяти (%), определенного пользователем. Чтобы включить HPA и задать применимые значения для модулей pod плоскости управления OSM во время установки, создайте или добавьте в существующий файл параметров JSON, как показано здесь, повторяя пары "ключ-значение" для каждого модуля pod уровня управления (osmController,), injectorв которых требуется включить HPA.

{
  "osm.osm.<control_plane_pod>.autoScale.enable" : "true",
  "osm.osm.<control_plane_pod>.autoScale.minReplicas" : "<allowed values: 1-10>",
  "osm.osm.<control_plane_pod>.autoScale.maxReplicas" : "<allowed values: 1-10>",
  "osm.osm.<control_plane_pod>.autoScale.cpu.targetAverageUtilization" : "<allowed values 0-100>",
  "osm.osm.<control_plane_pod>.autoScale.memory.targetAverageUtilization" : "<allowed values 0-100>"
}

Теперь установите OSM с пользовательскими значениями.

Бюджет прерывания pod (PDB)

Чтобы предотвратить нарушения во время запланированных сбоев, модули pod osm-controller плоскости управления и osm-injector PDB, обеспечивающие наличие по крайней мере одного модуля pod, соответствующего каждому приложению плоскости управления.

Чтобы включить PDB, создайте или добавьте в существующий файл параметров JSON следующим образом для каждого нужного модуля pod уровня управления (osmController, injector):

{
  "osm.osm.<control_plane_pod>.enablePodDisruptionBudget" : "true"
}

Теперь установите OSM с пользовательскими значениями.

Установка OSM с помощью диспетчера сертификатов для управления сертификатами

cert-manager — это поставщик, который можно использовать для выдачи подписанных сертификатов в OSM без необходимости хранения закрытых ключей в Kubernetes. Дополнительные сведения см. в документации по диспетчеру сертификатов OSM и демонстрации.

Примечание.

Используйте команды, приведенные в документации по OSM GitHub, с осторожностью. Убедитесь, что в командах используется правильное пространство имен или указано с флагом --osm-namespace arc-osm-system.

Чтобы установить OSM с cert-manager в качестве поставщика сертификатов, создайте или добавьте в существующий файл certificateProvider.kind параметров JSON значение, заданное для диспетчера сертификатов, как показано здесь. Чтобы изменить значения диспетчера сертификатов по умолчанию, указанные в документации OSM, также включите и обновите последующие certmanager.issuer строки.

{
  "osm.osm.certificateProvider.kind" : "cert-manager",
  "osm.osm.certmanager.issuerName" : "<issuer name>",
  "osm.osm.certmanager.issuerKind" : "<issuer kind>",
  "osm.osm.certmanager.issuerGroup" : "<issuer group>"
}

Теперь установите OSM с пользовательскими значениями.

Установка OSM с контуром для входящего трафика

OSM предоставляет несколько параметров для предоставления служб сетки внешним образом с помощью входящего трафика. OSM может использовать контур, который работает с контроллером входящего трафика, установленным за пределами сетки и подготовленным сертификатом для участия в сетке. Дополнительные сведения см. в документации по входящего трафика OSM и демонстрации .

Примечание.

Используйте команды, приведенные в документации по OSM GitHub, с осторожностью. Убедитесь, что в командах используется правильное пространство имен или указано с флагом --osm-namespace arc-osm-system. Чтобы задать необходимые значения для настройки Контура во время установки OSM, добавьте следующее в файл параметров JSON:

{
  "osm.osm.osmNamespace" : "arc-osm-system",
  "osm.contour.enabled" : "true",
  "osm.contour.configInline.tls.envoy-client-certificate.name" : "osm-contour-envoy-client-cert", 
  "osm.contour.configInline.tls.envoy-client-certificate.namespace" : "arc-osm-system"
}

Установка значений во время установки OSM

Все значения, которые необходимо задать во время установки OSM, необходимо сохранить в один JSON-файл и передать через команду установки Azure CLI.

После создания JSON-файла с применимыми значениями, как описано в пользовательских разделах установки, задайте путь к файлу в качестве переменной среды:

export SETTINGS_FILE=<json-file-path>

az k8s-extension create Выполните команду, чтобы создать расширение OSM, передав файл параметров с помощью флага--configuration-settings-file:

az k8s-extension create --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm --configuration-settings-file $SETTINGS_FILE

Установка OSM с поддержкой Azure Arc с помощью шаблона ARM

После подключения кластера к Azure Arc создайте JSON-файл со следующим форматом, чтобы обновить <cluster-name> и <osm-arc-version> значения:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "ConnectedClusterName": {
            "defaultValue": "<cluster-name>",
            "type": "String",
            "metadata": {
                "description": "The Connected Cluster name."
            }
        },
        "ExtensionInstanceName": {
            "defaultValue": "osm",
            "type": "String",
            "metadata": {
                "description": "The extension instance name."
            }
        },
        "ExtensionVersion": {
            "defaultValue": "<osm-arc-version>",
            "type": "String",
            "metadata": {
                "description": "The extension type version."
            }
        },
        "ExtensionType": {
            "defaultValue": "Microsoft.openservicemesh",
            "type": "String",
            "metadata": {
                "description": "The extension type."
            }
        },
        "ReleaseTrain": {
            "defaultValue": "Stable",
            "type": "String",
            "metadata": {
                "description": "The release train."
            }
        }
    },
    "functions": [],
    "resources": [
        {
            "type": "Microsoft.KubernetesConfiguration/extensions",
            "apiVersion": "2020-07-01-preview",
            "name": "[parameters('ExtensionInstanceName')]",
            "properties": {
                "extensionType": "[parameters('ExtensionType')]",
                "releaseTrain": "[parameters('ReleaseTrain')]",
                "version": "[parameters('ExtensionVersion')]"
            },
            "scope": "[concat('Microsoft.Kubernetes/connectedClusters/', parameters('ConnectedClusterName'))]"
        }
    ]
}

Задайте переменные среды:

export TEMPLATE_FILE_NAME=<template-file-path>
export DEPLOYMENT_NAME=<desired-deployment-name>

Выполните следующую команду, чтобы установить расширение OSM:

az deployment group create --name $DEPLOYMENT_NAME --resource-group $RESOURCE_GROUP --template-file $TEMPLATE_FILE_NAME

Теперь вы сможете просматривать ресурсы OSM и использовать расширение OSM в кластере.

Установка OSM с поддержкой Azure Arc с помощью встроенной политики

Встроенная политика доступна в портал Azure в категории Kubernetes: кластеры Kubernetes с поддержкой Azure Arc должны иметь расширение Сетки Open Service Mesh. Эту политику можно назначить в область подписки или группы ресурсов.

Действие по умолчанию этой политики — Deploy, если оно не существует. Однако вы можете проверить кластеры для установки расширений, изменив параметры во время назначения. Вам также будет предложено указать версию, которую вы хотите установить (версии 1.0.0-1 или выше) в качестве параметра.

Проверка установки

Выполните следующую команду.

az k8s-extension show --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name osm

Выходные данные JSON должны выглядеть следующим образом:

{
  "autoUpgradeMinorVersion": true,
  "configurationSettings": {},
  "creationTime": "2021-04-29T19:22:00.7649729+00:00",
  "errorInfo": {
    "code": null,
    "message": null
  },
  "extensionType": "microsoft.openservicemesh",
  "id": "/subscriptions/<subscription-id>/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Kubernetes/connectedClusters/$CLUSTER_NAME/providers/Microsoft.KubernetesConfiguration/extensions/osm",
  "identity": null,
  "installState": "Installed",
  "lastModifiedTime": "2021-04-29T19:22:00.7649731+00:00",
  "lastStatusTime": "2021-04-29T19:23:27.642+00:00",
  "location": null,
  "name": "osm",
  "releaseTrain": "stable",
  "resourceGroup": "$RESOURCE_GROUP",
  "scope": {
    "cluster": {
      "releaseNamespace": "arc-osm-system"
    },
    "namespace": null
  },
  "statuses": [],
  "type": "Microsoft.KubernetesConfiguration/extensions",
  "version": "x.y.z"
}

Дополнительные команды, которые можно использовать для проверки и устранения неполадок развертывания компонентов расширения Open Service Mesh (OSM) в кластере, см . в нашем руководстве по устранению неполадок

Конфигурация контроллера OSM

OSM развертывает ресурс osm-mesh-config MeshConfig как часть своего уровня управления в arc-osm-system пространстве имен. Назначение MeshConfig — предоставить владельцу или оператору сетки возможность обновления отдельных параметров сетки при необходимости. Чтобы просмотреть значения по умолчанию, используйте следующую команду.

kubectl describe meshconfig osm-mesh-config -n arc-osm-system

Выходные данные показывают значения по умолчанию:

  Certificate:
    Cert Key Bit Size:               2048
    Service Cert Validity Duration:  24h
  Feature Flags:
    Enable Async Proxy Service Mapping:  false
    Enable Egress Policy:                true
    Enable Envoy Active Health Checks:   false
    Enable Ingress Backend Policy:       true
    Enable Multicluster Mode:            false
    Enable Retry Policy:                 false
    Enable Snapshot Cache Mode:          false
    Enable WASM Stats:                   true
  Observability:
    Enable Debug Server:  false
    Osm Log Level:        info
    Tracing:
      Enable:  false
  Sidecar:
    Config Resync Interval:            0s
    Enable Privileged Init Container:  false
    Log Level:                         error
    Resources:
  Traffic:
    Enable Egress:                          false
    Enable Permissive Traffic Policy Mode:  true
    Inbound External Authorization:
      Enable:              false
      Failure Mode Allow:  false
      Stat Prefix:         inboundExtAuthz
      Timeout:             1s
    Inbound Port Exclusion List:
    Outbound IP Range Exclusion List:
    Outbound Port Exclusion List:

Дополнительные сведения см. в справочнике по API конфигурации. Обратите внимание, что spec.traffic.enablePermissiveTrafficPolicyMode устанавливается в значение true. Если OSM находится в режиме политики неизрешительного трафика, принудительное применение политики трафика SMI обходится. В этом режиме OSM автоматически обнаруживает службы, которые являются частью сервисной сетки, и программирует правила политики трафика для каждого расширения прокси-сервера Envoy, чтобы иметь возможность взаимодействовать с этими службами.

osm-mesh-configтакже можно просмотреть в портал Azure, выбрав "Изменить конфигурацию" в разделе "Открыть сетку службы" кластера.

Edit configuration button located on top of the Open Service Mesh section

Внесение изменений в конфигурацию контроллера OSM

Примечание.

Значения MeshConfig osm-mesh-config не меняются при обновлениях.

Изменения, внесенные osm-mesh-config с помощью kubectl patch команды. В следующем примере показано, как изменить значение разрешительной политики трафика на "false".

kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enablePermissiveTrafficPolicyMode":false}}}' --type=merge

Если используется неправильное значение, проверки в CRD MeshConfig препятствуют изменению с сообщением об ошибке, объясняя, почему значение недопустимо. Например, эта команда показывает, что происходит, если мы исправим enableEgress значение, отличное от логического значения:

kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enableEgress":"no"}}}'  --type=merge
# Validations on the CRD will deny this change
The MeshConfig "osm-mesh-config" is invalid: spec.traffic.enableEgress: Invalid value: "string": spec.traffic.enableEgress in body must be of type boolean: "string"

Кроме того, чтобы изменить osm-mesh-config портал Azure, выберите "Изменить конфигурацию" в разделе "Открыть сетку службы" кластера.

Edit configuration button in the Open Service Mesh section

Использование OSM с поддержкой Azure Arc

Чтобы приступить к использованию возможностей OSM, сначала необходимо подключить пространства имен приложения к сетке службы. Скачайте ИНТЕРФЕЙС командной строки OSM на странице выпусков OSM GitHub. После добавления пространств имен в сетку можно настроить политики SMI для получения необходимых возможностей OSM.

Подключение пространств имен к сетке службы

Добавьте пространства имен в сетку, выполнив следующую команду.

osm namespace add <namespace_name>

Пространства имен можно подключить из портал Azure, а также щелкнув +Добавить в разделе "Open Service Mesh" кластера.

+Add button located on top of the Open Service Mesh section

Дополнительные сведения о подключении служб см. в документации по Open Service Mesh.

Настройка OSM с помощью политик Service Mesh Interface (SMI)

Вы можете начать с примера приложения или использовать тестовую среду для проверки политик SMI.

Примечание.

Если вы используете примеры приложений, убедитесь, что их версии соответствуют версии расширения OSM, установленного в кластере. Например, если вы используете расширение OSM версии 1.0.0, используйте манифест bookstore из ветви OSM версии 1.0 в репозитории OSM вышестоящий.

Настройка собственных экземпляров Jaeger, Prometheus и Grafana

Расширение OSM не устанавливает такие надстройки, как Jaeger, Prometheus, Grafana и Flagger. Вместо этого можно интегрировать OSM с собственными запущенными экземплярами этих средств. Сведения об интеграции с собственными экземплярами см. в следующей документации:

Примечание.

Используйте команды, приведенные в документации по OSM GitHub, с осторожностью. Убедитесь, что при внесении изменений в нее osm-mesh-configиспользуется правильное имя arc-osm-system пространства имен.

Мониторинг приложений с помощью Azure Monitor и приложений Аналитика (предварительная версия)

Azure Monitor и приложение Azure Аналитика помогают повысить доступность и производительность приложений и служб, предоставляя комплексное решение для сбора, анализа и работы с телеметрией из облачных и локальных сред. Сетка Open Service с поддержкой Azure Arc имеет глубокие интеграции с обеими этими службами Azure. Эта интеграция обеспечивает простой интерфейс Azure для просмотра и реагирования на критически важные ключевые показатели эффективности, предоставляемые метриками OSM.

Важно!

Предварительные версии функций Kubernetes с поддержкой Azure Arc доступны в режиме самообслуживания после получения согласия на участие. Предварительные версии предоставляются "как есть" и "при наличии". На них не распространяются соглашения об уровне обслуживания и ограниченная гарантия. Предварительные версии функций Kubernetes с поддержкой Azure Arc предоставляются с частичной клиентской поддержкой по мере возможности.

Выполните следующие действия, чтобы разрешить Azure Monitor сломать конечные точки Prometheus для сбора метрик приложений.

  1. Следуйте инструкциям, доступным здесь , чтобы убедиться, что пространства имен приложений, которые вы хотите отслеживать, подключены к сетке.

  2. Предоставление конечных точек Prometheus для пространств имен приложений.

    osm metrics enable --namespace <namespace1>
    osm metrics enable --namespace <namespace2>
    
  3. Установите расширение Azure Monitor, используя инструкции, приведенной здесь.

  4. Создайте в пространстве имен kube-system ConfigMap, благодаря которому Azure Monitor сможет отслеживать пространства имен. Например, создайте следующую container-azm-ms-osmconfig.yaml команду для мониторинга <namespace1> и <namespace2>:

    kind: ConfigMap
    apiVersion: v1
    data:
      schema-version: v1
      config-version: ver1
      osm-metric-collection-configuration: |-
        # OSM metric collection settings
        [osm_metric_collection_configuration]
          [osm_metric_collection_configuration.settings]
              # Namespaces to monitor
              monitor_namespaces = ["<namespace1>", "<namespace2>"]
    metadata:
      name: container-azm-ms-osmconfig
      namespace: kube-system
    
  5. Выполните следующую команду kubectl.

    kubectl apply -f container-azm-ms-osmconfig.yaml
    

Может потребоваться до 15 минут, прежде чем метрики появятся в Log Analytics. Вы можете попытаться выполнить запрос к таблице InsightsMetrics.

InsightsMetrics
| where Name contains "envoy"
| extend t=parse_json(Tags)
| where t.app == "namespace1"
  1. Откройте кластер Kubernetes, подключенный к Arc, с помощью этой ссылки.
  2. Перейдите к Azure Monitor и перейдите на вкладку "Отчеты ", чтобы получить доступ к книге OSM.
  3. Выберите диапазон времени и пространство имен для ваших служб.

OSM workbook

Вкладка "Запросы"

На вкладке "Запросы" отображается сводка по всем http-запросам, отправленным через службу в OSM.

  • Вы можете просмотреть все службы, выбрав службу в сетке.
  • Вы можете просматривать все запросы, частоту ошибок запросов и задержку P90.
  • Вы можете детализировать до назначения и просмотреть тенденции для кода ошибки или успешного выполнения HTTP, частоту успешного выполнения, использование ресурсов Pod и задержки в разных процентилях.

Вкладка "Подключения"

На вкладке Подключение ions отображается сводка всех подключений между службами в Сетке Open Service.

  • Исходящие подключения: общее количество подключений между службами источника и назначения.
  • Исходящие активные подключения: последнее число активных подключений между источником и назначением в выбранном диапазоне времени.
  • Исходящие неудачные подключения: общее количество неудачных подключений между исходной и целевой службой.

Обновление до определенной версии OSM

Во время обновления может возникнуть простой плоскости управления в течение некоторого времени. Плоскость данных затрагивается только во время обновления CRD.

Поддерживаемые обновления

Расширение OSM можно обновить вручную между дополнительными и основными версиями. Однако автоматическое обновление (если включено) работает только в дополнительных версиях.

Обновление до определенной версии OSM вручную

Следующая команда обновляет расширение OSM-Arc до определенной версии:

az k8s-extension update --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --release-train stable --name osm --version x.y.z

Включение автоматического обновления

Если автоматическое обновление не включено по умолчанию, выполните следующую команду, чтобы включить их. Текущее значение --auto-upgrade-minor-version можно проверить, выполнив az k8s-extension show команду, как описано на шаге проверки установки .

az k8s-extension update --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --release-train stable --name osm --auto-upgrade-minor-version true

Удаление OSM с поддержкой Azure Arc

Используйте следующую команду:

az k8s-extension delete --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name osm -y

Убедитесь, что экземпляр расширения удален.

az k8s-extension list --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP

Эти выходные данные не должны включать OSM. Если у вас нет других расширений, установленных в кластере, это просто пустой массив.

При удалении az k8s-extension расширения OSM пространство имен не удаляется, а фактические ресурсы в пространстве имен (например, arc-osm-system изменение конфигурации веб-перехватчика и модуля pod osm-controller) занимает около 10 минут.

Примечание.

Используйте CLI az k8s-extension для удаления компонентов OSM, управляемых Arc. Удаление с помощью CLI OSM не поддерживается Arc и может привести к нежелательному результату.

Следующие шаги