Compartilhar via


Open Service Mesh habilitado para o Azure Arc

A OSM (Malha de Serviço Aberta) é uma malha de serviço nativa da nuvem leve e extensível que permite aos usuários gerenciar, proteger e obter recursos de observação inovadores para ambientes de microatendimento altamente dinâmicos.

A 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 próximo a cada instância do seu aplicativo. Leia mais sobre os cenários de malha de serviço habilitados por Malha de Serviço Aberta.

Todos os componentes de OSM habilitado para Azure Arc são implantados em zonas de disponibilidade, conferindo a eles redundância 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 do ARM ou de uma política interna do Azure.

Pré-requisitos

  • Verifique se todos os pré-requisitos comuns para extensões de cluster listados aqui são atendidos.
  • Use a az k8s-extensionversão da extensão da CLI do Azure>= v1.0.4

Limitações de suporte atuais

  • É possível implantar somente uma instância da Malha de Serviço Aberta em um cluster do Kubernetes conectado ao Azure Arc.
  • O suporte está disponível para as duas versões secundárias lançadas mais recentemente do Mesh do Serviço Aberto habilitado para Arc. Encontre a versão mais recente aqui. Versões de lançamento com suporte são acrescentadas com observações. Ignore as marcas associadas a versões intermediárias.
  • As seguintes distribuições do Kubernetes são compatíveis no momento:
    • Mecanismo do AKS (Serviço de Kubernetes do Azure)
    • Clusters do AKS no Azure Stack HCI
    • AKS habilitado pelo Azure Arc
    • API de Cluster do Azure
    • Mecanismo Kubernetes do Google
    • Distribuição Canonical Kubernetes
    • Mecanismo Kubernetes do Rancher
    • Distribuição Kubernetes do OpenShift
    • Amazon Elastic Kubernetes Service
    • Grade Kubernetes do VMware Tanzu
  • A integração do Azure Monitor com o Open Service Mesh habilitado para Azure Arc está disponível em versão prévia com suporte limitado.

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

Para implantar usando o portal do Azure, após conectar um cluster ao Arc, vá para a seção Open Service Mesh.

Abrir a Malha de Serviço localizada em Configurações para o cluster do Kubernetes habilitado para o Arc

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 da CLI capturada abaixo. Para integração em escala, leia mais neste artigo sobre a implantação usando o modelo do ARM e usando o Azure Policy.

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 do Kubernetes com suporte conectada ao Azure Arc. Verifique se a variável de ambiente KUBECONFIG aponta 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 estiver usando um cluster do OpenShift, ignore as etapas de instalação do OpenShift.

Crie a extensão:

Observação

Para fixar uma versão específica de OSM, adicione o sinalizador --version x.y.z ao comando create. Observe que isso definirá o valor de auto-upgrade-minor-version para falso.

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

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

Instalações personalizadas

As seções a seguir descrevem determinadas instalações personalizadas da OSM habilitada para Azure Arc. Instalações personalizadas exigem a configuração de valores de OSM em um arquivo JSON e a passagem deles para o comando da CLI k8s-extension create, conforme descrito abaixo.

Instalar a 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 a 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 demorar de 3 a 5 minutos para que o gráfico helm da OSM real seja implantado no cluster. Até que essa implantação aconteça, installState permanecerá como Pending.

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

Habilitar recursos de alta disponibilidade na instalação

Os componentes do painel de controle da OSM foram projetados com a alta disponibilidade e a tolerância a falhas em mente. Esta seção descreve como habilitar o HPA (Dimensionamento Automático de Pod Horizontal) e o PDB (Orçamento de Interrupção de Pod) durante a instalação. Leia mais sobre as considerações de design de alta disponibilidade da OSM aqui.

HPA (Dimensionamento Automático de Pod Horizontal)

O HPA escala vertical ou horizontalmente de modo automático os pods do painel de controle com base na utilização média da CPU de destino (%) e na utilização média de memória de destino (%) definida pelo usuário. Para habilitar o HPA e definir valores aplicáveis nos pods do painel de controle da OSM durante a instalação, crie ou acrescente o conteúdo abaixo ao arquivo de configurações JSON existente, repetindo os pares chave/valor para cada pod do painel de controle (osmController, injector) em que 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.

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

Para evitar interrupções durante interrupções planejadas, os pods do painel de controle osm-controller e osm-injector têm um PDB que garante que sempre haja, pelo menos, um pod correspondente a cada aplicativo do painel de controle.

Para habilitar o PDB, crie ou acrescente o seguinte ao arquivo de configurações JSON existente para cada pod do painel de controle desejado (osmController, injector):

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

Agora, instale o OSM com valores personalizados.

Instale o OSM com cert-manager para gerenciamento de certificados

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

Observação

Use com atenção os comandos fornecidos na documentação do OSM no GitHub. Verifique se você está usando o namespace correto nos comandos ou especifique com --osm-namespace arc-osm-system.

Para instalar a OSM com o cert-manager como o provedor de certificados, crie ou acrescente ao arquivo de configurações JSON existente o valor certificateProvider.kind definido como cert-manager, conforme mostrado abaixo. Se você quiser alterar os valores padrão do cert-manager especificados na documentação da OSM, também inclua e atualize as linhas certmanager.issuer subsequentes.

{
  "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 Contour para entrada

A OSM fornece várias opções para expor serviços de malha que usam externamente a entrada. A 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. Veja a documentação de entrada da OSM e a demonstração para saber mais.

Observação

Use com atenção os comandos fornecidos na documentação do OSM no GitHub. Verifique se você está usando o namespace correto nos comandos ou especifique com --osm-namespace arc-osm-system. Para definir os valores necessários para configurar o Contour durante a instalação da 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"
}

Como definir valores durante a instalação da OSM

Qualquer valor que precise ser definido durante a instalação da OSM precisa ser salvo em um arquivo JSON individual e transmitido por meio do comando install da CLI do Azure.

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

export SETTINGS_FILE=<json-file-path>

Execute o comando az k8s-extension create para criar a extensão da OSM, passando o arquivo de configurações usando o sinalizador --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

Instalar a OSM habilitada para Azure Arc usando o modelo do ARM

Depois de conectar o cluster ao Azure Arc, crie um arquivo json com o seguinte formato, certificando-se de atualizar os valores <cluster-name> e <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 de OSM:

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

Agora, você pode exibir os recursos da OSM e usar a extensão OSM no cluster.

Instale 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: Kubernetes habilitados para Azure Arc que devem ter a extensão de Malha de Serviço Aberta instalada. Essa política pode ser atribuída no escopo de uma assinatura ou de um grupo de recursos.

A ação padrão dessa política é Implantar se não existir. Mas, você pode escolher simplesmente auditar os clusters para as 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 um parâmetro.

Validar a instalação

Execute o comando a seguir.

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

Você deverá ver uma saída semelhante a esta:

{
  "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 conhecer mais comandos que você pode usar para validar e solucionar problemas de implantação dos componentes de extensão da OSM (Malha de Serviço Aberta) em seu cluster, consulte nosso guia de solução de problemas

Configuração do controlador OSM

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

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 Configure API Reference.. Observe que spec.traffic.enablePermissiveTrafficPolicyMode está definido como true. Quando o OSM estiver no modo de política de tráfego permissivo, a aplicação da política de tráfego, SMI será ignorada. Nesse modo, a OSM descobre automaticamente os serviços que fazem parte das regras de política de tráfego de programas e malha de serviço em cada sidecar de proxy 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.

Botão Editar configuração localizado na parte superior da seção Open Service Mesh

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

Observação

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

Alterações a serem osm-mesh-config 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 MeshConfig CRD 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 aplicarmos patch enableEgress a um valor não booliano:

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 do Open Service Mesh do cluster.

Botão Editar configuração na seção Open Service Mesh

Como usar a OSM habilitada para Azure Arc

Para começar a usar os recursos OSM, primeiro é necessário integrar os namespaces do aplicativo à malha de serviço. Baixe a CLI da OSM da página de versões do GitHub do OSM. Quando os namespaces forem adicionados à malha, será possível configurar as políticas de SMI para atingir a capacidade de OSM desejada.

Carregar os namespaces para a malha de serviço

Adicione namespaces à malha, executando o seguinte comando:

osm namespace add <namespace_name>

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

Botão +Adicionar localizado na parte superior da seção Open Service Mesh

Para obter mais informações sobre serviços de integração, consulte a documentação de Malha de serviço aberta.

Configurar a OSM com políticas de SMI (Interface de Malha de Serviço)

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

Observação

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

Configurar as 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 às suas próprias instâncias em execução dessas ferramentas. Para integrar com suas próprias instâncias, verifique a seguinte documentação:

Observação

Use com atenção os comandos fornecidos na documentação do OSM no GitHub. Verifique se está usando o nome correto do namespace arc-osm-system ao fazer alterações no osm-mesh-config.

Aplicativo de monitoramento usando o Azure Monitor e o Applications Insights (versão prévia)

Tanto o Azure Monitor quanto o Azure Application Insights ajudam você a maximizar a disponibilidade e o desempenho dos aplicativos e serviços, fornecendo uma solução abrangente para coletar, analisar e agir na telemetria de seus ambientes locais e de nuvem. A Malha de Serviço Aberta habilitada 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 por métricas de OSM.

Importante

As versões prévias do recurso Kubernetes habilitadas para o Azure Arc estão disponíveis com base em autoatendimento e aceitação. As versões prévias são fornecidas “no estado em que se encontram” e “conforme disponíveis” e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões prévias do Kubernetes habilitadas para o Azure Arc são parcialmente cobertas pelo suporte ao cliente com base no melhor esforço.

Siga as etapas abaixo para permitir que o Azure Monitor extraia os pontos de extremidade do Prometheus para coletar as métricas de aplicativo.

  1. Siga as diretrizes disponíveis aqui para garantir que os namespaces do aplicativo que você quer monitorar estejam integrados à malha.

  2. Exponha os pontos de extremidade do 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 diretrizes disponíveis aqui.

  4. Crie um ConfigMap no namespace kube-system que permite que o 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 demorar 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 o cluster do Kubernetes conectado ao Arc usando este link.
  2. Vá para o Azure Monitor e navegue até a guia Relatórios para acessar a pasta de trabalho de OSM.
  3. Selecione o intervalo de tempo e o namespace para definir o escopo de seus serviços.

Pasta de trabalho OSM

Guia Solicitações

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

  • Você pode exibir todos os serviços selecionando o serviço na grade.
  • É possível exibir o total de solicitações, a taxa de erro de solicitação e a latência P90.
  • É possível fazer busca detalhada até o destino e exibir as tendências para o código de êxito/erro de HTTP, a taxa de êxito, a utilização de recursos de pod e as latências em diferentes percentis.

Guia Conexões

A guia Conexões fornece um resumo de todas as conexões entre os seus serviços em Malha de Serviço Aberta.

  • Conexões de saída: número total de conexões entre os serviços de origem e destino.
  • Conexões ativas de saída: última contagem de conexões ativas entre a origem e o 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.

Atualize para uma versão específica de OSM

Durante as atualizações poderá haver algum tempo de inatividade do painel de controle. O plano de dados só é afetado durante atualizações de CRD.

Atualizações com suporte

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

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

O comando a seguir atualizará 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

Habilitar as 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. É possível verificar o valor atual de --auto-upgrade-minor-version executando o comando az k8s-extension show conforme detalhado no estágio de Validar instalação.

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

Como desinstalar a OSM habilitada para Azure Arc

Use 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

Essa saída não deve incluir a OSM. Se não houver outras extensões instaladas no cluster, será apenas uma matriz vazia.

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

Observação

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

Próximas etapas