Crea un cluster Kubernetes
Utilizza Terraform per impostare un cluster Kubernetes nel tuo account Oracle Cloud Infrastructure.
I task chiave includono come:
- Copiare gli script esistenti dalle esercitazioni di Terraform.
- Modificare gli script esistenti per riutilizzarli.
- Scrivere nuovi script per un cluster Kubernetes.

Per ulteriori informazioni, fare riferimento agli argomenti sotto riportati.
Informazioni preliminari
Per eseguire correttamente questa esercitazione, è necessario disporre dei seguenti elementi:
- Un account a pagamento Oracle Cloud Infrastructure. Vedi Richiedi e gestisci le promozioni gratuite su Oracle Cloud.
- Un computer MacOS, Linux o Windows.
- Risorse dell'esercitazione su Terraform:
- Eseguire tutti i passi in:
- Conservare gli script creati nella directory seguente:
$HOME/tf-simple-infrastructure/
1. Raccogli informazioni necessarie
Raccogliere informazioni per le istanze di computazione nel pool di nodi.
VM.Standard2.1
per le istanze di computazione nel pool di nodi.<node-shape>
VM.Standard2.1
nel blocco note.
2. Copia script esistenti
Copia gli script creati in Imposta un'infrastruttura semplice con OCI Terraform. Quindi, rimuovere gli script e gli output correlati all'istanza di computazione. Nella sezione successiva, si dichiara un pool di nodi con istanze di computazione.
3. Crea script
Creare script per un cluster, un pool di nodi e per stampare gli output.
In Riferimento argomento (oci_containerengine_cluster), trovare tutti gli argomenti richiesti:
- compartment_id
- kubernetes_version
- nome
- vcn_id
Per passare a Riferimento argomento (oci_containerengine_cluster):
- Vai a Oracle Cloud Infrastructure Provider.
- Nella casella Filtro in alto a sinistra, immettere
container engine
.Vengono restituiti i risultati sia per le origini dati che per le risorse.
- In Container Engine, andare a Risorse e selezionare oci_containerengine_cluster.
- Selezionare Riferimento argomento.
Viene visualizzato il riferimento argomento.
Costruisce un blocco di risorse:
- Dichiarare un blocco di risorse con la parola chiave:
resource
- Aggiungere un'etichetta per il tipo di risorsa:
"oci_containerengine_cluster"
- Aggiungere un'etichetta per un nome locale (a scelta):
- L'etichetta può contenere lettere, cifre, caratteri di sottolineatura (
_
) e trattini (-
). Il primo carattere non deve essere una cifra. - Esempio:
"oke-cluster"
- L'etichetta può contenere lettere, cifre, caratteri di sottolineatura (
- All'interno del blocco di codice, fornire un valore per gli argomenti richiesti:
- compartment_id: puntare al compartimento dichiarato in
compartment.tf
:oci_identity_compartment.tf-compartment.id
- kubernetes_version: questa esercitazione utilizza la versione
v1.21.5
. È possibile selezionare l'opzione Creazione rapida nella console per la versione più recente. - nome: assegnare un nome a scelta.
- vcn_id: puntare al compartimento dichiarato in
vcn-module.tf
:module.vcn.vcn_id
Un argomento obbligatorio non ha un valore predefinito.
- compartment_id: puntare al compartimento dichiarato in
- Fornire i valori per i seguenti argomenti facoltativi per sostituire i relativi valori predefiniti.
- add_ons: assegnare
true
ofalse
per i seguenti argomenti:- is_kubernetes_dashboard_enabled
- is_tiller_enabled
- kubernetes_network_config: assegnare un blocco CIDR come stringa per i seguenti argomenti:
pods_cidr
services_cidr
Nota
Il blocco CIDR per i pod non deve sovrapporsi ai blocchi CIDR del nodo di lavoro e della subnet del load balancer.
Il blocco CIDR per il servizio Kubernetes non deve sovrapporsi al blocco CIDR della VCN.
Il codice di esempio in questa esercitazione utilizza gli stessi blocchi CIDR dell'opzione Creazione rapida nella console.
Per ulteriori informazioni, consulta Blocchi CIDR e motore Kubernetes (OKE).
- service_lb_subnet_ids: assegnare la subnet pubblica dichiarata in
public-subnet.tf
Nota
L'argomento service_lb_subnet_ids accetta una lista di ID di subnet:- Anche se si dispone di una sottorete, utilizzare le parentesi quadre per indicare un elenco.
- Esempio:
[oci_core_subnet.vcn-public-subnet.id]
- add_ons: assegnare
In Riferimento all'allarme (oci_containerengine_node_pool), trovare tutti gli argomenti richiesti:
- cluster_id
- compartment_id
- kubernetes_version
- nome
- node_config_details
- placement_configs
- availability_domain
- subnet_id
- placement_configs
- node_shape
- node_source_details
- image_id
- source_type
Per passare a Riferimento allarme (oci_containerengine_node_pool):
- Vai a Oracle Cloud Infrastructure Provider.
- Nella casella Filtro in alto a sinistra, immettere
container engine
.Vengono restituiti i risultati sia per le origini dati che per le risorse.
- In Container Engine, andare a Risorse e selezionare oci_containerengine_node_pool.
- Selezionare Riferimento argomento.
Viene visualizzato il riferimento argomento.
Costruisce un blocco di risorse:
- Dichiarare un blocco di risorse con la parola chiave:
resource
- Aggiungere un'etichetta per il tipo di risorsa:
"oci_containerengine_node_pool"
- Aggiungere un'etichetta per un nome locale (a scelta):
- L'etichetta può contenere lettere, cifre, caratteri di sottolineatura (
_
) e trattini (-
). Il primo carattere non deve essere una cifra. - Esempio:
"oke-node-pool"
- L'etichetta può contenere lettere, cifre, caratteri di sottolineatura (
- All'interno del blocco di codice, fornire un valore per gli argomenti obbligatori:
- cluster_id: puntare al cluster dichiarato in
cluster.tf
:oci_containerengine_cluster.oke-cluster.id
- compartment_id Puntare al compartimento dichiarato in
compartment.tf
:oci_identity_compartment.tf-compartment.id
- kubernetes_version: questa esercitazione utilizza la stessa versione della Creazione guidata cluster della console.
- nome: assegnare un nome a scelta. La Creazione guidata cluster della console utilizza il nome
pool1
. - node_shape: immettere le informazioni raccolte nella prima sezione.
- node_source_details:
- image_id: immettere le informazioni raccolte nella prima sezione.
- source_type: impostare su
"image"
.
- cluster_id: puntare al cluster dichiarato in
- Fornire i valori per i seguenti argomenti facoltativi per eseguire l'override dei relativi valori predefiniti.
- initial_node_labels: assegnare coppie chiave/valore per i nodi.
- chiave: assegnare una chiave desiderata. L'opzione Creazione rapida della console crea la chiave
"name"
. - valore: assegnare un valore per la chiave. L'opzione Creazione rapida della console assegna
"<your-cluster-name>"
alla chiave"name"
.
- chiave: assegnare una chiave desiderata. L'opzione Creazione rapida della console crea la chiave
- initial_node_labels: assegnare coppie chiave/valore per i nodi.
In questa sezione vengono dichiarati gli output per il cluster e il pool di nodi.
- Per gli output cluster, vedere Riferimento attributo all'indirizzo oci_containerengine_cluster.
- Per gli output del pool di nodi, vedere Riferimento attributo all'indirizzo oci_containerengine_node_pool.
Output per elementi elenco
- Di solito gli attributi dell'elenco sono plurali (end in s).
- Esempio di attributo elenco per il pool di nodi:
node_config_details
- Per eseguire l'output di tutti gli attributi in un elenco, utilizzare l'attributo list da solo, senza parentesi.
- Ad esempio:
output "node-configuration-details"{ value = oci_containerengine_node_pool.oke-node-pool.node_config_details }
Output di esempio:
node-configuration-details = [ { "placement_configs" = [ { "availability_domain" = "QnsC:US-ASHBURN-AD-1" "subnet_id" = "ocid1.subnet.xxx" }, { "availability_domain" = "QnsC:US-ASHBURN-AD-2" "subnet_id" = "ocid1.subnet.xxx" }, { "availability_domain" = "QnsC:US-ASHBURN-AD-3" "subnet_id" = "ocid1.subnet.xxx" }, ] "size" = 3 }, ]
- Per eseguire l'output o chiamare un elemento da un elenco:
- Utilizzare il formato riportato di seguito:
<list-attribute-name>[index].<attribute-from-list>
- Sostituire
[index]
con:- [0] per il primo elemento.
- [1] per il secondo elemento.
- ...
- [n] per la voce (n+1)th.
- Utilizzare il formato riportato di seguito:
- Ad esempio:
Valore per l'attributo
size
:output "node-size" { value = oci_containerengine_node_pool.oke-node-pool.node_config_details[0].size }
4. Esegui script
Esegui i tuoi script Terraform per creare un compartimento, una rete cloud virtuale, un cluster Kubernetes e un pool di nodi.
.terraform
che include i plugin per il provider oci
.Eseguire gli script Terraform:
terraform apply
Quando viene richiesta la conferma, immettere yes
per creare le risorse.
La creazione del cluster potrebbe richiedere almeno 15 minuti. Dopo che Terraform ha creato le risorse, rivedere l'output nel terminale.
Apply complete! Resources: 14 added, 0 changed, 0 destroyed.
Outputs:
...
cluster-OCID = ocid1.cluster.xxx
cluster-kubernetes-version = "v1.21.5"
cluster-name = <your-cluster-name>
cluster-state = ACTIVE
...
node-pool-OCID = ocid1.nodepool.xxx
node-pool-kubernetes-version = "v1.21.5"
node-pool-name = "pool1"
node-shape = "VM.Standard2.1"
node-size = 3
...
- 401 errori - (Errore del servizio:NotAuthenticated):
- Valore non corretto per una delle seguenti opzioni:
- OCID tenancy
- OCID utente
- impronta
- Chiave privata RSA (il percorso o la chiave)
- Valore non corretto per una delle seguenti opzioni:
- host non trovato:
- Valore errato per i seguenti elementi:
- identificativo area
- Valore errato per i seguenti elementi:
Riferimenti:
Pagina successiva
Complimenti. Hai creato un cluster Kubernetes utilizzando Terraform nel tuo account Oracle Cloud Infrastructure.
Ora che hai un cluster Kubernetes, prova le esercitazioni su Kubernetes in Esercitazioni per gli sviluppatori.
Per ulteriori informazioni sullo sviluppo con i prodotti Oracle, visitare i seguenti siti: