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" кластера.

Откройте сетку службы, расположенную в разделе

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

Кроме того, здесь можно использовать интерфейс командной строки. Дополнительные сведения о развертывании с помощью шаблона 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, выбрав "Изменить конфигурацию" в разделе "Открыть сетку службы" кластера.

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

Внесение изменений в конфигурацию контроллера 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, выберите "Изменить конфигурацию" в разделе "Открыть сетку службы" кластера.

Кнопка

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

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

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

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

osm namespace add <namespace_name>

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

+Добавить кнопку, расположенную в верхней части раздела

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

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

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

Примечание.

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

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

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

Примечание.

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

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

Azure Monitor и приложение Azure Insights помогают повысить доступность и производительность приложений и служб, предоставляя комплексное решение для сбора, анализа и работы с телеметрией из облачных и локальных сред. Сетка 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

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

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

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

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

На вкладке "Подключения" отображается сводка всех подключений между службами в сетке 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 и может привести к нежелательному результату.

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