Distribuisci Oracle Cloud Infrastructure Kubernetes Engine (OKE) utilizzando i moduli Terraform avanzati
Introduzione
Questa è la seconda esercitazione della nostra serie di automazione di Oracle Cloud Infrastructure Kubernetes Engine (OKE), sulla base dei concetti di base del primo, Crea Oracle Cloud Infrastructure Kubernetes Engine Cluster utilizzando Terraform. In questo articolo, portiamo le distribuzioni OKE al livello successivo introducendo l'automazione avanzata e la progettazione modulare per il provisioning di ambienti scalabili, resilienti e altamente personalizzabili su Oracle Cloud Infrastructure (OCI).
Progettata per i tecnici e i clienti Oracle, questa guida ti consente di trasformare una configurazione Terraform di base in un modulo riutilizzabile e strutturato che può essere personalizzato in base a qualsiasi dimensione di distribuzione. Sfruttando i principi dell'infrastruttura come codice (IaC) con Terraform (versione della comunità), in combinazione con Jenkins e Oracle Command Line Interface (CLI), forniamo una soluzione di provisioning single-click
per i cluster OKE, le relative configurazioni e i test automatici.
Questo tutorial si concentra su quattro aree chiave:
- Design e automazione modulari: crea moduli riutilizzabili per componenti di base come VCN, cluster OKE e host bastion, con controllo delle versioni per la compatibilità al fine di semplificare la gestione e promuovere il riutilizzo del codice.
- Configurazione dinamica: consente di gestire le impostazioni specifiche dell'ambiente (dev, test, prod) da un unico codebase per distribuzioni coerenti e ripetibili.
- Pool di nodi avanzati: ottimizza l'uso e i costi delle risorse con forme specializzate, immagini OKE compatibili ed etichette per il posizionamento intelligente dei carichi di lavoro.
- Integrazione CI/CD trasparente: automatizza il provisioning e gli aggiornamenti OKE utilizzando pipeline che integrano Terraform, Jenkins e OCI CLI per implementazioni
one-click
efficienti.
L'architettura descritta in questa guida utilizza una topologia di rete a livelli per creare una base sicura e scalabile. Separa il piano di controllo, i nodi di lavoro e il traffico del load balancer, garantendo flessibilità per i carichi di lavoro aziendali di qualsiasi scala. Dimostreremo come automatizzare completamente il provisioning di tale ambiente, tra cui networking, cluster e pool di nodi, fornendo al contempo gli strumenti per personalizzare ed estendere la soluzione alle tue esigenze.
Questa esercitazione presuppone una comprensione dei principi di Kubernetes, networking e IaC, nonché una conoscenza pratica di strumenti come Terraform, OCI CLI e Jenkins. Alla fine, avrai le competenze per distribuire un ambiente OKE resiliente, ad alte prestazioni e scalabile su OCI, con la flessibilità di adattarlo ai tuoi requisiti specifici.
Panoramica di Oracle Cloud Infrastructure Kubernetes Engine (OKE)
Anche se Oracle Cloud Infrastructure Kubernetes Engine (OKE) è un servizio gestito, eseguire con successo carichi di lavoro mission-critical richiede un approccio architettonico deliberato e ben strutturato. Il passaggio da un'impostazione di base a un ambiente scalabile di livello Enterprise richiede un'attenta pianificazione e l'uso di strumenti Infrastructure as Code (IaC) come Terraform.
La modularizzazione e l'automazione sono fondamentali per OKE per garantire scalabilità, sicurezza ed efficienza operativa. Sfruttando moduli strutturati e strumenti di automazione, le aziende possono distribuire e gestire carichi di lavoro mission-critical con coerenza, ridurre gli errori manuali e accelerare il time-to-market.
Il diagramma riportato di seguito illustra l'architettura OKE, evidenziandone la topologia di rete a più livelli, l'endpoint API privato e i controlli dell'accesso sicuro.
Per un esempio dettagliato dell'architettura, consultare la documentazione Oracle.
Considerazioni architettoniche
La creazione di un ambiente OKE scalabile implica l'affrontare almeno le seguenti sfide tecniche chiave:
- Sicurezza: implementa un livello di sicurezza affidabile utilizzando l'identità del carico di lavoro, i gruppi di sicurezza di rete, gli endpoint API privati e un Web Application Firewall (WAF) per un isolamento sicuro e un controllo rigoroso del traffico.
- Scalabilità: ottimizza la disponibilità elevata distribuendo i nodi tra i domini di disponibilità, quindi i domini di errore e utilizzando Kubernetes Cluster Autoscaler per il ridimensionamento dinamico.
- Monitoraggio e osservabilità: integrazione con OCI Logging e OCI Logging Analytics per il monitoraggio completo del comportamento a livello di cluster e pod.
Elementi di progettazione chiave
Questa soluzione modulare si basa su un'architettura di rete su più livelli, che fornisce una base sicura e scalabile per i carichi di lavoro aziendali su OKE:
- Segmentazione di rete: separa l'ambiente con subnet pubbliche e private dedicate per l'API Kubernetes, i nodi di lavoro e i load balancer.
- Accesso controllato: utilizzare un endpoint API privato per l'accesso al piano di controllo sicuro e gli host bastion per l'accesso SSH gestito.
- Automazione completa: automatizza il provisioning dell'intero ambiente, inclusi networking, cluster e pool di nodi, utilizzando Terraform, OCI CLI, Bash e Jenkins per implementazioni
single-click
efficienti. - Operazioni avanzate: implementa volumi persistenti e ciclo automatico dei nodi per aggiornamenti senza tempi di inattività.
Creazione di un'automazione Terraform modulare per OKE
Trasformando una configurazione Terraform flat
in una configurazione structured
, la progettazione modulare è essenziale per creare ambienti ripetibili e scalabili. Questo approccio garantisce una migliore organizzazione, riusabilità del codice e manutenibilità su scala aziendale, con un controllo delle versioni per la compatibilità e la collaborazione tra i team.
Processo di trasformazione: modulo da piano a strutturato
A partire dal modulo flat descritto nella prima esercitazione, il codice viene rifatturato in un design modulare:
- Ristrutturazione della directory: creazione di moduli figlio (
vcn
,oke
,bastion
) e organizzazione delle risorse nelle rispettive cartelle. - Applicazione dei principi chiave:
- Struttura e logica: incapsula le risorse in directory autonome (ad esempio
modules/vcn
,modules/oke
,modules/bastion
) e suddivide il codice monolitico inmain.tf
,variables.tf
eoutputs.tf
per la leggibilità e la manutenibilità. - Input/Output e controllo delle versioni: consente di definire gli input in
variables.tf
, esporre gli output inoutputs.tf
e utilizzare il controllo delle versioni del modulo Terraform (vincoloversion
insource
) per garantire un flusso di dati e una compatibilità ottimali. - Orchestrazione: gestisce la logica condizionale, ad esempio
count
, a livello di modulo radice, mantenendo i moduli figlio concentrati sulle proprie risorse.
- Struttura e logica: incapsula le risorse in directory autonome (ad esempio
Struttura della directory: Flat vs. Modular
Flat Module: una singola directory monolitica con tutte le risorse in pochi file. Semplice per le prove di concetto, ma diventa ingestibile man mano che la complessità cresce.
Modulo strutturato: ogni gruppo di risorse (VCN, OKE, Bastion) si trova nella propria directory del modulo. Il modulo radice orchestra le dipendenze e la configurazione di livello superiore.
Moduli di esempio
- Modulo VCN (
modules/vcn
):- Scopo: gestisce la rete (VCN, subnet, gateway, instradamenti, liste di sicurezza e così via).
- File delle chiavi:
variables.tf
: definisce input qualivcn_cidr_block
.main.tf
: contiene le definizioni delle risorse.outputs.tf
: visualizza la VCN e gli ID subnet per altri moduli.
- Modulo OKE (
modules/oke
):- Scopo: distribuisce il cluster OKE e i pool di nodi.
- File delle chiavi:
variables.tf
: include gli IDvcn_id
e subnet dal modulo VCN.main.tf
: definizioni di cluster e pool di nodi con refactoring.outputs.tf
: espone gli ID del cluster OKE e del pool di nodi.
- Modulo di base (
modules/bastion
):- Scopo: crea un host bastion per l'accesso sicuro.
- File delle chiavi:
variables.tf
: definisce input qualibastion_subnet_id
.main.tf
: risorse host bastion con refactoring.outputs.tf
: espone l'ID host bastion e l'IP pubblico.
Perché i moduli?
- Riutilizzabilità e collaborazione: i moduli possono essere condivisi tra i progetti, facilitando il lavoro di squadra.
- Manutenzione e controllo delle versioni: gli aggiornamenti vengono applicati in modo coerente, riducendo le deviazioni e garantendo la compatibilità.
- Scalabilità e coerenza: le progettazioni modulari gestiscono la complessità in modo efficiente, standardizzano le distribuzioni e rimuovono la duplicazione.
Orchestrazione dei moduli - root main.tf
Il file root main.tf
orchestra la distribuzione di tre moduli chiave (modules/vcn
, modules/oke
e modules/bastion
) in sequenza. Ogni modulo viene richiamato in modo condizionale in base ai flag di configurazione (is_vcn_created
, is_oke_created
, is_bastion_created
), offrendo flessibilità nella distribuzione. Di seguito è riportata una versione semplificata del flusso di orchestrazione, evidenziando la logica del modulo chiave senza dettagliare l'intero main.tf
.
Flusso di orchestrazione:
- Modulo VCN (
modules/vcn
):- Esegue il provisioning della rete cloud virtuale (VCN) e delle subnet correlate (ad esempio, subnet private per l'API e i nodi di lavoro Kubernetes, subnet pubbliche per i load balancer e il bastion).
- Controllato da
is_vcn_created
. Se abilitata, crea la VCN; in caso contrario, presuppone una VCN esistente (è necessario fornire l'OCID della subnet utilizzata). - Esempio di snippet:
module "vcn" { count = var.is_vcn_created ? 1 : 0 source = "./modules/vcn?ref=v1.0.0" # Specify the module version # Key variables: compartment_id, vcn_cidr_block, subnet configs, ... }
- Modulo OKE (
modules/oke
):- Distribuisce il cluster OKE (Kubernetes Engine) OCI, inclusi il piano di controllo e i pool di nodi gestiti facoltativi.
- Dipende dal modulo VCN per gli ID subnet. Richiamato solo se
is_oke_created
eis_vcn_created
sono true. - Esempio di snippet:
module "oke" { count = var.is_oke_created && var.is_vcn_created ? 1 : 0 source = "./modules/oke?ref=v1.0.0" # Specify the module version # Key variables: vcn_id, subnet IDs, k8 version, node pool config, ... }
- Modulo di base (
modules/bastion
):- Crea un host bastion per l'accesso SSH sicuro alle risorse private.
- Dipende dal modulo VCN per l'ID subnet pubblica. Richiamato solo se
is_bastion_created
eis_vcn_created
sono true. - Esempio di snippet:
module "bastion" { count = var.is_bastion_created && var.is_vcn_created ? 1 : 0 source = "./modules/bastion?ref=v1.0.0" # Specify the module version # Key variables: bastion_subnet_id, SSH keys, parameters... }
Note chiave:
- Dipendenze dei moduli: gli output del modulo VCN, ad esempio
module.vcn[0].vcn_id
, vengono passati come input ai moduli OKE e Bastion, garantendo una chiara catena di dipendenze. - Logica di configurazione: le mappe dei parametri semplificate (ad esempio,
node_pool_param
,bastion_params
) semplificano la configurazione e la leggibilità. - Controllo delle versioni: l'uso dei vincoli di versione in
source
garantisce la distribuzione dei moduli con le versioni corrette e testate, garantendo la compatibilità
Dopo aver creato una struttura Terraform modulare per OKE, il passo successivo consiste nell'automatizzare la distribuzione. L'automazione garantisce coerenza, riduce gli errori manuali, accelera il processo di provisioning e migliora direttamente il Time-to-Market (TTM) consentendo la consegna rapida di nuove funzionalità e servizi.
Opzioni di automazione
Diversi strumenti possono automatizzare le distribuzioni OKE, tra cui Terraform CLI, OCI Resource Manager (ORM), OCI CLI, moduli Ansible OCI e Helm. Tuttavia, questa guida si concentra sui due approcci più importanti dell'infrastruttura come codice (IaC) in Oracle Cloud Infrastructure (OCI): Terraform CLI e OCI Resource Manager (ORM).
Entrambi gli strumenti utilizzano lo stesso linguaggio di configurazione dichiarativo HashiCorp (HCL), ma differiscono nei rispettivi modelli operativi:
- CLI Terraform: uno strumento di interfaccia a riga di comando che offre il controllo diretto sui file dell'infrastruttura e di stato, ideale per singoli sviluppatori o piccoli team.
- OCI Resource Manager (ORM): un servizio basato su console, completamente gestito e nativo OCI che centralizza la gestione dello stato e fornisce un ambiente sicuro e collaborativo, rendendolo la scelta preferita per le distribuzioni su scala aziendale.
Esaminiamo ciascuna opzione nel dettaglio.
Opzione 1: Distribuire le risorse OKE con l'interfaccia CLI Terraform
L'interfaccia CLI Terraform è la scelta ideale quando è necessario il controllo completo sull'ambiente locale. È più adatto per singoli sviluppatori o piccoli team che possono gestire il file di stato e collaborare in modo efficace utilizzando un backend condiviso. La sua portabilità ti consente di eseguirlo da qualsiasi computer: runner locali, VM, container, OCI CloudShell o CI/CD come Jenkins. Tuttavia, questa flessibilità include responsabilità, come la gestione dei file di stato e la garanzia di impostazioni locali coerenti tra i membri del team.
Per iniziare, scaricare ed estrarre il pacchetto del codice sorgente dell'interfaccia CLI Terraform nella directory di lavoro Terraform. Questo pacchetto include main.tf
, un esempio terraform.tfvars
e configurazioni dettagliate dei moduli: scaricare oke_advanced_module.zip
.
La distribuzione di OKE con l'interfaccia CLI Terraform prevede sette task chiave, dalla configurazione delle variabili e della rete all'impostazione del cluster OKE, dei pool di nodi e dell'host bastion. Di seguito sono riportati i passi dettagliati per eseguire il provisioning e verificare l'ambiente OKE utilizzando l'interfaccia CLI Terraform.
Task 1.1: Configurare le variabili Terraform
Aggiornare il file terraform.tfvars
con dettagli specifici dell'ambiente, ad esempio tenancy_ocid, area, compartment_ocid e network_compartment_ocid. Abilitare i flag riportati di seguito per controllare la creazione delle risorse.
is_vcn_created
: consente di creare una VCN nuova o di riutilizzarla.is_okecluster_created
: esegue il provisioning di un cluster OKE.is_nodepool_created
: crea uno o più pool di nodi.is_bastion_created
: distribuisce un host bastion.
Task 1.2: Configurazione di rete
Definire i blocchi CIDR per la VCN e le relative subnet:
vcn_cidr_block
: blocco CIDR VCN.k8apiendpoint_private_subnet_cidr_block
: subnet dell'endpoint API Kubernetes.workernodes_private_subnet_cidr_block
: subnet dei nodi di lavoro.serviceloadbalancers_public_subnet_cidr_block
: subnet del load balancer.bastion_public_subnet_cidr_block
: subnet host bastion.
Task 1.3: Configurazione cluster OKE
- Specificare
control_plane_kubernetes_version
ecluster_type
(BASIC_CLUSTER
oENHANCED_CLUSTER
). - Scegliere un tipo CNI:
OCI_VCN_IP_NATIVE
: i pod ottengono gli IP OCI nativi.FLANNEL_OVERLAY
: i pod ottengono gli IP da Flannel.
- Impostare
control_plane_is_public
sutrue
ofalse
.
Task 1.4: Configurazione pool di nodi
- Definire i pool di nodi in
node_pools
con:- Forma, versione, dimensione del volume di avvio e posizionamento di AD (impostare 3 AD, se applicabile)
- Chiavi SSH per l'accesso ai nodi di lavoro nel pool
- Abilitare
node_cycle_config
per gli aggiornamenti nodo sicuri:node_cycling_enabled
: abilita la sostituzione del nodo in sequenza.maximum_surge
emaximum_unavailable
: controlla la scalabilità durante gli aggiornamenti (ad esempio: 1:0).cycle_modes
: scegliereBOOT_VOLUME_REPLACE
oINSTANCE_REPLACE
.
Configurazione host bastion task 1.5
- Se
is_bastion_created
ètrue
, Terraform esegue il provisioning di un bastion Linux nella subnet pubblica. - Fornire:
shape
,hostname
,boot_volume_size
, OCID immagine Linux e percorsi chiave SSH.
Task 1.6: Esegui comandi Terraform
Per distribuire l'infrastruttura, eseguire i comandi seguenti:
terraform init
terraform plan
terraform apply
Al termine di terraform apply
, verrà eseguito il provisioning del cluster OKE con:
- Una VCN con componenti di rete associati (tabelle di instradamento, liste di sicurezza, gateway), subnet private per i nodi di lavoro e l'endpoint API e una subnet pubblica per i load balancer.
- Un
ENHANCED_CLUSTER
con il tipo CNI e la versione Kubernetes specificati, un pool di nodi gestiti e un host bastion (se configurato) per l'accesso SSH sicuro.
Task 1.7: Verifica
- Andare a OCI Console per verificare la configurazione del cluster.
- Eseguire
terraform destroy
per eseguire il cleanup delle risorse al termine.
Automazione della distribuzione OKE con la pipeline CI/CD Jenkins
Per integrare la distribuzione OKE nelle pipeline DevOps, l'interfaccia CLI Terraform è una scelta eccellente. Il nostro approccio, dettagliato in Crea Oracle Cloud Infrastructure Kubernetes Engine Cluster utilizzando Terraform, utilizza lo script bash per orchestrare il processo. Questo flusso di lavoro può essere consolidato in una pipeline Jenkins per l'esecuzione automatica.
Opzione 2: Automazione di OKE con OCI Resource Manager
OCI Resource Manager (ORM) è la scelta ideale quando hai bisogno di una soluzione gestita e cloud nativa per le distribuzioni dell'infrastruttura. È particolarmente adatto per ambienti collaborativi e aziendali in cui la sicurezza, la gestione centralizzata dello stato e la governance sono fondamentali. Il vantaggio principale di ORM è che gestisce l'intero ciclo di vita della distribuzione all'interno di OCI, memorizzando in modo sicuro il file di stato e prevenendo i conflitti. Ciò elimina la necessità di impostare o gestire un backend condiviso a livello locale. Inoltre, la profonda integrazione di ORM con Oracle Cloud consente di sfruttare le funzioni native di OCI come Identity and Access Management (IAM), migliorando la sicurezza e il controllo.
In questa esercitazione, combiniamo OCI Resource Manager (ORM) con OCI CLI, Bash e li integriamo nelle pipeline CI/CD Jenkins, offrendo un flusso di automazione one-click
completo con funzionalità DevOps aggiuntive come il rilevamento delle deviazioni, la gestione sicura dello stato e la collaborazione del team con il controllo delle versioni per la compatibilità.
Flusso di OCI Resource Manager
Il diagramma seguente illustra il flusso di lavoro ORM, composto da sette passi:
- Configurazione di origine: definisce l'origine della configurazione IaC (ad esempio, OCI Object Storage, GitHub, file ZIP).
- Modello Terraform: l'infrastruttura viene definita utilizzando Terraform.
- OCI Resource Manager: ORM prende il modello Terraform e gestisce il processo di provisioning.
- Crea uno stack: ORM utilizza il modello per creare uno stack di risorse OCI.
- Piano: genera un piano che descrive le azioni da eseguire.
- Applica: esegue il provisioning delle risorse in base al piano.
- Elimina: esegue l'annullamento della fornitura delle risorse quando non sono più necessarie.
Per distribuire un cluster OKE utilizzando il nuovo modulo di OCI Resource Manager (ORM), iniziare scaricando il modulo avanzato per ORM: oke_advanced_module_orm.zip
. Questa versione è preconfigurata per ORM, con variabili impostate su segnaposto generici come REPLACE_WITH_YOUR_OWN_VARIABLE_VALUE
.
Task 2.1: Configurazione origine
Aggiornare variables.tf
con i dettagli specifici dell'ambiente, ad esempio l'area, i CIDR di rete e i flag per controllare la creazione delle risorse (VCN, cluster OKE, pool di nodi, host bastion).
Lo script bash riportato di seguito crea il file zip delle origini delle risorse ORM.
- Script Bash:
create_new_oke_stack_source.sh
.#!/bin/bash # Define the source directory for the stack src_dir="~/oke_advanced_module_orm/oke_app_src" # Create the zip archive from the source code with overwrite rm -f "$src_dir/stackconfig.zip" cd $src_dir zip -r "../stackconfig.zip" * modules/ # List the contents of the zip file for verification /usr/bin/unzip -l "$src_dir/stackconfig.zip"
Verificare la directory di origine (
~/oke_advanced_module_orm
) per assicurarsi che un file denominatostackconfig.zip
contenga tutte le definizioni delle risorse terraform.
Task 2.2: Crea stack OCI Resource Manager
Utilizzare l'interfaccia CLI OCI per creare uno stack ORM. Lo script seguente semplifica il processo:
Script Bash: create_new_oke_stack.sh
.
#!/bin/bash
# Load environment variables (e.g., COMPARTMENT_ID, STACK_NAME, etc.)
source "./env-vars"
# Create the Oracle Resource Manager stack and capture the OCID
stack_output=$(oci resource-manager stack create \
--compartment-id "$COMPARTMENT_ID" --display-name "$STACK_NAME" \
--description "$STACK_DESCRIPTION" --config-source "$CONFIG_SOURCE")
# Extract the OCID of the newly created stack and display it
STACK_OCID=$(echo "$stack_output" | jq -r '.data.id')
echo "Stack OCID: $STACK_OCID"
Task 2.3: Esegui job piano stack
Eseguire il job Plan
per verificare le modifiche prima di applicarle. Questo ciclo a secco garantisce trasparenza nelle modifiche dell'infrastruttura.
Script Bash: create_oke_stack_plan_job.sh
#!/bin/bash
# Load environment variables (e.g., STACK_OCID)
source "./env-vars"
# Create a plan job for the specified stack
plan_job_output=$(oci resource-manager job create-plan-job \
--stack-id "$STACK_OCID")
# Extract the OCID of the plan job and check for errors
PLAN_JOB_OCID=$(echo "$plan_job_output" | jq -r '.data.id')
if [[ -z "$PLAN_JOB_OCID" ]]; then
echo "Error: Failed to retrieve plan job OCID." >&2
exit 1
fi
echo "Plan job OCID: $PLAN_JOB_OCID"
Task 2.4: Crea job di candidatura
Eseguire il provisioning del cluster OKE e delle risorse associate, ad esempio il pool di nodi, utilizzando il job Apply
.
Script Bash: create_oke_stack_apply_job.sh
#!/bin/bash
# Load environment variables (e.g., STACK_OCID, EXEC_PLAN_STRATEGY)
source "./env-vars"
# Create an apply job for the specified stack
apply_job_output=$(oci resource-manager job create-apply-job \
--stack-id "$STACK_OCID" \
--execution-plan-strategy "$EXEC_PLAN_STRATEGY")
# Extract the OCID of the apply job and check for errors
APPLY_JOB_OCID=$(echo "$apply_job_output" | jq -r '.data.id')
if [[ -z "$APPLY_JOB_OCID" ]]; then
echo "Error: Failed to retrieve apply job OCID." >&2
exit 1
fi
echo "Apply job OCID: $APPLY_JOB_OCID"
Task 2.5: Esegui job di eliminazione
Eseguire il cleanup delle risorse eseguendo il job Destroy
quando l'ambiente non è più necessario.
Script Bash: create_oke_stack_destroy_job.sh
#!/bin/bash
# Load environment variables (e.g., STACK_OCID, EXEC_PLAN_STRATEGY)
source "./env-vars"
# Create an jotroy for the specified stack
apply_job_output=$(oci resource-manager job create-destroy-job \
--stack-id "$STACK_OCID" \
--execution-plan-strategy "$EXEC_PLAN_STRATEGY")
# Extract the OCID of the destroy job and check for errors
DESTROY_JOB_OCID=$(echo "$apply_job_output" | jq -r '.data.id')
if [[ -z "$DESTROY_JOB_OCID" ]]; then
echo "Error: Failed to retrieve destroy job OCID." >&2
exit 1
fi
echo "Apply job OCID: $DESTROY_JOB_OCID"
Automazione di OKE con Jenkins e OCI Resource Manager
Abbiamo creato una pipeline Jenkins per automatizzare il processo di provisioning end-to-end (procedure 2.1-2.4). La pipeline esegue script bash utilizzando l'interfaccia CLI OCI per interagire con ORM.
L'immagine seguente mostra l'automazione one-click
per i primi quattro task; il passo destroy
non è incluso per semplicità.
La pipeline include la configurazione di origine, la creazione dello stack ORM, la generazione del piano, il provisioning delle risorse e l'annullamento del provisioning delle risorse facoltativo.
Passi successivi
L'utilizzo di Terraform per il provisioning OKE garantisce coerenza, automazione e scalabilità. Le progettazioni modulari, combinate con OCI Resource Manager e le pipeline CI/CD, rendono le implementazioni più semplici e facili da gestire. Nella prossima esercitazione verranno illustrate le best practice per il monitoraggio, la sicurezza e la preparazione alla produzione. Basandoci su queste basi, estenderemo i moduli a Oracle AIOps, creeremo un progetto OKE end-to-end per le applicazioni AI e dimostreremo come gli analytics di registrazione con osservabilità basata sull'intelligenza artificiale possono rilevare anomalie e rafforzare la sicurezza della piattaforma di container.
Collegamenti correlati
- Crea cluster Oracle Cloud Infrastructure Kubernetes Engine utilizzando Terraform
- Terraform OCI OKE su GitHub
- Resource Manager OCI
Conferme
- Autori: Mahamat Guiagoussou (Master Principal Cloud Architect), Payal Sharma (Senior Cloud Architect), Matthew McDaniel (Staff Cloud Engineer)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione del prodotto, visitare Oracle Help Center.
Deploy Oracle Cloud Infrastructure Kubernetes Engine (OKE) using Advanced Terraform Modules
G44442-01