Instalar o complemento da OSM (Malha de Serviço Aberta) usando a CLI do Azure
Este artigo mostra como instalar o complemento Malha de Serviço Aberta (OSM) em um cluster do Serviço Azure Kubernetes (AKS). O complemento do OSM instala a malha OSM no seu cluster. A malha OSM é uma malha de serviço que fornece gerenciamento de tráfego, imposição de políticas e coleta de telemetria para seus aplicativos. Para obter mais informações sobre a malha OSM, confira Malha de Serviço Aberta.
Observação
Com a desativação do Open Service Mesh (OSM) pela Cloud Native Computing Foundation (CNCF), recomendamos identificar suas configurações de OSM e migrá-las para uma configuração equivalente do Istio. Para obter informações sobre como migrar do OSM para o Istio, consulte Diretrizes de migração para configurações do OSM (Open Service Mesh) para o Istio.
Importante
Com base na versão do Kubernetes que seu cluster está executando, o complemento OSM instala uma versão diferente do OSM.
Versão do Kubernetes | Versão OSM instalada |
---|---|
1.24.0 ou superior | 1.2.5 |
Entre 1.23.5 e 1.24.0 | 1.1.3 |
Abaixo de 1.23.5 | 1.0.0 |
As versões mais antigas do OSM podem não estar disponíveis para instalação ou não ter suporte ativo se a versão correspondente do AKS tiver atingido o fim da vida útil. Você pode verificar o calendário de versões do Kubernetes do AKS para obter informações sobre as janelas de suporte da versão do AKS.
Pré-requisitos
- Uma assinatura do Azure. Caso não tenha uma assinatura do Azure, é possível criar uma conta gratuita.
- A CLI do Azure instalada.
Instalar o complemento do OSM no cluster do AKS
Se você ainda não tiver um, crie um grupo de recursos do Azure utilizando o comando
az group create
.az group create --name myResourceGroup --location eastus
Crie um novo cluster do AKS com o complemento OSM instalado usando o comando
az aks create
e especifiqueopen-service-mesh
para o parâmetro--enable-addons
.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-addons open-service-mesh \ --generate-ssh-keys
Importante
Não será possível habilitar o complemento da OSM em um cluster existente, se uma malha OSM já estiver no cluster. Desinstale as malhas OSM existentes no cluster antes de habilitar o complemento da OSM.
Ao instalar em um cluster existente, utilize o comando az aks enable-addons
. O código a seguir mostra um exemplo:
az aks enable-addons \
--resource-group myResourceGroup \
--name myAKSCluster \
--addons open-service-mesh
Obter as credenciais para o cluster
Obtenha as credenciais do cluster do AKS usando o comando
az aks get-credentials
.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Verifique se o complemento da OSM está instalado no cluster
Verifique se o complemento OSM está instalado no seu cluster usando o comando
az aks show
e especificando'addonProfiles.openServiceMesh.enabled'
para o parâmetro--query
. Na saída, abaixo deaddonProfiles
, o valorenabled
deve ser exibido comotrue
paraopenServiceMesh
.az aks show --resource-group myResourceGroup --name myAKSCluster --query 'addonProfiles.openServiceMesh.enabled'
Verifique se a malha OSM está em execução no cluster
Verifique a versão, o status e a configuração da malha OSM em execução no seu cluster usando o comando
kubectl get deployment
e exiba a versão da imagem da implantação do osm-controller.kubectl get deployment -n kube-system osm-controller -o=jsonpath='{$.spec.template.spec.containers[:1].image}'
A saída de exemplo a seguir mostra a 0.11.1 da malha OSM:
mcr.microsoft.com/oss/openservicemesh/osm-controller:v0.11.1
Verifique o status dos componentes do OSM em execução em seu cluster usando os seguintes comandos
kubectl
para mostrar o status das implantações, pods e serviçosapp.kubernetes.io/name=openservicemesh.io
.kubectl get deployments -n kube-system --selector app.kubernetes.io/name=openservicemesh.io kubectl get pods -n kube-system --selector app.kubernetes.io/name=openservicemesh.io kubectl get services -n kube-system --selector app.kubernetes.io/name=openservicemesh.io
Importante
Se algum pod tem um status diferente de
Running
, comoPending
, o cluster pode não ter recursos suficientes para executar o OSM. Revise o dimensionamento do cluster, como o número de nós e o SKU da máquina virtual, antes de continuar usando o OSM no cluster.Verifique a configuração da sua malha OSM usando o comando
kubectl get meshconfig
.kubectl get meshconfig osm-mesh-config -n kube-system -o yaml
O seguinte exemplo de saída mostra a configuração de uma malha do OSM:
apiVersion: config.openservicemesh.io/v1alpha1 kind: MeshConfig metadata: creationTimestamp: "0000-00-00A00:00:00A" generation: 1 name: osm-mesh-config namespace: kube-system resourceVersion: "2494" uid: 6c4d67f3-c241-4aeb-bf4f-b029b08faa31 spec: certificate: serviceCertValidityDuration: 24h featureFlags: enableEgressPolicy: true enableMulticlusterMode: false enableWASMStats: true observability: enableDebugServer: true osmLogLevel: info tracing: address: jaeger.osm-system.svc.cluster.local enable: false endpoint: /api/v2/spans port: 9411 sidecar: configResyncInterval: 0s enablePrivilegedInitContainer: false envoyImage: mcr.microsoft.com/oss/envoyproxy/envoy:v1.18.3 initContainerImage: mcr.microsoft.com/oss/openservicemesh/init:v0.9.1 logLevel: error maxDataPlaneConnections: 0 resources: {} traffic: enableEgress: true enablePermissiveTrafficPolicyMode: true inboundExternalAuthorization: enable: false failureModeAllow: false statPrefix: inboundExtAuthz timeout: 1s useHTTPSIngress: false
O exemplo de saída mostra
enablePermissiveTrafficPolicyMode: true
, o que significa que o OSM tem o modo de política de tráfego permissivo habilitado. Com este modo habilitado na malha do OSM:- A aplicação da política de tráfego do SMI é ignorada.
- A OSM descobre automaticamente os serviços que fazem parte da malha de serviço.
- A OSM cria regras de política de tráfego em cada sidecar de proxy do Envoy para se comunicar com esses serviços.
Excluir o cluster
Quando você não precisa mais do cluster, você pode excluí-lo usando o comando
az group delete
, que remove o grupo de recursos, o cluster e todos os recursos relacionados.az group delete --name myResourceGroup --yes --no-wait
Observação
Como alternativa, você pode desinstalar o complemento da OSM e os recursos relacionados do cluster. Para obter mais informações, confira Desinstalar o complemento do Open Service Mesh do cluster do AKS.
Próximas etapas
Este artigo mostrou como instalar o complemento OSM em um cluster do AKS e verificar se ele está instalado e em execução. Com o complemento do OSM instalado no cluster, você pode implantar um aplicativo de exemplo ou integrar um aplicativo existente para trabalhar com a malha do OSM.
Azure Kubernetes Service