Plattformsautomatisering och DevOps för AKS

Som en molnbaserad konstruktion kräver Kubernetes en molnbaserad metod för distribution och drift. Azure och Kubernetes är öppna och utökningsbara plattformar med omfattande och väldefinierade API:er, vilket ger möjlighet och möjlighet att automatisera till fullo. Planera för en DevOps- och mycket automatiserad metod genom att förlita dig på automatisering och allmänna Rekommenderade DevOps-metoder.

Utformningsbeaktanden

Här följer några designöverväganden för AKS-plattformsautomatisering och DevOps:

  • Överväg begränsningarna för Azure-tjänsten och din ci/CD-miljö (kontinuerlig integrering och kontinuerlig leverans) när du bestämmer din teknik- och automatiseringsmetod. Ett annat exempel finns i användningsbegränsningarna för GitHub.

  • När du skyddar och skyddar åtkomsten till utvecklings-, test-, Q&A- och produktionsmiljöer bör du överväga säkerhetsalternativ ur ett CI/CD-perspektiv. Distributioner sker automatiskt, så mappa åtkomstkontroll i enlighet med detta.

  • Överväg att använda prefix och suffix med väldefinierade konventioner för att unikt identifiera varje distribuerad resurs. Dessa namngivningskonventioner undviker konflikter när det gäller att distribuera lösningar bredvid varandra och förbättra teamets övergripande flexibilitet och dataflöde.

  • Inventera arbetsflödena för att stödja utveckling, uppdatering och distribution av din lösning i normala drp-system (Disaster Recovery Plan). Överväg att mappa pipelines enligt dessa arbetsflöden, vilket maximerar förtrogenhet och produktivitet.

    Några exempelscenarier och pipelines att tänka på är:

    • Distribuera, korrigera och uppgradera kluster
    • Distribuera och uppgradera program
    • Distribuera och underhålla tillägg
    • Rederiberedskap för haveriberedskap
    • Blågröna distributioner
    • Underhålla kanariemiljöer
  • Överväg att använda ett tjänstnät för att lägga till fler säkerhets-, krypterings- och loggfunktioner i dina arbetsbelastningar.

  • Överväg att distribuera andra resurser som prenumerationer, taggning och etiketter för att stödja din DevOps-upplevelse genom att spåra distributioner och relaterade artefakter.

  • Överväg effekten av nötkreatur kontra husdjur paradigmskifte. Förvänta dig att poddar och andra aspekter av Kubernetes är tillfälliga och justerar din automatiserings- och pipelineinfrastruktur i enlighet med detta. Förlita dig inte på att IP-adresser eller andra resurser ska vara fasta eller permanenta.

Designrekommendationer

Här följer några designrekommendationer för AKS-plattformsautomatisering och DevOps:

  • Förlita dig på pipelines eller åtgärder för att:

    • Maximera tillämpade metoder i hela teamet.
    • Ta bort mycket av bördan att återuppfinna hjulet.
    • Ge förutsägbarhet och insikter i övergripande kvalitet och flexibilitet.
  • Distribuera tidigt och ofta med hjälp av utlösarbaserade och schemalagda pipelines. Utlösarbaserade pipelines säkerställer att ändringarna genomgår korrekt validering, medan schemalagda pipelines hanterar beteende i föränderliga miljöer.

  • Separera infrastrukturdistributionen från programdistributionen. Kärninfrastrukturen ändras mindre än program. Behandla varje typ av distribution som ett separat flöde och en pipeline.

  • Distribuera med hjälp av molnbaserade alternativ. Använd infrastruktur som kod för att distribuera infrastruktur, inklusive kontrollplanet, och använd Helm och operatörsmönstret i Kubernetes för att distribuera och underhålla kubernetes-inbyggda komponenter.

  • Använd GitOps för att distribuera och underhålla program. GitOps använder Git-lagringsplatsen som en enda sanningskälla, vilket undviker konfigurationsavvikelser och ökar produktiviteten och tillförlitligheten under återställningar och relaterade procedurer.

  • Använd poddhanterade identiteter och Azure Key Vault-providern för Secrets Store CSI-drivrutinen för att skydda hemligheter, certifikat och anslutningssträng.

  • Sträva efter att maximera distributionens samtidighet genom att undvika hårdkodade konfigurationsobjekt och inställningar.

  • Förlita dig på välkända konventioner för infrastruktur- och programrelaterade distributioner. Använd antagningskontrollanter i kombination med Azure Policy-tillägget för Kubernetes för att verifiera och tillämpa konventioner mellan de andra definierade principerna.

  • Omfamna skift vänster konsekvent med:

    • Säkerhet genom att lägga till verktyg för sårbarhetsgenomsökning som containergenomsökning tidigt i pipelinen.
    • Princip, genom att använda principen som kod och tillämpa principer på ett molnbaserat sätt via antagningskontrollanter.
  • Behandla varje fel, fel eller avbrott som en möjlighet att automatisera och förbättra den övergripande lösningskvaliteten. Integrera den här metoden i ditt SRE-ramverk (Shift Left And Site Reliability Engineering).