Planen der Plattformautomatisierung und DevOps für Azure Red Hat OpenShift

Erhalten Sie Entwurfsüberlegungen und Empfehlungen für die Plattformautomatisierung und DevOps für den Azure Red Hat OpenShift Landezone Accelerator. Verlassen Sie sich auf automatisierungs- und allgemeine DevOps-Bewährte Methoden, um Ihre hochautomatisierte DevOps-Plattform für Azure Red Hat OpenShift zu planen.

Entwurfsüberlegungen

Wenn Sie die Plattformautomatisierung und DevOps für Ihren Azure Red Hat OpenShift Landing Zone Accelerator planen, schließen Sie die folgenden Entwurfsaspekte ein:

  • Berücksichtigen Sie die Azure-Dienstbeschränkungen und Ihre kontinuierliche Integrations- und Kontinuierliche Bereitstellungsumgebung (CI/CD), wenn Sie einen Technischen und Automatisierungsansatz auswählen. Ein Beispiel finden Sie unter den Einschränkungen für die GitHub-Nutzung.

  • Wenn Sie den Zugriff auf Entwicklungs-, Test-, Q&A- und Produktionsumgebungen sichern und schützen, bewerten Sie Sicherheitsoptionen aus ci/CD-Perspektive. Bereitstellungen erfolgen automatisch, sodass die Zugriffssteuerung entsprechend zugeordnet wird.

  • Erwägen Sie die Verwendung von Präfixen und Suffixen, die klar definierte Konventionen befolgen, um jede bereitgestellte Ressource eindeutig zu identifizieren. Benennungskonventionen vermeiden Konflikte, wenn Sie benachbarte Lösungen bereitstellen, und sie tragen zur Verbesserung der Allgemeinen Teamflexibilität und des Durchsatzes bei.

  • Inventarisieren Sie Ihre Workflows, um Sie bei der Entwicklung, Aktualisierung und Bereitstellung Ihrer Lösung sowohl in normalen als auch in Digital Rebar Provision-Szenarien zu unterstützen. Um Vertrautheit und Produktivität zu maximieren, sollten Sie die Zuordnung von Pipelines zu Workflows in Betracht ziehen.

    Beispiele sind:

    • Clusterbereitstellung und -upgrades
    • Anwendungsbereitstellung und -upgrades
    • Notfallwiederherstellungs-Failover
    • Blaugrüne Bereitstellungen
    • Wartung der Canary-Umgebung
  • Erwägen Sie die Bereitstellung von Azure Arc-fähigen Open Service Mesh , um Ihren Workloads mehr Sicherheit, Verschlüsselung und Protokollfunktionen hinzuzufügen.

  • Erwägen Sie die Bereitstellung anderer Ressourcen, z. B. Abonnements, Tagging und Bezeichnungen, um Ihre DevOps-Erfahrung zu unterstützen. Verwenden Sie diese Ressourcen, um Bereitstellungen und verwandte Artefakte nachzuverfolgen und zu verfolgen.

  • Betrachten Sie die Wirkung der Rinder im Vergleich zu Haustieren DevOps Paradigmenwechsel. Erwarten Sie, dass Pods und andere Aspekte von Kubernetes kurzlebig sind, und richten Sie Ihre Automatisierungs- und Pipelineinfrastruktur entsprechend aus. Verlassen Sie sich nicht darauf, dass IP-Adressen oder andere Ressourcen festgelegt oder dauerhaft sind.

Designempfehlungen

Verwenden Sie diese Designempfehlungen, um Ihre Plattformautomatisierung und DevOps für Azure RedHat OpenShift zu planen:

  • Verwenden Sie Pipelines oder Aktionen, um:

    • Maximieren Sie angewendete Praktiken im gesamten Team.
    • Entfernen Sie einen Großteil der Belastung der neuen Entwicklung.
    • Bieten Sie Vorhersagbarkeit und Einblicke in allgemeine Qualität und Agilität.
  • Stellen Sie frühzeitig und häufig mithilfe von triggerbasierten und geplanten Pipelines bereit. Triggerbasierte Pipelines stellen sicher, dass Änderungen die ordnungsgemäße Überprüfung durchlaufen. Geplante Pipelines verwalten das Verhalten in sich ändernden Umgebungen.

  • Trennen Sie Infrastrukturbereitstellungen von Anwendungsbereitstellungen. Die Kerninfrastruktur ändert sich weniger häufig als Anwendungen. Behandeln Sie jeden Bereitstellungstyp als separaten Workflow und eine separate Pipeline.

  • Bereitstellen durch Nutzung von cloud-nativen Optionen. Verwenden Sie die Infrastruktur als Code zum Bereitstellen der Infrastruktur. Verwenden Sie Helm und das Operatormuster in Kubernetes, um Kubernetes-systemeigene Komponenten bereitzustellen und zu verwalten.

  • Verwenden Sie GitOps , um Anwendungen bereitzustellen und zu verwalten. GitOps verwendet das Git-Repository als einzige Quelle der Wahrheit. Sie können Konfigurationsabweichungen vermeiden und die Produktivität und Zuverlässigkeit bei Rollbacks und zugehörigen Verfahren erhöhen.

    Erwägen Sie auch die Verwendung von Red Hat OpenShift GitOps. Red Hat OpenShift GitOps verwendet Argo CD, um Clusterressourcen zu verwalten und anwendungs-CI/CD zu unterstützen.

  • Verwenden Sie den Azure Key Vault-Anbieter für geheime Speicher-CSI-Treiber , um geheime Schlüssel, Zertifikate und Verbindungszeichenfolgen zu schützen.

  • Maximieren Sie die Parallelität der Bereitstellung, indem Sie hartcodierte Konfigurationselemente und -einstellungen vermeiden.

  • Verlassen Sie sich auf bekannte Konventionen für Infrastrukturbereitstellungen und anwendungsbezogene Bereitstellungen. Verwenden Sie Admission Controller mit der Azure-Richtlinienerweiterung für Azure Arc-fähiges Kubernetes (Vorschau), um Konventionen und andere definierte Richtlinien zu überprüfen und durchzusetzen.

  • Nutzen Sie einen Shift-left DevOps-Ansatz konsistent unter Einbeziehung von Sicherheit und Richtlinien.

    • Sicherheit: Fügen Sie Tools zum Scannen von Schwachstellen, wie Container-Scans, frühzeitig in die Pipeline ein.
    • Richtlinie: Verwenden Sie "Policy as Code" und erzwingen Sie Richtlinien auf cloud-native Weise mithilfe von Admission-Controllern.
  • Behandeln Sie jeden Fehler, Fehler oder Ausfall als Möglichkeit, die Gesamtlösungsqualität zu automatisieren und zu verbessern. Integrieren Sie diesen Ansatz in Ihr Shift-Left-Konzept und Ihr Site-Reliability-Engineering-Rahmenwerk.

Nächste Schritte