Azure Arc-enabled Open Service Mesh

O Open Service Mesh (OSM) é uma malha de serviço leve, extensível e nativa da nuvem que permite aos usuários gerenciar, proteger e obter recursos de observabilidade prontos para uso uniformemente em ambientes de microsserviços altamente dinâmicos.

O OSM executa um plano de controle baseado em Envoy no Kubernetes, pode ser configurado com APIs SMI e funciona injetando um proxy Envoy como um contêiner sidecar ao lado de cada instância do seu aplicativo. Leia mais sobre os cenários de malha de serviço habilitados pelo Open Service Mesh.

Todos os componentes do OSM habilitado para Azure Arc são implantados em zonas de disponibilidade, tornando-os redundantes de zona.

Opções e requisitos de instalação

O Open Service Mesh habilitado para Azure Arc pode ser implantado por meio do portal do Azure, da CLI do Azure, de um modelo ARM ou de uma política interna do Azure.

Pré-requisitos

  • Confirme que cumpriu com todos os pré-requisitos comuns das extensões do cluster listadas aqui.
  • Usar az k8s-extension a versão >da extensão CLI = v1.0.4

Limitações de suporte atuais

  • Apenas uma instância do Open Service Mesh pode ser implantada em um cluster Kubernetes conectado ao Azure Arc.
  • O suporte está disponível para as duas versões secundárias lançadas mais recentemente do Open Service Mesh habilitado para Arc. Encontre a versão mais recente aqui. As versões de lançamento suportadas são acrescentadas com notas. Ignore as tags associadas às versões intermediárias.
  • As seguintes distribuições Kubernetes são suportadas atualmente:
    • Motor AKS (Azure Kubernetes Service)
    • Clusters AKS no Azure Stack HCI
    • AKS habilitado pelo Azure Arc
    • Cluster API Azure
    • Motor Kubernetes do Google
    • Distribuição canônica do Kubernetes
    • Rancher Kubernetes Engine
    • Distribuição OpenShift Kubernetes
    • Serviço Amazon Elastic Kubernetes
    • VMware Tanzu Kubernetes Grid
  • A integração do Azure Monitor com o Open Service Mesh habilitado para Azure Arc está disponível em visualização com suporte limitado.

Instalação básica usando o portal do Azure

Para implantar usando o portal do Azure, depois de ter um cluster conectado ao Arc, vá para a seção Open Service Mesh do cluster.

Open Service Mesh located under Settings for Arc enabled Kubernetes cluster

Selecione o botão Instalar extensão para implantar a versão mais recente da extensão .

Como alternativa, você pode usar a experiência CLI capturada aqui. Para integração em escala, leia mais neste artigo sobre a implantação usando o modelo ARM e usando a Política do Azure.

Instalação básica usando a CLI do Azure

As etapas a seguir pressupõem que você já tenha um cluster com uma distribuição Kubernetes suportada conectada ao Azure Arc. Certifique-se de que sua variável de ambiente KUBECONFIG aponte para o kubeconfig do cluster Kubernetes habilitado para Arc.

Defina as variáveis de ambiente:

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

Se você estiver usando um cluster OpenShift, pule para as etapas de instalação do OpenShift.

Crie a extensão:

Nota

Para fixar uma versão específica do OSM, adicione o --version x.y.zcreate sinalizador ao comando. Observe que isso definirá o valor para auto-upgrade-minor-version como false.

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

Você deve ver uma saída semelhante a este exemplo. Pode levar de 3 a 5 minutos para que o gráfico de leme OSM real seja implantado no cluster. Até que essa implantação aconteça, installState permanecerá 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"
}

Em seguida, valide sua instalação.

Instalações personalizadas

As seções a seguir descrevem determinadas instalações personalizadas do OSM habilitado para Azure Arc. Instalações personalizadas exigem a configuração de valores de OSM em um arquivo JSON e passá-los para o k8s-extension create comando CLI.

Instalar o OSM em um cluster OpenShift

  1. Copie e salve o conteúdo a seguir em um arquivo JSON. Se você já criou um arquivo de definições de configuração, adicione a seguinte linha ao arquivo existente para preservar as alterações anteriores.

    {
        "osm.osm.enablePrivilegedInitContainer": "true"
    }
    
  2. Instale o OSM com valores personalizados.

  3. Adicione a restrição de contexto de segurança privilegiada a cada conta de serviço para os aplicativos na malha.

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

Pode levar de 3 a 5 minutos para que o gráfico de leme OSM real seja implantado no cluster. Até que essa implantação aconteça, installState permanecerá Pending.

Para garantir que a configuração de contêiner de inicialização privilegiada não reverta para o padrão, passe a "osm.osm.enablePrivilegedInitContainer" : "true" configuração para todos os comandos subsequentes az k8s-extension create .

Ativar recursos de alta disponibilidade na instalação

Os componentes do plano de controle do OSM são construídos com alta disponibilidade e tolerância a falhas em mente. Esta seção descreve como habilitar o Horizontal Pod Autoscaling (HPA) e o Pod Disruption Budget (PDB) durante a instalação. Leia mais sobre as considerações de design da Alta Disponibilidade no OSM.

Dimensionamento automático horizontal de pods (HPA)

A HPA aumenta ou reduz automaticamente os pods do plano de controle com base na utilização média da CPU de destino (%) e na utilização média da memória de destino (%) definidas pelo usuário. Para habilitar o HPA e definir valores aplicáveis em pods de plano de controle OSM durante a instalação, crie ou anexe ao arquivo de configurações JSON existente, conforme mostrado aqui, repetindo os pares chave/valor para cada pod de plano de controle (osmController, injector) no qual você deseja habilitar o 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>"
}

Agora, instale o OSM com valores personalizados.

Orçamento de Interrupção de Pod (PDB)

Para evitar interrupções durante interrupções planejadas, controle pods de osm-controller avião e osm-injector tenha um PDB que garanta que sempre haja pelo menos um pod correspondente a cada aplicação de plano de controle.

Para habilitar o PDB, crie ou anexe ao seu arquivo de configurações JSON existente da seguinte forma para cada pod de plano de controle desejado (osmController, injector):

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

Agora, instale o OSM com valores personalizados.

Instalar o OSM com cert-manager para gerenciamento de certificados

cert-manager é um provedor que pode ser usado para emitir certificados assinados para OSM sem a necessidade de armazenar chaves privadas no Kubernetes. Consulte a documentação e a demonstração do cert-manager do OSM para saber mais.

Nota

Use os comandos fornecidos na documentação do GitHub do OSM com cuidado. Certifique-se de usar o namespace correto em comandos ou especifique com flag --osm-namespace arc-osm-system.

Para instalar o OSM com cert-manager como provedor de certificados, crie ou anexe ao arquivo de configurações JSON existente o certificateProvider.kind valor definido como cert-manager, conforme mostrado aqui. Para alterar os valores padrão do cert-manager especificados na documentação do OSM, inclua e atualize também as linhas subsequentes 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>"
}

Agora, instale o OSM com valores personalizados.

Instale o OSM com o Contour para ingresso

O OSM fornece várias opções para expor serviços de malha externamente usando a entrada. O OSM pode usar o Contour, que funciona com o controlador de entrada instalado fora da malha e provisionado com um certificado para participar da malha. Consulte a documentação de ingresso e a demonstração do OSM para saber mais.

Nota

Use os comandos fornecidos na documentação do GitHub do OSM com cuidado. Certifique-se de usar o namespace correto em comandos ou especifique com flag --osm-namespace arc-osm-system. Para definir os valores necessários para configurar o Contour durante a instalação do OSM, acrescente o seguinte ao arquivo de configurações 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"
}

Definindo valores durante a instalação do OSM

Todos os valores que precisam ser definidos durante a instalação do OSM precisam ser salvos em um único arquivo JSON e passados pelo comando de instalação da CLI do Azure.

Depois de criar um arquivo JSON com valores aplicáveis, conforme descrito nas seções de instalação personalizada, defina o caminho do arquivo como uma variável de ambiente:

export SETTINGS_FILE=<json-file-path>

Execute o comando para criar a extensão OSM, passando o arquivo de configurações usando o az k8s-extension create--configuration-settings-file sinalizador:

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

Instalar o OSM habilitado para Azure Arc usando o modelo ARM

Depois de conectar seu cluster ao Azure Arc, crie um arquivo JSON com o seguinte formato, certificando-se de atualizar os <cluster-name> valores and <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'))]"
        }
    ]
}

Defina as variáveis de ambiente:

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

Execute este comando para instalar a extensão OSM:

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

Agora você deve ser capaz de visualizar os recursos do OSM e usar a extensão OSM em seu cluster.

Instalar o OSM habilitado para Azure Arc usando a política interna

Uma política interna está disponível no portal do Azure na categoria Kubernetes: clusters Kubernetes habilitados para Azure Arc devem ter a extensão Open Service Mesh instalada. Essa política pode ser atribuída no escopo de uma assinatura ou de um grupo de recursos.

A ação padrão desta política é Implantar, se não existir. No entanto, você pode optar por auditar os clusters para instalações de extensão alterando os parâmetros durante a atribuição. Você também será solicitado a especificar a versão que deseja instalar (v1.0.0-1 ou superior) como parâmetro.

Validar instalação

Execute o seguinte comando.

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

Você deve ver uma saída JSON semelhante a:

{
  "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"
}

Para obter mais comandos que você pode usar para validar e solucionar problemas de implantação dos componentes de extensão Open Service Mesh (OSM) em seu cluster, consulte nosso guia de solução de problemas

Configuração do controlador OSM

O OSM implanta um recurso osm-mesh-config MeshConfig como parte de seu plano de controle no arc-osm-system namespace. O objetivo deste MeshConfig é fornecer ao proprietário/operador de malha a capacidade de atualizar algumas das configurações de malha com base em suas necessidades. Para exibir os valores padrão, use o seguinte comando.

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

A saída mostra os valores padrão:

  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:

Para obter mais informações, consulte a referência da API de configuração. Observe que spec.traffic.enablePermissiveTrafficPolicyMode está definido como true. Quando o OSM está no modo de política de tráfego permissivo, a imposição da política de tráfego SMI é ignorada. Nesse modo, o OSM descobre automaticamente os serviços que fazem parte da malha de serviços e programa as regras de política de tráfego em cada sidecar de proxy do Envoy para poder se comunicar com esses serviços.

osm-mesh-config também pode ser visualizado no portal do Azure selecionando Editar configuração na seção Open Service Mesh do cluster.

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

Fazendo alterações na configuração do controlador OSM

Nota

Os valores no MeshConfig osm-mesh-config são mantidos entre as atualizações.

Alterações podem osm-mesh-config ser feitas usando o kubectl patch comando. No exemplo a seguir, o modo de política de tráfego permissivo é alterado para false.

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

Se um valor incorreto for usado, as validações no CRD MeshConfig impedirão a alteração com uma mensagem de erro explicando por que o valor é inválido. Por exemplo, este comando mostra o que acontece se corrigirmos enableEgress para um valor não booleano:

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"

Como alternativa, para editar osm-mesh-config no portal do Azure, selecione Editar configuração na seção Open Service Mesh do cluster.

Edit configuration button in the Open Service Mesh section

Usando o OSM habilitado para Azure Arc

Para começar a usar os recursos do OSM, você precisa primeiro integrar os namespaces do aplicativo à malha de serviço. Baixe a CLI do OSM na página de versões do GitHub do OSM. Depois que os namespaces forem adicionados à malha, você poderá configurar as políticas SMI para obter o recurso OSM desejado.

Namespaces integrados à malha de serviço

Adicione namespaces à malha executando o seguinte comando:

osm namespace add <namespace_name>

Os namespaces também podem ser integrados no portal do Azure selecionando +Adicionar na seção Open Service Mesh do cluster.

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

Para obter mais informações sobre serviços de integração, consulte a documentação do Open Service Mesh.

Configurar o OSM com políticas de Service Mesh Interface (SMI)

Você pode começar com um aplicativo de exemplo ou usar seu ambiente de teste para experimentar políticas SMI.

Nota

Se você usar aplicativos de exemplo, verifique se suas versões correspondem à versão da extensão OSM instalada no cluster. Por exemplo, se você estiver usando a v1.0.0 da extensão OSM, use o manifesto da livraria da ramificação release-v1.0 do repositório upstream do OSM.

Configurando suas próprias instâncias Jaeger, Prometheus e Grafana

A extensão OSM não instala complementos como Jaeger, Prometheus, Grafana e Flagger. Em vez disso, você pode integrar o OSM com suas próprias instâncias em execução dessas ferramentas. Para integrar com suas próprias instâncias, consulte a seguinte documentação:

Nota

Use os comandos fornecidos na documentação do GitHub do OSM com cuidado. Certifique-se de usar o nome arc-osm-system de namespace correto ao fazer alterações no osm-mesh-config.

Aplicativo de monitoramento usando o Azure Monitor e o Applications Insights (visualização)

O Azure Monitor e o Azure Application Insights ajudam-no a maximizar a disponibilidade e o desempenho das suas aplicações e serviços, fornecendo uma solução abrangente para recolher, analisar e atuar na telemetria a partir dos seus ambientes na nuvem e no local. O Open Service Mesh habilitado para Azure Arc tem integrações profundas em ambos os serviços do Azure. Essa integração fornece uma experiência perfeita do Azure para exibir e responder a KPIs críticos fornecidos pelas métricas do OSM.

Importante

Os recursos de visualização do Kubernetes habilitados para o Azure Arc estão disponíveis em uma base de autoatendimento e aceitação. As visualizações prévias são fornecidas "como estão" e "conforme disponíveis" e são excluídas dos contratos de nível de serviço e da garantia limitada. As visualizações do Kubernetes habilitadas para o Azure Arc são parcialmente cobertas pelo suporte ao cliente com base no melhor esforço.

Siga estas etapas para permitir que o Azure Monitor raspe pontos de extremidade do Prometheus para coletar métricas de aplicativos.

  1. Siga as orientações disponíveis aqui para garantir que os namespaces de aplicativo que você deseja monitorar estejam integrados à malha.

  2. Exponha os pontos de extremidade Prometheus para namespaces de aplicativos.

    osm metrics enable --namespace <namespace1>
    osm metrics enable --namespace <namespace2>
    
  3. Instale a extensão do Azure Monitor usando as orientações disponíveis aqui.

  4. Crie um Configmap no namespace que permite que o kube-system Azure Monitor monitore seus namespaces. Por exemplo, crie um container-azm-ms-osmconfig.yaml com o seguinte para monitorar <namespace1> e <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. Execute o seguinte comando kubectl

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

Pode levar até 15 minutos para que as métricas apareçam no Log Analytics. Você pode tentar consultar a tabela InsightsMetrics.

InsightsMetrics
| where Name contains "envoy"
| extend t=parse_json(Tags)
| where t.app == "namespace1"
  1. Acesse seu cluster Kubernetes conectado ao Arc usando este link.
  2. Vá para Azure Monitor e navegue até a guia Relatórios para acessar a pasta de trabalho OSM.
  3. Selecione o intervalo de tempo & namespace para definir o escopo de seus serviços.

OSM workbook

Guia Solicitações

A guia Solicitações mostra um resumo de todas as solicitações http enviadas via serviço para serviço no OSM.

  • Você pode visualizar todos os serviços selecionando o serviço na grade.
  • Você pode visualizar o total de solicitações, taxa de erro de solicitação ou latência P90.
  • Você pode detalhar o destino e visualizar tendências para código de erro/sucesso HTTP, taxa de sucesso, utilização de recursos de pod e latências em percentis diferentes.

Separador Ligações

A guia Conexões mostra um resumo de todas as conexões entre seus serviços no Open Service Mesh.

  • Conexões de saída: número total de conexões entre os serviços de origem e de destino.
  • Conexões ativas de saída: última contagem de conexões ativas entre origem e destino no intervalo de tempo selecionado.
  • Conexões com falha de saída: número total de conexões com falha entre o serviço de origem e de destino.

Atualizar para uma versão específica do OSM

Pode haver algum tempo de inatividade do avião de controle durante as atualizações. O plano de dados só é afetado durante as atualizações CRD.

Atualizações suportadas

A extensão OSM pode ser atualizada manualmente em versões secundárias e principais. No entanto, a atualização automática (se ativada) só funciona em versões secundárias.

Atualizar para uma versão específica do OSM manualmente

O comando a seguir atualiza a extensão OSM-Arc para uma versão específica:

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

Ativar atualizações automáticas

Se as atualizações automáticas não estiverem habilitadas por padrão, o comando a seguir poderá ser executado para habilitá-las. O valor atual de pode ser verificado executando o az k8s-extension show comando conforme detalhado na etapa de --auto-upgrade-minor-version instalação Validar.

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

Desinstalar o OSM habilitado para Azure Arc

Utilize o seguinte comando:

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

Verifique se a instância de extensão foi excluída:

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

Esta saída não deve incluir OSM. Se você não tiver outras extensões instaladas no cluster, será apenas uma matriz vazia.

Quando você usa o comando para excluir a extensão OSM, o az k8s-extensionarc-osm-system namespace não é removido e os recursos reais dentro do namespace (como configuração mutante do webhook e pod osm-controller) levam cerca de 10 minutos para serem excluídos.

Nota

Use a CLI az k8s-extension para desinstalar componentes OSM gerenciados pelo Arc. O uso da CLI do OSM para desinstalar não é suportado pelo Arc e pode resultar em um comportamento indesejável.

Próximos passos