Pianificare l'automazione della piattaforma e DevOps per Azure Red Hat OpenShift
Ottenere considerazioni sulla progettazione e consigli per l'automazione della piattaforma e DevOps per l'acceleratore di zona di destinazione di Azure Red Hat OpenShift. Affidarsi all'automazione e alle procedure consigliate generali di DevOps per pianificare la piattaforma DevOps altamente automatizzata per Azure Red Hat OpenShift.
Considerazioni relative alla progettazione
Quando si pianifica l'automazione della piattaforma e DevOps per l'acceleratore di zona di destinazione di Azure Red Hat OpenShift, includere queste considerazioni di progettazione:
Prendere in considerazione le limitazioni del servizio di Azure e l'ambiente di integrazione continua e recapito continuo (CI/CD) quando si sceglie un approccio di progettazione e automazione. Per un esempio, vedere le limitazioni di utilizzo di GitHub.
Quando si protegge e si protegge l'accesso agli ambienti di sviluppo, test, domande e risposte e produzione, valutare le opzioni di sicurezza dal punto di vista CI/CD. Le distribuzioni sono automatiche, quindi eseguire il mapping del controllo di accesso di conseguenza.
È consigliabile usare prefissi e suffissi che seguono convenzioni ben definite per identificare in modo univoco ogni risorsa distribuita. Le convenzioni di denominazione evitano conflitti quando si distribuiscono soluzioni adiacenti e consentono di migliorare l'agilità e la velocità effettiva complessive del team.
Inventariare i flussi di lavoro per semplificare la progettazione, l'aggiornamento e la distribuzione della soluzione negli scenari di provisioning di Digital Rebar. Per ottimizzare la familiarità e la produttività, è consigliabile eseguire il mapping delle pipeline ai flussi di lavoro.
Alcuni esempi:
- Distribuzione e aggiornamenti del cluster
- Distribuzione e aggiornamenti delle applicazioni
- Failover del ripristino di emergenza
- Distribuzioni blu-verde
- Manutenzione dell'ambiente Canary
Valutare la possibilità di distribuire Open Service Mesh abilitata per Azure Arc per aggiungere altre funzionalità di sicurezza, crittografia e log ai carichi di lavoro.
Valutare la possibilità di distribuire altre risorse, ad esempio sottoscrizioni, tag ed etichette per supportare l'esperienza DevOps. Usare queste risorse per tenere traccia delle distribuzioni e degli artefatti correlati.
Prendere in considerazione l'effetto del cambio di paradigma del bestiame rispetto agli animali domestici DevOps. Prevedere che i pod e altri aspetti di Kubernetes siano temporanei e allineare l'infrastruttura di automazione e pipeline di conseguenza. Non fare affidamento su indirizzi IP o altre risorse per essere fissi o permanenti.
Suggerimenti per la progettazione
Usare questi consigli di progettazione per pianificare l'automazione della piattaforma e DevOps per Azure RedHat OpenShift:
Usare pipeline o azioni per:
- Ottimizzare le procedure applicate all'interno del team.
- Rimuovere gran parte del carico di lavoro del nuovo sviluppo.
- Fornire prevedibilità e informazioni dettagliate sulla qualità e l'agilità complessive.
Distribuire in anticipo e frequentemente usando pipeline pianificate e basate su trigger. Le pipeline basate su trigger assicurano che le modifiche vengano convalidate correttamente. Le pipeline pianificate gestiscono il comportamento negli ambienti in modifica.
Separare le distribuzioni dell'infrastruttura dalle distribuzioni di applicazioni. Le modifiche principali dell'infrastruttura cambiano meno frequentemente rispetto alle applicazioni. Considerare ogni tipo di distribuzione come flusso di lavoro e pipeline separati.
Eseguire la distribuzione usando le opzioni native del cloud. Usare l'infrastruttura come codice per distribuire l'infrastruttura. Usare Helm e il modello Operatore in Kubernetes per distribuire e gestire i componenti nativi di Kubernetes.
Usare GitOps per distribuire e gestire le applicazioni. GitOps usa il repository Git come singola origine di verità. È possibile evitare la deriva della configurazione e aumentare la produttività e l'affidabilità durante il rollback e le procedure correlate.
Prendere in considerazione anche l'uso di Red Hat OpenShift GitOps. Red Hat OpenShift GitOps usa Argo CD per gestire le risorse del cluster e supportare l'integrazione continua/distribuzione continua dell'applicazione.
Usare il provider di Azure Key Vault per il driver CSI dell'archivio segreti per proteggere segreti, certificati e stringa di connessione.
Ottimizzare la concorrenza della distribuzione evitando elementi e impostazioni di configurazione hardcoded.
Si basano su convenzioni note tra distribuzioni dell'infrastruttura e distribuzioni correlate all'applicazione. Usare i controller di ammissione con estensione Criteri di Azure per Kubernetes con abilitazione di Azure Arc (anteprima) per convalidare e applicare convenzioni e altri criteri definiti.
Adottare un approccio DevOps di spostamento a sinistra in modo coerente tramite la sicurezza e i criteri:
- Sicurezza: aggiungere strumenti di analisi delle vulnerabilità come l'analisi dei contenitori nelle prime fasi della pipeline.
- Criteri: usare i criteri come codice e applicare i criteri come nativi del cloud usando i controller di ammissione.
Considerare ogni guasto, errore o interruzione come un'opportunità per automatizzare e migliorare la qualità complessiva della soluzione. Integrare questo approccio nel framework di progettazione dell'affidabilità del sito e a sinistra del turno.