Panoramica dei progetti

Un progetto è un pacchetto di criteri e configurazioni di cui è possibile eseguire il deployment, che implementa e documenta una specifica soluzione con opinioni. I progetti consentono agli sviluppatori di progettare infrastruttura, piattaforme e servizi applicativi creando e collegando risorse cloud con una configurazione dichiarativa. Codificano conoscenze ed esperienza per eseguire rapidamente il deployment di nuovi sistemi e ambienti.

Best practice

I progetti sono progettati per acquisire best practice per casi d'uso specifici, compresi raggruppamenti e criteri appropriati per le risorse. Una volta organizzate le best practice in un progetto base, queste possono essere condivise internamente all'organizzazione o distribuite su Internet per una maggiore diffusione.

Impostazioni predefinite intelligenti

Poiché progetti base raggruppano più risorse per scegliere come target casi d'uso specifici, possono fornire impostazioni predefinite sensibili e contestuali che riducono la necessità di ottimizzare ogni opzione per ciascuna risorsa. In questo modo la procedura di onboarding è più rapida e riduce i costi.

Sistemi di protezione delle norme

I progetti non si limitano a dimostrare le best practice, ma possono anche includere misure di protezione dei criteri che consentono agli sviluppatori di muoversi più velocemente, senza compromettere la sicurezza o la conformità.

Upgrade self-service

I progetti vengono rilasciati come elementi con versione e condivisibili, che possono essere migliorati nel tempo senza danneggiare i sistemi di produzione. I consumatori utilizzano progetti per cui vogliono eseguire l'upgrade a versioni più recenti, per un maggiore controllo e la possibilità di implementare gradualmente gli upgrade in tutta l'organizzazione. Nel frattempo, i nuovi utenti utilizzano per impostazione predefinita la configurazione più recente, ottenendo un'esperienza migliore e immediata con le best practice più recenti.

Tipi di progetti

Google fornisce progetti per Kubernetes e Terraform

Se utilizzi già Kubernetes o stai cercando un modo unificato per gestire le tue applicazioni e la tua infrastruttura con la stessa toolchain, consulta i progetti KRM.

Se utilizzi già Terraform o stai cercando un ecosistema solido supportato da più cloud provider, consulta i progetti Teraform.

Progetti base di modelli di risorse Kubernetes (KRM)

Config Connector, un componente di Anthos Config Management, consente di specificare le risorse di Google Cloud utilizzando il modello di risorse Kubernetes. KRM semplifica la specifica dichiarativa delle risorse con YAML o JSON.

Le risorse Kubernetes possono essere pacchettizzate con kpt, uno strumento di creazione dei pacchetti nativo di Kubernetes che offre assistenza estensibile per la personalizzazione, la convalida e il deployment delle risorse Kubernetes. I progetti creati con kpt possono includere qualsiasi risorsa con una rappresentazione KRM, incluse le risorse Kubernetes native e Google Cloud che utilizzano Config Connector.

Puoi eseguire il deployment dei progetti KRM in qualsiasi cluster Kubernetes che esegue Config Connector, incluso Config Controller, la piattaforma Anthos Config Management. Config Controller offre un piano di controllo centralizzato che ti consente di gestire la configurazione e il criterio dell'intera infrastruttura cloud.

I criteri per i progetti KRM sono scritti come modelli di vincolo Open Policy Agent (OPA). Controller dei criteri, un componente di Anthos Config Management, fornisce la convalida dei criteri OPA lato server utilizzando un webhook di ammissione per rifiutare configurazioni di risorse non valide prima che vengano eseguite da altri controller Kubernetes. I criteri OPA possono anche essere convalidati lato client utilizzando le funzioni kpt, che consentono di eseguire i test con turno sinistro per un feedback più rapido, prima nella pipeline di deployment. Poiché i criteri OPA possono essere definiti utilizzando le risorse Kubernetes, possono essere raggruppati e distribuiti in pacchetti kpt, insieme alle risorse convalidate.

Inizia subito a utilizzare i progetti base KRM utilizzando il catalogo dei progetti KRM.

Progetti base di Terraform

Terraform utilizza l' HashiCorp Configuration Language (HCL) per specificare le risorse. Le risorse di Terraform possono essere pacchettizzate come moduli pubblicati mediante repository Git e registro di Terra.

I criteri per i progetti di Terraform sono anche scritti come modelli di vincolo di Open Policy Agent. Terraform Validator consente la convalida dei criteri lato client convertendo i piani terraform in metadati degli asset di Cloud Asset Inventory, che vengono poi convalidati con i criteri OPA. In questo modo, le configurazioni errate vengono rilevate in anticipo nella pipeline di deployment. Consulta la libreria dei criteri per una selezione di gruppi di criteri standard.

Inizia subito a utilizzare i progetti di base di Terraform utilizzando il catalogo dei progetti di Terraform.

Passaggi successivi