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 .