Kontrollera efterlevnadsstatus med Azure Policy

Slutförd

I föregående avsnitt såg du hur Azure-principer kan användas för att enkelt styra klustret med hjälp av en inbyggd princip och ett inbyggt initiativ. Vi noterade också att policyn inte avslutar redan befintliga poddar. Vi vill identifiera icke-kompatibla poddar så att vi kan vidta åtgärder mot dem. I den här övningen gör vi just det.

Notera

Den här övningen är valfri. Om du vill slutföra den här övningen måste du skapa en Azure-prenumeration innan du börjar. Om du inte har något Azure-konto eller om du inte vill skapa ett för tillfället kan du läsa igenom anvisningarna så att du förstår den information som visas.

Använda Azure-portalen för att se icke-kompatibla poddar

  1. Gå till sidan Policy i Azure-portalen.

  2. Längst upp kan du ange omfånget till klusterresursgruppen genom att klicka på .... Välj den prenumeration och resursgrupp där AKS-klustret (Azure Kubernetes Service) finns och välj Välj längst ned på sidan.

    skärmbild som visar hur du anger omfånget för vilka principer du är intresserad av att visa.

    Notera

    Det kan ta några minuter innan de icke-kompatibla modulerna visas i portalen.

    Här ser vi att vi har icke-kompatibla resurser för både policyn och initiativet som vi distribuerade. Resurserna är inte kompatibla med tre av principerna från Kubernetes-klusterpoddens säkerhetsbegränsade standarder för Linux-baserade arbetsbelastningar för videogamerg initiativ. Om du väljer det initiativet visas vilka av de åtta principerna som är de tre som inte är kompatibla.

    skärmbild som visar de principer som resurserna inte är kompatibla med.

  3. Välj Policyn för Kubernetes-kluster är att containrar endast ska använda tillåtna avbilder. Du ser klustret som har den inkompatibla podden i sig

  4. Välj klustret för att få mer information om vilken podd som inte är kompatibel. Här visas namnet på den specifika podd som inte är kompatibel. Du ser att det bara är den första podden som har distribuerats som inte är kompatibel. Du kan se att visa dessa principsidor är ett effektivt sätt att granska efterlevnadsstatusen för klustret.

    skärmbild som visar att endast den första podden som distribuerades inte var kompatibel.

Ta bort den inkompatibla podden och kontrollera efterlevnaden igen

Nu när vi har hittat podden som inte är kompatibel kan vi gå vidare och ta bort podden. När podden har tagits bort förhindrar principen att framtida poddar som inte är kompatibla med den distribueras. Kubernetes-klusterpoddens begränsade säkerhetsstandarder för Linux-baserade arbetsbelastningar för videospel--initiativet har inställts på granskning, vilket innebär att vi kan identifiera poddar som inte är kompatibla, men utan att hindra att poddarna distribueras. Att få våra poddar att följa det initiativet ligger utanför ramen för den här kursen, så här fokuserar vi på att åtgärda den policy som vi har angett för att få effekt av deny.

Öppna Cloud Shell igen och ta bort den inkompatibla distributionen.

kubectl delete deployment simple-nginx

Det kan ta upp till 45 minuter innan ändringarna reflekteras i portalen. När du har väntat, återvänd till policyn för att se om det fortfarande finns några icke-kompatibla poddar under den. Du märker att klustret nu är i överensstämmelse med principen.

skärmbild som visar att resursen nu är kompatibel.

Sammanfattning

I den här lektionen har du lärt dig hur du använder Azure-portalen för att identifiera poddar som inte är kompatibla med dina principer. Sedan gick du vidare och tog bort en podd som inte var kompatibel med någon av principerna. Du har också lärt dig hur du felsöker dina distributioner och identifierar poddar som inte distribueras på grund av en neka-princip. Du har lärt dig hur du använder Azure-portalen för att se inkompatibla resurser och vilka principer de inte är kompatibla med. Du har också löst ett av problemen genom att ta bort den okomprifierade podd som du först skapade. Nu när du vet hur du lägger till och testar en princip och ett initiativ kan du gå igenom de andra inbyggda principerna för Kubernetes för att hitta dem som passar dina affärsbehov.