Az Open Service Mesh bővítmény üzembe helyezése a Bicep használatával az Azure Kubernetes Service-ben (AKS)
Ez a cikk bemutatja, hogyan helyezheti üzembe az Open Service Mesh (OSM) bővítményt az Azure Kubernetes Service-ben (AKS) egy Bicep-sablon használatával.
Feljegyzés
Az Open Service Mesh (OSM) a Cloud Native Computing Foundation (CNCF) általi kivonásával javasoljuk, hogy azonosítsa az OSM-konfigurációkat, és migrálja őket egy egyenértékű Istio-konfigurációba. Az OSM-ről Az Istio-ba való migrálásról további információt az Open Service Mesh (OSM) konfigurációinak Áttelepítési útmutatója az Istio-ba című témakörben talál.
Fontos
A fürt kubernetes-verziójától függően az OSM bővítmény az OSM egy másik verzióját telepíti.
Kubernetes-verzió | Telepített OSM-verzió |
---|---|
1.24.0 vagy újabb | 1.2.5 |
1.23.5 és 1.24.0 között | 1.1.3 |
1.23.5 alatt | 1.0.0 |
Előfordulhat, hogy az OSM régebbi verziói nem telepíthetők vagy aktívan támogatottak, ha a megfelelő AKS-verzió elérte az élettartamát. Az AKS Kubernetes kiadási naptárában tájékozódhat az AKS-verzió támogatási ablakáról.
A Bicep egy tartományspecifikus nyelv, amely deklaratív szintaxist használ az Azure-erőforrások üzembe helyezéséhez. A Bicep használatával Azure Resource Manager-sablonokat hozhat létre az infrastruktúra kódként való üzembe helyezéséhez.
Mielőtt elkezdené
Mielőtt hozzákezdene, győződjön meg arról, hogy a következő előfeltételek teljesülnek:
- Az Azure CLI 2.20.0-s vagy újabb verziója. A verzió azonosításához futtassa a következőt:
az --version
. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése. - Az AKS üzembe helyezéséhez használt nyilvános SSH-kulcs. További információ: SSH-kulcsok létrehozása az Azure CLI használatával.
- Visual Studio Code Bash-terminállal.
- A Visual Studio Code Bicep bővítmény.
Új AKS-fürt OSM-bővítményének telepítése a Bicep használatával
Új AKS-fürt üzembe helyezéséhez engedélyeznie kell az OSM bővítményt a fürt létrehozásakor. Az alábbi utasítások egy általános Bicep-sablont használnak, amely rövid élettartamú lemezekkel és a kubenet
tároló hálózati adapterével üzembe helyez egy AKS-fürtöt, majd engedélyezi az OSM-bővítményt. A fejlettebb üzembe helyezési forgatókönyvekért lásd : Mi a Bicep?
Erőforráscsoport létrehozása
Hozzon létre egy erőforráscsoportot a
az group create
paranccsal.az group create --name <my-osm-bicep-aks-cluster-rg> --location <azure-region>
A bicep-fájlok fő és paramétereinek létrehozása
Hozzon létre egy könyvtárat a szükséges Bicep-telepítési fájlok tárolásához. Az alábbi példa létrehoz egy bicep-osm-aks-addon nevű könyvtárat, és módosítja a könyvtárat:
mkdir bicep-osm-aks-addon cd bicep-osm-aks-addon
Hozza létre a fő fájlt és a paraméterfájlt.
touch osm.aks.bicep && touch osm.aks.parameters.json
Nyissa meg az osm.aks.bicep fájlt, és másolja a következő tartalomba:
// 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: {} } } } }
Nyissa meg a osm.aks.parameters.json fájlt, és másolja a következő tartalomba. Győződjön meg arról, hogy az üzembehelyezési paraméter értékeit a saját értékeire cseréli.
Feljegyzés
A osm.aks.parameters.json fájl egy példasablonparaméter-fájl, amely a Bicep üzembe helyezéséhez szükséges. Frissítse a paramétereket kifejezetten az üzembehelyezési környezethez. A következő paraméterekhez kell értékeket hozzáadnia:
clusterName
,clusterDNSPrefix
,k8Version
,sshPubKey
,location
ésadminUsername
. A régióban támogatott Kubernetes-verziók listájának megkereséséhez használja aaz aks get-versions --location <region>
parancsot.{ "$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>" } } }
A Bicep-fájlok üzembe helyezése
Nyisson meg egy terminált, és a paranccsal hitelesítse az Azure CLI-hez tartozó Azure-fiókját
az login
.Telepítse a Bicep-fájlokat a
az deployment group create
paranccsal.az deployment group create \ --name OSMBicepDeployment \ --resource-group osm-bicep-test \ --template-file osm.aks.bicep \ --parameters @osm.aks.parameters.json
Az OSM-bővítmény telepítésének ellenőrzése
A telepített bővítmények engedélyezett állapotának ellenőrzéséhez kérdezze le a fürt bővítményprofiljait. A következő parancsnak kell visszaadnia
true
:az aks list -g <my-osm-aks-cluster-rg> -o json | jq -r '.[].addonProfiles.openServiceMesh.enabled'
Kérje le az ozm-vezérlő állapotát az alábbi
kubectl
parancsokkal.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
Az OSM bővítmény konfigurációjának elérése
Az OSM-vezérlőt az OSM MeshConfig erőforrással konfigurálhatja, az OSM-vezérlő konfigurációs beállításait pedig az Azure CLI használatával tekintheti meg.
Tekintse meg az OSM-vezérlő konfigurációs beállításait a
kubectl get
paranccsal.kubectl get meshconfig osm-mesh-config -n kube-system -o yaml
Íme egy példa a MeshConfig kimenetére:
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
Figyelje meg, hogy a
enablePermissiveTrafficPolicyMode
beállítás erre van konfigurálvatrue
. Az OSM-ben a megengedő forgalomszabályzat-mód áthalad az SMI forgalomszabályzat-kényszerítésén. Ebben a módban az OSM automatikusan felderíti a szolgáltatásháló részét képező szolgáltatásokat. A felderített szolgáltatások minden egyes megbízott proxyoldali oldalkocsijára vonatkozóan forgalomszabályzatokat fognak használni, hogy lehetővé tegyék a szolgáltatások közötti kommunikációt.Figyelmeztetés
Mielőtt továbblép, ellenőrizze, hogy a megengedő forgalomszabályzat üzemmódja be van-e állítva
true
. Ha nem, módosítsatrue
a következő parancsra:kubectl patch meshconfig osm-mesh-config -n kube-system -p '{"spec":{"traffic":{"enablePermissiveTrafficPolicyMode":true}}}' --type=merge
Az erőforrások eltávolítása
Ha már nincs szüksége az Azure-erőforrásokra, törölje az üzembe helyezés teszterőforrás-csoportját a
az group delete
paranccsal.az group delete --name osm-bicep-test
Másik lehetőségként eltávolíthatja az OSM bővítményt és a kapcsolódó erőforrásokat a fürtből. További információ: Az Open Service Mesh bővítmény eltávolítása az AKS-fürtből.
Következő lépések
Ez a cikk bemutatta, hogyan telepítheti az OSM bővítményt egy AKS-fürtre, és ellenőrizheti, hogy telepítve van-e és fut-e. Ha az OSM-bővítmény telepítve van a fürtön, üzembe helyezhet egy mintaalkalmazást, vagy egy meglévő alkalmazást is előkészíthet az OSM-háló használatához.
Azure Kubernetes Service