Creazione di nodi autogestiti
Scopri come creare un nuovo nodo autogestito e aggiungerlo a un cluster esistente.
Il servizio di computazione viene utilizzato per creare l'istanza di computazione in cui eseguire un nodo autogestito. Dopo aver creato il nodo autogestito, è possibile aggiungerlo a un cluster avanzato esistente.
Se si desidera che un nodo autogestito utilizzi il plugin CNI flannel per il pod networking, è possibile creare il nodo autogestito utilizzando la console, l'interfaccia CLI e l'API. Se si desidera che un nodo autogestito utilizzi il plugin CNI di networking pod VCN nativo OCI per il networking pod, è possibile creare il nodo autogestito utilizzando l'interfaccia CLI e l'API.
Per informazioni sulla creazione di nodi autogestiti che eseguono Ubuntu, vedere Esecuzione di Ubuntu sui nodi di lavoro mediante immagini personalizzate.
Per creare un nodo autogestito mediante la console, effettuare le operazioni riportate di seguito.
- Creare lo script cloud-init contenente l'endpoint privato dell'API Kubernetes e il certificato CA con codifica base64 del cluster avanzato a cui si desidera aggiungere il nodo autogestito. Vedere Creazione di script cloud-init per nodi autogestiti.
- Creare una nuova istanza di computazione per ospitare il nodo autogestito:
- Aprire il menu di navigazione e selezionare Computazione. In Computazione, selezionare Istanze.
- Segui le istruzioni riportate nella documentazione del servizio di computazione per creare una nuova istanza di computazione. Tenere presente che devono esistere criteri appropriati per consentire alla nuova istanza di computazione di entrare nel cluster avanzato. Vedere Creazione di un gruppo dinamico e di un criterio per i nodi autogestiti.
- Nella sezione Immagine e forma fare clic su Modifica immagine.
- Fare clic su Immagini personali, selezionare l'opzione OCID immagine, quindi immettere l'OCID dell'immagine OKE Oracle Linux 7 (OL7) o Oracle Linux 8 (OL8) che si desidera utilizzare. Vedere Requisiti immagine.
- Fare clic su Mostra opzioni avanzate e, nella scheda Gestione, selezionare l'opzione Incolla script cloud-init.
- Copiare e incollare lo script cloud-init contenente l'endpoint privato API Kubernetes e il certificato CA con codifica base64 nel campo Script Cloud-init. Vedere Creazione di script cloud-init per nodi autogestiti.
- Fare clic su Crea per creare l'istanza di computazione per ospitare il nodo autogestito.
Quando viene creata, l'istanza di computazione viene aggiunta come nodo autogestito al cluster con l'endpoint API Kubernetes specificato.
- Verificare che il nodo autogestito sia stato aggiunto al cluster Kubernetes e confermare lo stato di prontezza del nodo immettendo:
kubectl get nodes
Ad esempio:
kubectl get nodes NAME STATUS ROLES AGE VERSION 10.0.103.170 Ready <none> 40m v1.25.4
- Verificare che le etichette siano state aggiunte al nodo e impostarle come previsto immettendo:
kubectl get node <node-name> -o json | jq '.metadata.labels'
Esempio
kubectl get node 10.0.103.170 -o json | jq '.metadata.labels' { ... "displayName": "oke-self-managed-node", "oci.oraclecloud.com/node.info.byon": "true", ... }
Utilizzare il comando Avvio istanza di computazione OCI e i parametri richiesti per creare un nodo autogestito:
oci compute instance launch --availability-domain <availability-domain> --compartment-id <compartment-ocid> --shape <shape> --subnet-id <subnet-ocid> [OPTIONS]
Per un elenco completo dei flag e delle opzioni variabili per i comandi CLI, vedere Command Line Reference.
Suggerimenti:
- Specificare il nome del file che contiene lo script cloud-init (obbligatorio per aggiungere l'istanza di computazione al cluster come nodo autogestito) utilizzando il parametro
--user-data-file
del comando avvio istanza di computazione OCI. Vedere Creazione di script cloud-init per nodi autogestiti. - Specificare l'immagine da utilizzare per creare il nodo autogestito impostando il parametro
--image-id
del comando avvio istanza di OCI Compute. Vedere Requisiti immagine. - Se si desidera che il nodo autogestito utilizzi il plugin CNI di networking pod VCN nativo OCI per il networking pod, aggiungere il parametro
--metadata
al comandooci compute instance launch
, come riportato di seguito.--metadata '{"oke-native-pod-networking": "true", "oke-max-pods": "<max-pods-per-node>", "pod-subnets": "<pod-subnet-ocid>",
"pod-nsgids": "<nsg-ocid>"
}'Dove:
"oke-native-pod-networking": "true"
specifica che si desidera che il nodo autogestito utilizzi il plugin CNI Networking pod VCN nativo OCI per il networking pod."oke-max-pods": "<max-pods-per-node>"
specifica il numero massimo di pod che si desidera eseguire sul nodo autogestito."pod-subnets": "<pod-subnet-ocid>"
specifica l'OCID della subnet pod che supporta la comunicazione tra pod e l'accesso diretto ai singoli pod utilizzando indirizzi IP pod privati. La subnet pod deve essere una subnet privata."pod-nsgids": "<nsg-ocid>"
specifica facoltativamente l'OCID di uno o più gruppi di sicurezza di rete (NSG) contenenti le regole di sicurezza per instradare il traffico di rete ai pod. Quando si specificano più gruppi NSG, utilizzare un elenco delimitato da virgole nel formato"pod-nsgids": "<nsg-ocid-1>,<nsg-ocid-2>"
Per ulteriori informazioni sul plugin CNI Networking pod VCN nativo, vedere Uso del plugin CNI Networking pod VCN nativo OCI per il networking dei pod.
- Se si desidera che il nodo autogestito sia un nodo IPv4/IPv6 a doppio stack (con entrambi gli indirizzi IPv4 e IPv6), aggiungere il parametro
--metadata
al comandooci compute instance launch
, come indicato di seguito.--metadata '{"ip-families": "IPv4,IPv6"}'
Esempi:
Esempio 1: comando per creare un nodo autogestito che utilizza il plugin CNI flannel per il pod networking.
oci compute instance launch \ --profile oc1 \ --compartment-id ocid1.compartment.oc1..aaaaaaa______neoq \ --subnet-id ocid1.subnet.oc1.phx.aaaaaaa______hzia \ --shape VM.Standard2.2 \ --availability-domain zkJl:PHX-AD-1 \ --image-id ocid1.image.oc1.phx.aaaaaaa______lcra \ --display-name smn \ --user-data-file my-cloud-init-file \ --ssh-authorized-keys-file my-ssh-key-file
Esempio 2: comando per creare un nodo autogestito che utilizza il plugin CNI di networking pod VCN nativo OCI per il networking pod.
oci compute instance launch \ --profile oc1 \ --compartment-id ocid1.compartment.oc1..aaaaaaa______neoq \ --subnet-id ocid1.subnet.oc1.phx.aaaaaaa______hzia \ --shape VM.Standard2.2 \ --availability-domain zkJl:PHX-AD-1 \ --image-id ocid1.image.oc1.phx.aaaaaaa______lcra \ --display-name smn-npn \ --user-data-file my-cloud-init-file \ --ssh-authorized-keys-file my-ssh-key-file \ --metadata '{"oke-native-pod-networking": "true", "oke-max-pods": "21", "pod-subnets": "ocid1.subnet.oc1.phx.aaaaaaa______4wka"}, "pod-nsgids": "ocid1.networksecuritygroup.oc1.phx.aaaaaaa______qfca,ocid1.networksecuritygroup.oc1.phx.aaaaaaa______ohea"'
Esempio 3: comando alternativo per creare un nodo autogestito che utilizza il plugin CNI di networking pod VCN nativo OCI per il networking pod.
oci compute instance launch \ --profile oc1 \ --compartment-id ocid1.compartment.oc1..aaaaaaa______neoq \ --subnet-id ocid1.subnet.oc1.phx.aaaaaaa______hzia \ --shape VM.Standard2.2 \ --availability-domain zkJl:PHX-AD-1 \ --image-id ocid1.image.oc1.phx.aaaaaaa______lcra \ --display-name smn-npn \ --metadata '{"ssh_authorized_keys": "ssh-rsa AAAAB3NzaC1yc2EAAAA...", "oke-native-pod-networking": "true", "oke-max-pods": "21", "pod-subnets": "ocid1.subnet.oc1.phx.aaaaaaa______4wka,ocid1.subnet.oc1.phx.aaaaaaa______hzia", "pod-nsgids": "ocid1.networksecuritygroup.oc1.phx.aaaaaaa______qfca,ocid1.networksecuritygroup.oc1.phx.aaaaaaa______", "user_data": "IyEvdXNyL2Jpbi9lbnYgYmFzaA..."}'
- Specificare il nome del file che contiene lo script cloud-init (obbligatorio per aggiungere l'istanza di computazione al cluster come nodo autogestito) utilizzando il parametro
Eseguire l'operazione LaunchInstance per creare un nodo autogestito.
Se si desidera che il nodo autogestito utilizzi il plugin CNI di networking pod VCN nativo OCI per il networking pod, utilizzare l'attributo metadati per specificare i valori per le chiavi seguenti:
- oke-native-pod-networking: impostare su true per specificare che si desidera che il nodo autogestito utilizzi il plugin CNI di networking pod VCN nativo per il networking pod.
- oke-max-pods: il numero massimo di pod che si desidera eseguire sul nodo autogestito.
- pod-subnets: l'OCID della subnet pod che supporta la comunicazione tra pod e l'accesso diretto a singoli pod utilizzando indirizzi IP pod privati. La subnet pod deve essere una subnet privata.
- pod-nsgids: (facoltativo) l'OCID di uno o più gruppi di sicurezza di rete (NSG) contenenti regole di sicurezza per instradare il traffico di rete ai pod. Quando si specificano più gruppi NSG, utilizzare un elenco delimitato da virgole nel formato
"pod-nsgids": "<nsg-ocid-1>,<nsg-ocid-2>"
Per ulteriori informazioni sul plugin CNI Networking pod VCN nativo, vedere Uso del plugin CNI Networking pod VCN nativo OCI per il networking dei pod.