Gyakorlat – Az alkalmazás figyelésének konfigurálása

Befejeződött

A Fruit Smoothies marketingkampányának sikere az értékelési webhely folyamatos teljesítménye. A teljesítmény a fürt teljesítményétől függ, és arra a tényre támaszkodik, hogy figyelheti az alkalmazás különböző összetevőit, megtekintheti a naplókat, és riasztásokat kaphat, ha az alkalmazás leáll vagy annak egyes részei leállnak. Az alkalmazás riasztásainak beállításához kombinálhatja az elérhető eszközöket.

Ebben a gyakorlatban a következőket fogja végrehajtani:

  • Log Analytics-munkaterület létrehozása
  • Az AKS monitorozási bővítmény engedélyezése
  • AKS-eseménynaplók vizsgálata és a fürt állapotának figyelése
  • A Kubernetes RBAC konfigurálása az élő naplóadatok engedélyezéséhez
  • Élő tárolónaplók és AKS-események megtekintése

Log Analytics-munkaterület létrehozása

A tárolókhoz készült Azure Monitor egy Azure Kubernetes Service-hez használható átfogó monitorozási megoldás. Ez a megoldás összegyűjti a vezérlőkből, csomópontokból és tárolókból származó memória- és processzormetrikákat, ezáltal áttekinthetővé teszi a fürt teljesítményét.

Az AKS-fürtből és az alkalmazásokból származó monitorozási adatokat, eseményeket és metrikákat az Azure Monitorban elérhető Log Analytics szolgáltatással fogja tárolni. Elsőként létrehozza előzetesen a Log Analytics-munkaterületet a saját kijelölt helyi erőforráscsoportján belül.

  1. A munkaterületnek egyedi névvel kell rendelkeznie. A Cloud Shell futtassa a következő parancsot az aksworkshop-workspace-12345-nek megfelelő név létrehozásához.

    WORKSPACE=aksworkshop-workspace-$RANDOM
    
  2. A az resource create parancs használatával hozza létre a munkaterületet ugyanabban az erőforráscsoportban és régióban, ahol az Azure Kubernetes Service (AKS) fürt van. Például aksworkshop az USA keleti régiójában.

    az resource create --resource-type Microsoft.OperationalInsights/workspaces \
            --name $WORKSPACE \
            --resource-group $RESOURCE_GROUP \
            --location $REGION_NAME \
            --properties '{}' -o table
    

Az AKS monitorozási bővítmény engedélyezése

Ha elkészült a munkaterület, integrálhatja az Azure Monitor bővítményt, és engedélyezheti a tárolófigyelést az AKS-fürtön.

  1. A bővítmény engedélyezéséhez szüksége lesz a munkaterület erőforrás-azonosítójára. Futtassa a következő parancsot a bővítmény lekéréséhez és a munkaterület azonosítójának egy WORKSPACE_ID nevű Bash változóban való tárolásához.

    WORKSPACE_ID=$(az resource show --resource-type Microsoft.OperationalInsights/workspaces \
        --resource-group $RESOURCE_GROUP \
        --name $WORKSPACE \
        --query "id" -o tsv)
    
  2. Ezután engedélyezze a figyelési bővítményt az az aks enable-addons parancs futtatásával.

    az aks enable-addons \
        --resource-group $RESOURCE_GROUP \
        --name $AKS_CLUSTER_NAME \
        --addons monitoring \
        --workspace-resource-id $WORKSPACE_ID
    

    Megjegyzés

    Az újonnan létrehozott fürtök monitorozási adatfolyamának beállítása időt vehet idénybe. Várjon legalább 5–10 percet, amíg megjelennek a fürthöz tartozó adatok.

AKS-eseménynaplók vizsgálata és a fürt állapotának figyelése

A fürtre vonatkozó kihasználtsági jelentéseket és diagramokat az Azure Portalon, az Azure Monitor használatával tekintheti meg. Az Azure Monitor átfogó képet ad az előfizetésekben és az erőforráscsoportokban üzembe helyezett összes tárolóról. Innen nyomon követheti a monitorozott tárolókat és a nem monitorozott tárolókat. Az egyes tárolók statisztikáit egyesével is megvizsgálhatja.

Tekintsük meg a fürt csomópontjainak és podjainak állapotát részletesen bemutató áttekintéshez szükséges lépéseket.

  1. Jelentkezzen be az Azure Portalra.

  2. A portál kezdőlapján válassza a További szolgáltatások lehetőséget.

  3. A bal oldali menüpanelen válassza a Figyelás lehetőséget, majd a lehetőségek gyűjteményéből válassza a Figyelás lehetőséget. A Monitor | Megjelenik az Áttekintés panel.

  4. A bal oldali menüpanelen, a Elemzések alatt válassza a Tárolók lehetőséget az összes olyan fürt listájának a listájához, amelyekhez hozzáféréssel rendelkezik.

  5. A panel tetején válassza a Figyelt fürtök és a Nem figyelt fürtök lapot a fürt kihasználtságának ellenőrzéséhez. Figyelje meg, hogy ez is részletes nézet, amely a fürtöt, a csomópontokat, a vezérlőket és a tárolókat is megjeleníti.

    Képernyőkép a fürt terhelés alatti kihasználtságának jelentéséről.

  6. Figyelje meg az Állapot állapotot a fürt AKS-infrastruktúraszolgáltatásai állapotának megtekintéséhez.

  7. Figyelje meg a Csomópontok állapotot a csomópontok állapotának megtekintéséhez a fürtben.

  8. Figyelje meg, hogy a felhasználói podok és a rendszerpodok állapota is látható a fürt csomópontjainak állapotának megtekintéséhez.

A Kubernetes RBAC konfigurálása az élő naplóadatok engedélyezéséhez

A fürt állapotának részletes áttekintésén kívül az egyes tárolók élő naplózási adatait is megtekintheti.

Ahhoz, hogy az ügynököt bekapcsolhassa, és beállíthassa az adatgyűjtést biztosító engedélyeit, először hozzon létre egy szerepkört, amelynek hozzáférése van a pod naplóihoz és eseményeihez. Ezután a RoleBinding használatával oszthatja ki a felhasználói engedélyeket.

Mi az a szerepköralapú hozzáférés-vezérlés (RBAC)?

A Kubernetes szerepköralapú hozzáférés-vezérlésével (RBAC) szabályozhatja az erőforrásokhoz való hozzáférést a szervezet egyéni felhasználóinak szerepkörei alapján. A RBAC-hitelesítés kapcsolódó útvonalakat használ a Kubernetes API-ban, így lehetővé téve a szabályzatok dinamikus konfigurálását. Az RBAC API négy Kubernetes-objektumot definiál:

  • Role
  • ClusterRole
  • RoleBinding
  • ClusterRoleBinding

Mi az a Role a Kubernetes szolgáltatásban?

Az RBAC Role és ClusterRole objektumaival engedélyeket képviselő szabályokat állíthat be. A szerepkör és a ClusterRole közötti fő különbség az, hogy a szerepkört egy adott névtér erőforrásaihoz használják, a ClusterRole szerepkört pedig a fürt nem névtér-erőforrásaihoz. A gyakorlat egy későbbi szakaszában megtudhatja, hogyan definiálhat egy ClusterRole objektumot.

Mi az a RoleBinding a Kubernetes szolgáltatásban?

A szerepkörkötéssel szerepkörben definiált engedélyeket adhatunk egy vagy több felhasználónak. A szerepkörkötés tartalmazza a felhasználók, csoportok vagy szolgáltatásfiókok listáját, valamint a megadott szerepkört. A Role és ClusterRole objektumhoz hasonlóan a RoleBinding egy adott névtéren belül ad engedélyt, a ClusterRoleBinding pedig a fürthöz nyújt hozzáférést. A ClusterRole objektumot egy ClusterRoleBinding objektummal kötheti a fürt összes névteréhez.

Ebben a gyakorlatban olyan ClusterRole szerepköröket és ClusterRoleBinding szerepkörkötéseket állít be, amelyek nem korlátozódnak egy adott névtérre. A CusterRole szerepköröket úgy konfigurálhatja, hogy az egyes névterekben megadott névtérbeli erőforrásokra vagy az összes névtérre vonatkozóan definiál engedélyeket. A CusterRole szerepkörök fürthatókörű erőforrásokra vonatkozó engedélyek leírására is használhatók. Ezután a ClusterRoleBinding szerepkörkötésekkel adhat engedélyeket a teljes fürtre vonatkozóan.

  1. Hozzon létre egy logreader-rbac.yaml nevű fájlt az integrált szerkesztővel a Cloud Shellben.

    code logreader-rbac.yaml
    
  2. Illessze a fájlba a következő szöveget.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
        name: containerHealth-log-reader
    rules:
    - apiGroups: ["", "metrics.k8s.io", "extensions", "apps"]
      resources:
      - "pods/log"
      - "events"
      - "nodes"
      - "pods"
      - "deployments"
      - "replicasets"
      verbs: ["get", "list"]
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
        name: containerHealth-read-logs-global
    roleRef:
        kind: ClusterRole
        name: containerHealth-log-reader
        apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: User
      name: clusterUser
      apiGroup: rbac.authorization.k8s.io
    
  3. A fájl mentéshez nyomja le a Ctrl+S billentyűkombinációt. A szerkesztőt a Ctrl+Q billentyűkombinációval zárja be.

  4. Alkalmazza a konfigurációt az parancs kubectl apply futtatásával.

    kubectl apply \
        -f logreader-rbac.yaml
    

Élő tárolónaplók és AKS-események megtekintése

  1. Lépjen vissza az AKS-fürthöz az Azure Portalon.

  2. A bal oldali menüpanelen, az Elemzések alatt válassza a Elemzések lehetőséget. Megjelenik Elemzések Központ panel.

  3. A Számítás alatt válassza a Tárolók lehetőséget, majd válasszon ki egy tárolót az élő naplók vagy eseménynaplók megtekintéséhez. Válassza például a ratings-api tárolót. Az új nézet lehetővé teszi a tároló állapotának hibakeresését.

Összefoglalás

Ebben a gyakorlatban létrehozott egy Log Analytics-munkaterületet az Azure Monitorban, amellyel az AKS-fürt figyelési és naplózási adatait tárolta. Engedélyezte az AKS-figyelési bővítményt, amellyel adatokat gyűjthet, és megvizsgálta az AKS-fürt állapotát. Ez után a Kubernetes RBAC segítségével engedélyezte az élő naplózási adatok gyűjtését, majd megtekintette ezeket az adatokat az Azure Portalon.

A következőkben a Fruit Smoothies AKS-fürt skálázásával foglalkozunk.