Vanliga frågor och svar – Azure Arc-aktiverad Kubernetes och GitOps

Den här artikeln tar upp vanliga frågor om Azure Arc-aktiverade Kubernetes och GitOps.

Vad är skillnaden mellan Azure Arc-aktiverade Kubernetes och Azure Kubernetes Service (AKS)?

AKS är det hanterade Kubernetes-erbjudandet från Azure. AKS förenklar distributionen av ett hanterat Kubernetes-kluster i Azure genom att avlasta mycket av komplexiteten och driftskostnaderna till Azure. Eftersom Kubernetes-originalen hanteras av Azure hanterar och underhåller du bara agentnoderna.

Med Azure Arc-aktiverade Kubernetes kan du utöka Azures hanteringsfunktioner (till exempel Azure Monitor och Azure Policy) genom att ansluta Kubernetes-kluster till Azure. Du underhåller själva det underliggande Kubernetes-klustret.

Behöver jag ansluta mina AKS-kluster som körs i Azure till Azure Arc?

Att ansluta ett Azure Kubernetes Service-kluster (AKS) till Azure Arc krävs bara för att köra Azure Arc-aktiverade tjänster som App Services och Data Services ovanpå klustret. Detta kan göras med hjälp av funktionen anpassade platser i Azure Arc-aktiverade Kubernetes. Det här är en tidsbegränsning för tillfället tills klustertillägg och anpassade platser introduceras internt ovanpå AKS-kluster.

Om du inte vill använda anpassade platser och bara vill använda hanteringsfunktioner som Azure Monitor och Azure Policy (Gatekeeper) är de tillgängliga internt i AKS och anslutning till Azure Arc krävs inte i sådana fall.

Ska jag ansluta mitt AKS-HCI-kluster och Kubernetes-kluster på Azure Stack Edge till Azure Arc?

Ja, om du ansluter ditt AKS-HCI-kluster eller Kubernetes-kluster på Azure Stack Edge till Azure Arc får du kluster med resursrepresentation i Azure Resource Manager. Den här resursrepresentationen utökar funktioner som klusterkonfiguration, Azure Monitor och Azure Policy (Gatekeeper) till anslutna Kubernetes-kluster.

Om Det Azure Arc-aktiverade Kubernetes-klustret finns på Azure Stack Edge, AKS på Azure Stack HCI (>= april 2021-uppdatering) eller AKS på Windows Server 2019 Datacenter (>= april 2021-uppdatering) ingår Kubernetes-konfigurationen utan kostnad.

Hur gör jag för att har Azure Arc-aktiverade Kubernetes-resurser upphört att gälla?

Den systemtilldelade hanterade identiteten som är associerad med ditt Azure Arc-aktiverade Kubernetes-kluster används endast av Azure Arc-agenterna för att kommunicera med Azure Arc-tjänsterna. Certifikatet som är associerat med den här systemtilldelade hanterade identiteten har ett förfallofönster på 90 dagar och agenterna försöker förnya certifikatet mellan dag 46 och dag 90. För att undvika att ditt hanterade identitetscertifikat upphör att gälla måste du se till att klustret är online minst en gång mellan dag 46 och dag 90 så att certifikatet kan förnyas.

Om det hanterade identitetscertifikatet upphör att gälla beaktas Expired resursen och alla Azure Arc-funktioner (till exempel konfiguration, övervakning och princip) slutar fungera i klustret.

Kontrollera när det hanterade identitetscertifikatet upphör att gälla för ett visst kluster genom att köra följande kommando:

az connectedk8s show -n <name> -g <resource-group>

I utdata anger värdet för managedIdentityCertificateExpirationTime det när det hanterade identitetscertifikatet upphör att gälla (90D-markering för certifikatet).

Om värdet managedIdentityCertificateExpirationTime för anger en tidsstämpel från det förflutna anges connectivityStatus fältet i ovanstående utdata till Expired. I sådana fall kan du få kubernetes-klustret att arbeta med Azure Arc igen:

  1. Ta bort Den Azure Arc-aktiverade Kubernetes-resursen och agenterna i klustret.

    az connectedk8s delete -n <name> -g <resource-group>
    
  2. Återskapa Den Azure Arc-aktiverade Kubernetes-resursen genom att distribuera agenter i klustret.

    az connectedk8s connect -n <name> -g <resource-group>
    

Anteckning

az connectedk8s delete tar också bort konfigurationer och klustertillägg ovanpå klustret. När du har kört az connectedk8s connectåterskapar du konfigurationerna och klustertilläggen i klustret, antingen manuellt eller med hjälp av Azure Policy.

Kan jag fortfarande använda Azure Arc-aktiverade Kubernetes- eller AKS- och GitOps-konfigurationer om jag redan använder CI/CD-pipelines?

Ja, du kan fortfarande använda konfigurationer i ett kluster som tar emot distributioner via en CI/CD-pipeline. Jämfört med traditionella CI/CD-pipelines har GitOps-konfigurationer några extra fördelar:

Avstämning av drift

CI/CD-pipelinen tillämpar endast ändringar en gång under pipelinekörningen. GitOps-operatorn i klustret avsöker dock kontinuerligt Git-lagringsplatsen för att hämta önskat tillstånd för Kubernetes-resurser i klustret. Om GitOps-operatorn anser att det önskade tillståndet för resurser skiljer sig från det faktiska tillståndet för resurser i klustret, avstäms den här driften.

Tillämpa GitOps i stor skala

CI/CD-pipelines är användbara för händelsedrivna distributioner till ditt Kubernetes-kluster (till exempel en push-överföring till en Git-lagringsplats). Men om du vill distribuera samma konfiguration till alla kubernetes-kluster måste du manuellt konfigurera varje Kubernetes-klusters autentiseringsuppgifter till CI/CD-pipelinen.

Eftersom Azure Resource Manager hanterar dina GitOps-konfigurationer för Azure Arc-aktiverade Kubernetes kan du automatisera skapandet av samma konfiguration för alla Azure Arc-aktiverade Kubernetes- och AKS-resurser med hjälp av Azure Policy, inom ramen för en prenumeration eller en resursgrupp. Den här funktionen gäller även för Azure Arc-aktiverade Kubernetes- och AKS-resurser som skapats efter principtilldelningen.

Den här funktionen tillämpar baslinjekonfigurationer (till exempel nätverksprinciper, rollbindningar och poddsäkerhetsprinciper) i hela Kubernetes-klusterinventeringen för att uppfylla efterlevnads- och styrningskraven.

Klusterefterlevnad

Efterlevnadstillståndet för varje GitOps-konfiguration rapporteras tillbaka till Azure. På så sätt kan du hålla reda på eventuella misslyckade distributioner.

Lagrar Azure Arc-aktiverade Kubernetes kunddata utanför klustrets region?

Funktionen för att aktivera lagring av kunddata i en enda region är för närvarande endast tillgänglig i regionen Sydostasien (Singapore) i regionen Asia Pacific Geo och Brasilien, södra (Sao Paulo State) i Brasilien Geo. För alla andra regioner lagras kunddata i Geo. Detta gäller för Azure Arc-aktiverade Open Service Mesh- och Azure Key Vault Secrets Provider-tillägg som stöds i Azure Arc-aktiverade Kubernetes. För andra klustertillägg kan du läsa deras dokumentation för att lära dig hur de lagrar kunddata. Mer information finns i Säkerhetscenter.

Nästa steg