Delen via


Platformautomatisering en DevOps voor AKS

Als cloudeigen constructie vereist Kubernetes een cloudeigen benadering voor implementatie en bewerkingen. Azure en Kubernetes zijn open en uitbreidbare platforms met uitgebreide en goed ontworpen API's, waardoor u de mogelijkheid en mogelijkheid biedt om volledig te automatiseren. Plan een DevOps en een zeer geautomatiseerde benadering door te vertrouwen op automatisering en algemene Best practices voor DevOps.

Ontwerpoverwegingen

Hier volgen enkele ontwerpoverwegingen voor AKS-platformautomatisering en DevOps:

  • Houd rekening met de beperkingen van de Azure-service en uw CI/CD-omgeving (continue integratie en continue levering) bij het bepalen van uw engineering- en automatiseringsbenadering. Zie voor een ander voorbeeld de beperkingen van het GitHub-gebruik.

  • Wanneer u de toegang tot ontwikkel-, test-, Q&A- en productieomgevingen beveiligt en beveiligt, kunt u vanuit ci/CD-perspectief beveiligingsopties overwegen. Implementaties worden automatisch uitgevoerd, dus kaarttoegangsbeheer dienovereenkomstig.

  • Overweeg het gebruik van voor- en achtervoegsels met goed gedefinieerde conventies om elke geïmplementeerde resource uniek te identificeren. Deze naamconventies voorkomen conflicten bij het implementeren van oplossingen naast elkaar en verbeteren de algehele flexibiliteit en doorvoer van het team.

  • Inventariseer de werkstromen ter ondersteuning van engineering, het bijwerken en implementeren van uw oplossing in normale en DRP-schema's (Disaster Recovery Plan). Overweeg pijplijnen toe te passen op basis van deze werkstromen, waardoor u vertrouwdheid en productiviteit kunt maximaliseren.

    Enkele voorbeeldscenario's en pijplijnen die u moet overwegen, zijn:

    • Clusters implementeren, patchen en upgraden
    • Toepassingen implementeren en upgraden
    • Invoegtoepassingen implementeren en onderhouden
    • Failover voor herstel na noodgevallen
    • Blauw-groene implementaties
    • Canary-omgevingen onderhouden
  • Overweeg om een service-mesh te gebruiken om meer mogelijkheden voor beveiliging, versleuteling en logboeken toe te voegen aan uw workloads.

  • Overweeg om andere resources te implementeren, zoals abonnementen, taggen en labels ter ondersteuning van uw DevOps-ervaring door implementaties en gerelateerde artefacten bij te houden en te traceren.

  • Houd rekening met de impact van het vee versus de paradigmaverschuiving van huisdieren . Verwacht dat pods en andere aspecten van Kubernetes kortstondig zijn en dat uw automatisering en pijplijninfrastructuur dienovereenkomstig worden afgestemd. Vertrouw niet op IP-adressen of andere resources om vast of permanent te zijn.

Ontwerpaanaanvelingen

Hier volgen enkele ontwerpaanvelingen voor automatisering van AKS-platformen en DevOps:

  • Afhankelijk van pijplijnen of acties voor:

    • Gemaximaliseerde toegepaste procedures binnen het team.
    • Verwijder veel van de last van het opnieuw uitvinden van het wiel.
    • Voorspelbaarheid en inzichten bieden in de algehele kwaliteit en flexibiliteit.
  • Implementeer vroeg en vaak met behulp van op triggers en geplande pijplijnen. Pijplijnen op basis van triggers zorgen ervoor dat wijzigingen de juiste validatie doorlopen, terwijl geplande pijplijnen gedrag beheren in veranderende omgevingen.

  • Scheid de implementatie van de infrastructuur van de toepassing. Kerninfrastructuur verandert minder dan toepassingen. Behandel elk type implementatie als een afzonderlijke stroom en pijplijn.

  • Implementeren met cloudeigen opties. Gebruik infrastructuur als code voor het implementeren van infrastructuur, inclusief het besturingsvlak, en gebruik Helm en het operatorpatroon in Kubernetes om systeemeigen Kubernetes-onderdelen te implementeren en te onderhouden.

  • Gebruik GitOps om toepassingen te implementeren en te onderhouden. GitOps gebruikt de Git-opslagplaats als één bron van waarheid, om configuratiedrift te voorkomen en de productiviteit en betrouwbaarheid te verhogen tijdens terugdraaiacties en gerelateerde procedures.

  • Gebruik door pods beheerde identiteiten en Azure Key Vault-provider voor Het CSI-stuurprogramma geheimenarchief om geheimen, certificaten en verbindingsreeks s te beveiligen.

  • Streven naar gemaximaliseerde gelijktijdigheid van de implementatie door hardcoded configuratie-items en -instellingen te vermijden.

  • Vertrouw op bekende conventies in infrastructuur- en toepassingsgerelateerde implementaties. Gebruik toegangscontrollers in combinatie met de Azure Policy-invoegtoepassing voor Kubernetes om conventies tussen de andere gedefinieerde beleidsregels te valideren en af te dwingen.

  • Omarm shift links consistent met:

    • Beveiliging door hulpprogramma's voor het scannen van beveiligingsproblemen toe te voegen, zoals het scannen van containers, vroeg in de pijplijn.
    • Beleid, door beleid te gebruiken als code en beleidsregels af te dwingen op een cloudeigen manier via toegangscontrollers.
  • Behandel elke fout, fout of storing als een kans om de algehele kwaliteit van de oplossing te automatiseren en te verbeteren. Integreer deze benadering in het SRE-framework (Shift Reliability Engineering).