Udostępnij za pośrednictwem


Planowanie automatyzacji platformy i metodyki DevOps dla usługi Azure Red Hat OpenShift

Zapoznaj się z zagadnieniami i zaleceniami dotyczącymi automatyzacji platformy i metodyki DevOps dla akceleratora strefy docelowej usługi Azure Red Hat OpenShift. Polegaj na automatyzacji i ogólnych najlepszych rozwiązaniach metodyki DevOps, aby zaplanować wysoce zautomatyzowaną platformę DevOps dla usługi Azure Red Hat OpenShift.

Uwagi dotyczące projektowania

Podczas planowania automatyzacji platformy i metodyki DevOps dla akceleratora strefy docelowej usługi Azure Red Hat OpenShift uwzględnij następujące zagadnienia dotyczące projektowania:

  • Podczas wybierania podejścia do inżynierii i automatyzacji należy wziąć pod uwagę ograniczenia usługi platformy Azure oraz środowisko ciągłej integracji i ciągłego dostarczania (CI/CD). Aby zapoznać się z przykładem, zobacz ograniczenia użycia usługi GitHub.

  • Gdy zabezpieczasz i chronisz dostęp do środowisk programistycznych, testowych, Q&A i produkcyjnych, oceń opcje zabezpieczeń z perspektywy ciągłej integracji/ciągłego wdrażania. Wdrożenia są wykonywane automatycznie, więc odpowiednio mapuj kontrolę dostępu.

  • Rozważ użycie prefiksów i sufiksów, które są zgodne z dobrze zdefiniowanymi konwencjami, aby jednoznacznie zidentyfikować każdy wdrożony zasób. Konwencje nazewnictwa unikają konfliktów podczas wdrażania sąsiednich rozwiązań i pomagają zwiększyć ogólną elastyczność zespołu i przepływność.

  • Utwórz spis przepływów pracy, aby ułatwić inżynierom, aktualizacjom i wdrożeniu rozwiązania zarówno w normalnych, jak i w scenariuszach aprowizacji paska cyfrowego. Aby zmaksymalizować znajomość i produktywność, rozważ mapowanie potoków na przepływy pracy.

    Oto kilka przykładów:

    • Wdrażanie i uaktualnianie klastra
    • Wdrażanie i uaktualnianie aplikacji
    • Tryb failover odzyskiwania po awarii
    • Wdrożenia niebiesko-zielone
    • Konserwacja środowiska kanarowego
  • Rozważ wdrożenie usługi Open Service Mesh z obsługą usługi Azure Arc, aby dodać więcej funkcji zabezpieczeń, szyfrowania i rejestrowania do obciążeń.

  • Rozważ wdrożenie innych zasobów, takich jak subskrypcje, tagowanie i etykiety, aby obsługiwać środowisko devOps. Użyj tych zasobów do śledzenia wdrożeń i powiązanych artefaktów.

  • Rozważ efekt zmiany paradygmatu bydła i zwierząt domowych DevOps. Spodziewaj się, że zasobniki i inne aspekty platformy Kubernetes będą efemeryczne i odpowiednio wyrównać infrastrukturę automatyzacji i potoku. Nie należy polegać na adresach IP ani innych zasobach, które mają być stałe ani stałe.

Zalecenia dotyczące projektowania

Skorzystaj z tych zaleceń projektowych, aby zaplanować automatyzację platformy i metodykę DevOps dla usługi Azure RedHat OpenShift:

  • Użyj potoków lub akcji, aby:

    • Maksymalizuj stosowane praktyki w całym zespole.
    • Usuń znaczną część obciążenia nowego rozwoju.
    • Zapewnianie przewidywalności i wglądu w ogólną jakość i elastyczność.
  • Wdrażaj wcześnie i często przy użyciu potoków opartych na wyzwalaczach i zaplanowanych. Potoki oparte na wyzwalaczach zapewniają, że zmiany przechodzą przez właściwą walidację. Zaplanowane potoki zarządzają zachowaniem w zmieniających się środowiskach.

  • Oddziel wdrożenia infrastruktury od wdrożeń aplikacji. Podstawowa infrastruktura zmienia się rzadziej niż aplikacje. Traktuj każdy typ wdrożenia jako oddzielny przepływ pracy i potok.

  • Wdrażanie przy użyciu opcji natywnych dla chmury. Użyj infrastruktury jako kodu do wdrożenia infrastruktury. Użyj narzędzia Helm i wzorca operatora na platformie Kubernetes , aby wdrożyć i obsługiwać składniki natywne dla platformy Kubernetes.

  • Wdrażanie i obsługa aplikacji przy użyciu metodyki GitOps . Usługa GitOps używa repozytorium Git jako pojedynczego źródła prawdy. Można uniknąć dryfu konfiguracji i zwiększenia produktywności i niezawodności podczas wycofywania i powiązanych procedur.

    Rozważ również użycie metodyki GitOps Red Hat OpenShift. Narzędzie Red Hat OpenShift GitOps używa usługi Argo CD do obsługi zasobów klastra i obsługi ciągłej integracji/ciągłego wdrażania aplikacji.

  • Użyj dostawcy usługi Azure Key Vault dla sterownika CSI magazynu wpisów tajnych, aby chronić wpisy tajne, certyfikaty i parametry połączenia.

  • Maksymalizuj współbieżność wdrożenia, unikając zakodowanych elementów konfiguracji i ustawień.

  • Polegaj na dobrze znanych konwencjach we wdrożeniach infrastruktury i wdrożeniach związanych z aplikacjami. Użyj kontrolerów przyjęć z rozszerzeniem usługi Azure Policy dla platformy Kubernetes z włączoną usługą Azure Arc (wersja zapoznawcza), aby zweryfikować i wymusić konwencje oraz inne zdefiniowane zasady.

  • Spójne stosowanie podejścia DevOps z przesunięciem w lewo dzięki bezpieczeństwu i zasadom:

    • Zabezpieczenia: dodaj narzędzia do skanowania luk w zabezpieczeniach, takie jak skanowanie kontenerów na wczesnym etapie potoku.
    • Zasady: użyj zasad jako kodu i wymuś zasady jako natywne dla chmury przy użyciu kontrolerów przyjęć.
  • Traktuj każdą awarię, błąd lub awarię jako okazję do zautomatyzowania i poprawy ogólnej jakości rozwiązania. Zintegruj to podejście w lewym rogu i w strukturze inżynierii niezawodności lokacji .

Następne kroki