Megosztás a következőn keresztül:


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:

Ú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

  1. 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
    
  2. Hozza létre a fő fájlt és a paraméterfájlt.

    touch osm.aks.bicep && touch osm.aks.parameters.json
    
  3. 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: {}
          }
        }
      }
    }
    
  4. 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és adminUsername. A régióban támogatott Kubernetes-verziók listájának megkereséséhez használja a az 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

  1. Nyisson meg egy terminált, és a paranccsal hitelesítse az Azure CLI-hez tartozó Azure-fiókját az login .

  2. 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

  1. 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'
    
  2. 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álva true. 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ítsa true 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

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.