Nasazení doplňku Open Service Mesh pomocí Bicep ve službě Azure Kubernetes Service (AKS)
V tomto článku se dozvíte, jak nasadit doplněk Open Service Mesh (OSM) do služby Azure Kubernetes Service (AKS) pomocí šablony Bicep .
Poznámka:
Při vyřazení open service mesh (OSM) od základu CLOUD Native Computing Foundation (CNCF) doporučujeme identifikovat konfigurace OSM a migrovat je na ekvivalentní konfiguraci Istio. Informace o migraci z OSM na Istio najdete v pokynech k migraci konfigurací Open Service Mesh (OSM) do Istio.
Důležité
Na základě verze Kubernetes, na které je cluster spuštěný, nainstaluje doplněk OSM jinou verzi OSM.
Verze Kubernetes | Nainstalovaná verze OSM |
---|---|
1.24.0 nebo vyšší | 1.2.5 |
Mezi 1.23.5 a 1.24.0 | 1.1.3 |
Nižší než 1,23.5 | 1.0.0 |
Starší verze OSM nemusí být k dispozici pro instalaci nebo se aktivně podporují, pokud odpovídající verze AKS dosáhla konce životnosti. Informace o windows podpory verzí AKS najdete v kalendáři verze AKS Kubernetes.
Bicep je jazyk specifický pro doménu, který k nasazení prostředků Azure používá deklarativní syntaxi. Místo vytváření šablon Azure Resource Manageru můžete použít Bicep k nasazení prostředků Azure infrastruktury jako kódu.
Než začnete
Než začnete, ujistěte se, že máte splněné následující požadavky:
- Azure CLI verze 2.20.0 nebo novější. Verzi zjistíte spuštěním příkazu
az --version
. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI. - Veřejný klíč SSH používaný k nasazení AKS. Další informace najdete v tématu Vytvoření klíčů SSH pomocí Azure CLI.
- Visual Studio Code s terminálem Bash.
- Rozšíření Visual Studio Code Bicep
Instalace doplňku OSM pro nový cluster AKS pomocí Bicep
Pro nasazení nového clusteru AKS povolíte doplněk OSM při vytváření clusteru. Následující pokyny používají obecnou šablonu Bicep, která nasadí cluster AKS pomocí dočasných disků a síťového kubenet
rozhraní kontejneru a potom povolí doplněk OSM. Pokročilejší scénáře nasazení najdete v tématu Co je Bicep?
Vytvoření skupiny zdrojů
Pomocí příkazu vytvořte skupinu
az group create
prostředků.az group create --name <my-osm-bicep-aks-cluster-rg> --location <azure-region>
Vytvoření hlavních souborů a parametrů Bicep
Vytvořte adresář pro uložení potřebných souborů nasazení Bicep. Následující příklad vytvoří adresář s názvem bicep-osm-aks-addon a změní adresář:
mkdir bicep-osm-aks-addon cd bicep-osm-aks-addon
Vytvořte hlavní soubor a soubor parametrů.
touch osm.aks.bicep && touch osm.aks.parameters.json
Otevřete soubor osm.aks.bicep a zkopírujte následující obsah:
// https://learn.microsoft.com/azure/aks/troubleshooting#what-naming-restrictions-are-enforced-for-aks-resources-and-parameters @minLength(3) @maxLength(63) @description('Provide a name for the AKS cluster. The only allowed characters are letters, numbers, dashes, and underscore. The first and last character must be a letter or a number.') param clusterName string @minLength(3) @maxLength(54) @description('Provide a name for the AKS dnsPrefix. Valid characters include alphanumeric values and hyphens (-). The dnsPrefix can\'t include special characters such as a period (.)') param clusterDNSPrefix string param k8Version string param sshPubKey string param location string param adminUsername string resource aksCluster 'Microsoft.ContainerService/managedClusters@2021-03-01' = { name: clusterName location: location identity: { type: 'SystemAssigned' } properties: { kubernetesVersion: k8Version dnsPrefix: clusterDNSPrefix enableRBAC: true agentPoolProfiles: [ { name: 'agentpool' count: 3 vmSize: 'Standard_DS2_v2' osDiskSizeGB: 30 osDiskType: 'Ephemeral' osType: 'Linux' mode: 'System' } ] linuxProfile: { adminUsername: adminUserName ssh: { publicKeys: [ { keyData: sshPubKey } ] } } addonProfiles: { openServiceMesh: { enabled: true config: {} } } } }
Otevřete soubor osm.aks.parameters.json a zkopírujte následující obsah. Nezapomeňte nahradit hodnoty parametrů nasazení vlastními hodnotami.
Poznámka:
Soubor osm.aks.parameters.json je ukázkový soubor parametrů šablony potřebný pro nasazení Bicep. Aktualizujte parametry speciálně pro vaše prostředí nasazení. Mezi parametry, které potřebujete přidat, patří:
clusterName
,clusterDNSPrefix
,k8Version
,sshPubKey
,location
aadminUsername
. K vyhledání seznamu podporovaných verzí Kubernetes ve vaší oblasti použijteaz aks get-versions --location <region>
příkaz.{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "clusterName": { "value": "<YOUR CLUSTER NAME HERE>" }, "clusterDNSPrefix": { "value": "<YOUR CLUSTER DNS PREFIX HERE>" }, "k8Version": { "value": "<YOUR SUPPORTED KUBERNETES VERSION HERE>" }, "sshPubKey": { "value": "<YOUR SSH KEY HERE>" }, "location": { "value": "<YOUR AZURE REGION HERE>" }, "adminUsername": { "value": "<YOUR ADMIN USERNAME HERE>" } } }
Nasazení souborů Bicep
Pomocí příkazu otevřete terminál a ověřte ho
az login
ve svém účtu Azure pro Azure CLI.Pomocí příkazu nasaďte soubory
az deployment group create
Bicep.az deployment group create \ --name OSMBicepDeployment \ --resource-group osm-bicep-test \ --template-file osm.aks.bicep \ --parameters @osm.aks.parameters.json
Ověření instalace doplňku OSM
Zadejte dotaz na profily doplňků clusteru a zkontrolujte povolený stav nainstalovaných doplňků. Následující příkaz by měl vrátit
true
:az aks list -g <my-osm-aks-cluster-rg> -o json | jq -r '.[].addonProfiles.openServiceMesh.enabled'
Pomocí následujících
kubectl
příkazů získejte stav osm kontroleru.kubectl get deployments -n kube-system --selector app=osm-controller kubectl get pods -n kube-system --selector app=osm-controller kubectl get services -n kube-system --selector app=osm-controller
Přístup ke konfiguraci doplňku OSM
Řadič OSM můžete nakonfigurovat pomocí prostředku OSM MeshConfig a pomocí Azure CLI můžete zobrazit nastavení konfigurace kontroleru OSM.
Pomocí příkazu zobrazte nastavení
kubectl get
konfigurace kontroleru OSM.kubectl get meshconfig osm-mesh-config -n kube-system -o yaml
Tady je příklad výstupu MeshConfig:
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
Všimněte si, že
enablePermissiveTrafficPolicyMode
je nakonfigurováno natrue
. Režim zásad provozu v OSM obchází vynucení zásad provozu SMI . V tomto režimu osm automaticky zjišťuje služby, které jsou součástí sítě služeb. Zjištěné služby budou mít pravidla zásad provozu naprogramovaná na každém proxy sajdkáře envoy, která umožní komunikaci mezi těmito službami.Upozorňující
Než budete pokračovat, ověřte, že je režim zásad provozu pro uživatele nastavený na
true
hodnotu . Pokud není, změňte ho natrue
následující příkaz:kubectl patch meshconfig osm-mesh-config -n kube-system -p '{"spec":{"traffic":{"enablePermissiveTrafficPolicyMode":true}}}' --type=merge
Vyčištění prostředků
Pokud už prostředky Azure nepotřebujete, pomocí příkazu odstraňte testovací skupinu
az group delete
prostředků nasazení.az group delete --name osm-bicep-test
Alternativně můžete z clusteru odinstalovat doplněk OSM a související prostředky. Další informace najdete v tématu Odinstalace doplňku Open Service Mesh z clusteru AKS.
Další kroky
Tento článek vám ukázal, jak nainstalovat doplněk OSM do clusteru AKS a ověřit, že je nainstalovaný a spuštěný. S nainstalovaným doplňkem OSM ve vašem clusteru můžete nasadit ukázkovou aplikaci nebo připojit existující aplikaci pro práci se sítí OSM.
Azure Kubernetes Service