Instalar o complemento Open Service Mesh (OSM) usando a CLI do Azure
Este artigo mostra como instalar o complemento Open Service Mesh (OSM) em um cluster do Serviço Kubernetes do Azure (AKS). O complemento OSM instala a malha OSM no 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, consulte Open Service Mesh.
Nota
Com a desativação do Open Service Mesh (OSM) pela Cloud Native Computing Foundation (CNCF), recomendamos identificar suas configurações OSM e migrá-las para uma configuração Istio equivalente. Para obter informações sobre como migrar do OSM para o Istio, consulte Diretrizes de migração para configurações do Open Service Mesh (OSM) 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 do 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 ser ativamente suportadas se a versão correspondente do AKS tiver chegado ao fim da vida útil. Você pode verificar o calendário de lançamento do Kubernetes do AKS para obter informações sobre as janelas de suporte da versão do AKS.
Pré-requisitos
- Uma subscrição do Azure. Se não tiver uma subscrição do Azure, pode criar uma conta gratuita.
- A CLI do Azure instalada.
Instalar o complemento OSM no cluster
Se você ainda não tiver um, crie um grupo de recursos do Azure usando o
az group create
comando.az group create --name myResourceGroup --location eastus
Crie um novo cluster AKS com o complemento OSM instalado usando o
az aks create
comando e especifiqueopen-service-mesh
para o--enable-addons
parâmetro.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-addons open-service-mesh \ --generate-ssh-keys
Importante
Não poderá ativar o suplemento do OSM num cluster existente se uma malha OSM já estiver no cluster. Desinstale todas as malhas OSM existentes no cluster antes de ativar o suplemento do OSM.
Ao instalar em clusters existentes, use o az aks enable-addons
comando. O código seguinte 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 para o seu cluster AKS usando o
az aks get-credentials
comando.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Verifique se o complemento OSM está instalado no cluster
Verifique se o complemento OSM está instalado no cluster usando o
az aks show
comando com e especifique'addonProfiles.openServiceMesh.enabled'
para o--query
parâmetro. Na saída, emaddonProfiles
, oenabled
valor deve ser mostrado comotrue
paraopenServiceMesh
.az aks show --resource-group myResourceGroup --name myAKSCluster --query 'addonProfiles.openServiceMesh.enabled'
Verifique se a malha do OSM está em execução no cluster
Verifique a versão, o status e a configuração da malha OSM em execução no cluster usando o
kubectl get deployment
comando e exiba a versão da imagem da implantação do controlador osm.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 versão 0.11.1 da malha OSM:
mcr.microsoft.com/oss/openservicemesh/osm-controller:v0.11.1
Verifique o status dos componentes OSM em execução no cluster usando os comandos a seguir
kubectl
para mostrar o status dasapp.kubernetes.io/name=openservicemesh.io
implantações, pods e serviços.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 tiver um status diferente de
Running
, comoPending
, seu cluster pode não ter recursos suficientes para executar o OSM. Analise o dimensionamento do cluster, como o número de nós e a SKU da máquina virtual, antes de continuar a usar o OSM no cluster.Verifique a configuração da malha OSM usando o
kubectl get meshconfig
comando.kubectl get meshconfig osm-mesh-config -n kube-system -o yaml
O exemplo de saída a seguir mostra a configuração de uma malha 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
A saída de exemplo mostra
enablePermissiveTrafficPolicyMode: true
, o que significa que o OSM tem o modo de política de tráfego permissivo ativado. Com este modo ativado na sua malha OSM:- A aplicação da política de tráfego SMI é ignorada.
- O OSM descobre automaticamente os serviços que fazem parte da malha de serviços.
- O OSM cria regras de política de tráfego em cada sidecar proxy do Envoy para poder se comunicar com esses serviços.
Excluir o cluster
Quando não precisar mais do cluster, você poderá excluí-lo usando o
az group delete
comando, que remove o grupo de recursos, o cluster e todos os recursos relacionados.az group delete --name myResourceGroup --yes --no-wait
Nota
Como alternativa, você pode desinstalar o complemento OSM e os recursos relacionados do cluster. Para obter mais informações, consulte Desinstalar o complemento Open Service Mesh do cluster AKS.
Próximos passos
Este artigo mostrou como instalar o complemento OSM em um cluster AKS e verificar se ele está instalado e em execução. Com o complemento OSM instalado em seu cluster, você pode implantar um aplicativo de exemplo ou integrar um aplicativo existente para trabalhar com sua malha OSM.
Azure Kubernetes Service