Planen von Plattformautomatisierung und DevOps für Azure Red Hat OpenShift
Erfahren Sie mehr über Entwurfsüberlegungen und Empfehlungen für die Plattformautomatisierung und DevOps für den Zielzonenbeschleuniger für Azure Red Hat OpenShift. Nutzen Sie bei der Planung Ihrer hochautomatisierten DevOps-Plattform für Azure Red Hat OpenShift bewährte Methode von DevOps für die Automatisierung und allgemeine Vorgänge.
Überlegungen zum Entwurf
Berücksichtigen Sie beim Planen von Plattformautomatisierung und DevOps für Ihren Azure Red Hat OpenShift-Zielzonenbeschleuniger die folgenden Entwurfsüberlegungen:
Berücksichtigen Sie die Einschränkungen des Azure-Dienstes und Ihre CI/CD-Umgebung (Continuous Integration/Continuous Delivery), wenn Sie einen Entwicklungs- und Automatisierungsansatz auswählen. Ein Beispiel finden Sie in den GitHub-Nutzungseinschränkungen.
Beim Sichern und Schützen des Zugriffs auf Entwicklungs-, Test-, F&A- und Produktionsumgebungen sollten Sie die Sicherheitsoptionen aus der CI/CD-Perspektive bewerten. Bereitstellungen erfolgen automatisch. Ordnen Sie daher die Zugriffssteuerung entsprechend zu.
Erwägen Sie die Verwendung von Präfixen und Suffixen mit genau definierten Konventionen, um jede bereitgestellte Ressource eindeutig zu identifizieren. Namenskonventionen vermeiden Konflikte, wenn benachbarte Lösungen bereitgestellt werden, und verbessern insgesamt die Agilität und den Durchsatz des Teams.
Inventarisieren Sie die Workflows zur Unterstützung bei der Entwicklung, Aktualisierung und Bereitstellung Ihrer Lösung in normalen Szenarien und DRP-Szenarien (Digital Rebar Provision). Erwägen Sie die Zuordnung von Pipelines zu Workflows, um die Vertrautheit und Produktivität zu maximieren.
Beispiele:
- Clusterbereitstellung und -upgrades
- Anwendungsbereitstellung und -upgrades
- Failover bei der Notfallwiederherstellung
- Blaugrün-Bereitstellungen
- Verwaltung der Canary-Umgebung
Erwägen Sie die Bereitstellung von Open Service Mesh mit Azure Arc-Unterstützung, um Ihren Workloads mehr Sicherheits-, Verschlüsselungs- und Protokollierungsfunktionen hinzuzufügen.
Erwägen Sie die Bereitstellung weiterer Ressourcen wie Abonnements, Kennzeichnung und Bezeichnungen, um Ihre DevOps-Erfahrung zu unterstützen. Verwenden Sie diese Ressourcen zum Nach- und Rückverfolgen von Bereitstellungen und zugehörigen Artefakten.
Bedenken Sie die Auswirkung des DevOps-Paradigmenwechsels Rinder versus Haustiere. Erwarten Sie, dass Pods und andere Aspekte von Kubernetes kurzlebig sind, und richten Sie Ihre Infrastruktur für Automatisierung und Pipelines entsprechend aus. Verlassen Sie sich nicht darauf, dass IP-Adressen oder andere Ressourcen unveränderlich oder dauerhaft sind.
Entwurfsempfehlungen
Verwenden Sie diese Entwurfsempfehlungen, um die Plattformautomatisierung und DevOps für Azure RedHat OpenShift zu planen:
Verwenden Sie für Folgendes Pipelines oder Aktionen:
- Maximieren von angewandten Praktiken im gesamten Team.
- Entfernen eines Großteils der Last bei einer Neuentwicklung
- Bereitstellen von Vorhersagbarkeit und Erkenntnissen zur Gesamtqualität und Agilität
Frühzeitiges und häufiges Bereitstellen durch die Verwendung von triggerbasierten und geplanten Pipelines. Sicherstellen der ordnungsgemäßen Prüfung von Änderungen durch triggerbasierte Pipelines Verwalten des Verhaltens in sich ändernden Umgebungen durch geplante Pipelines
Trennen der Infrastrukturbereitstellungen von Anwendungsbereitstellungen Die Kerninfrastruktur ändert sich weniger häufig als Anwendungen. Behandeln Sie jeden Bereitstellungstyp als separaten Workflow und separate Pipeline.
Nutzen Sie bei der Bereitstellung cloudnative Optionen. Verwenden Sie Infrastructure-as-Code zum Bereitstellen der Infrastruktur. Verwenden Sie Helm und das Kubernetes-Operator-Muster, um native Kubernetes-Komponenten bereitzustellen und zu warten.
Verwenden Sie GitOps zum Bereitstellen und Warten von Anwendungen. GitOps nutzt das Git-Repository als Single Source of Truth (einzelne Wahrheitsinstanz). Sie können Konfigurationsabweichungen vermeiden und die Produktivität und Zuverlässigkeit bei Rollbacks und verwandten Verfahren erhöhen.
Ziehen Sie auch die Verwendung von Red Hat OpenShift GitOps in Erwägung. Red Hat OpenShift GitOps verwendet Argo CD, um Clusterressourcen zu verwalten und CI/CD für Anwendungen zu unterstützen.
Verwenden Sie den Azure Key Vault-Anbieter für Secrets Store CSI Driver, um Geheimnisse, Zertifikate und Verbindungszeichenfolgen zu schützen.
Maximieren Sie die Parallelität bei der Bereitstellung, indem Sie hartcodierte Konfigurationselemente und Einstellungen vermeiden.
Verlassen Sie sich bei der infrastruktur- oder anwendungsbezogenen Bereitstellung auf bekannte Konventionen. Verwenden Sie Zugangscontroller mit der Azure Policy-Erweiterung für Kubernetes mit Azure Arc-Unterstützung (Vorschau), um Konventionen und andere definierte Richtlinien zu überprüfen und durchzusetzen.
Verfolgen Sie durch Sicherheit und Richtlinie konsequent einen DevOps-Ansatz vom Typ Shift-Left:
- Sicherheit: Fügen Sie frühzeitig Tools zur Überprüfung auf Sicherheitsrisiken, z. B. Containerscans, zur Pipeline hinzu.
- Richtlinie: Verwenden Sie Richtlinien als Code, und erzwingen Sie Richtlinien in einer cloudnativen Weise mithilfe von Zugangscontrollern.
Behandeln Sie jede Störung, jeden Fehler und jeden Ausfall als Chance zur Automatisierung und Verbesserung der Gesamtqualität der Lösung. Integrieren Sie diesen Ansatz in Ihr Shift-Left- und SRE-Framework (Site Reliability Engineering, Sitezuverlässigkeits-Entwicklung).