Kubernetes · 4 min read · Nov 03, 2025
Imposta un Cluster Kubernetes su un'istanza AWS EC2 con Ubuntu utilizzando kubeadm

In questo articolo, vedremo come impostare un cluster Kubernetes con 2 nodi lavoratori e 1 nodo master su server Ubuntu 18.04 LTS. Utilizzeremo lo strumento “ kubeadm “ per impostare il cluster. Kubeadm è uno strumento progettato per fornire “ kubeadm init “ e “ kubeadm join “ per creare cluster Kubernetes. Prima di procedere con la creazione del cluster, comprendiamo brevemente alcuni termini.
- Docker:
Docker è una piattaforma aperta per sviluppare, spedire e eseguire applicazioni. Docker consente di separare le applicazioni dall’infrastruttura in modo da poter consegnare il software rapidamente. Con Docker, puoi gestire la tua infrastruttura nello stesso modo in cui gestisci le tue applicazioni. - Immagine:
Un’immagine è un modello di sola lettura con istruzioni per creare un contenitore Docker. Spesso, un’immagine si basa su un’altra immagine, con alcune personalizzazioni aggiuntive. - Contenitore:
Un contenitore è un’istanza eseguibile di un’immagine. Puoi creare, avviare, fermare, spostare o eliminare un contenitore utilizzando l’API o la CLI di Docker. Puoi collegare un contenitore a una o più reti, allegare storage ad esso o persino creare una nuova immagine basata sul suo stato attuale. - Kubernetes:
Kubernetes è un sistema di orchestrazione di contenitori open-source per automatizzare il deployment, il scaling e la gestione delle applicazioni. - Nodi:
Un nodo rappresenta una singola macchina nel cluster. - Pods:
Un pod è un gruppo di contenitori che vengono distribuiti insieme sullo stesso host. È l’unità di esecuzione di base di un’applicazione Kubernetes. - Deployments:
Un Deployment esegue più repliche della tua applicazione e sostituisce automaticamente eventuali istanze che falliscono o diventano non reattive. Fornisce aggiornamenti dichiarativi per Pods e ReplicaSets. - Replica Set:
Garantisce quante repliche di un pod dovrebbero essere in esecuzione. Può essere considerato come un sostituto del controller di replica.
- Controller di Replica:
È un supervisore per i pod a lungo termine. Lancerà un numero specificato di pod chiamati repliche e si assicurerà che continuino a funzionare tutto il tempo.
- Servizio:
È un’astrazione che definisce un insieme logico di Pods e una politica per accedervi.
API Server, etcd, Controller Manager e Scheduler sono i componenti del Master e Docker, Kubelet Service e Kubernetes Proxy Service sono i componenti del Nodo Lavoratore. Non discuteremo di questi componenti in questo documento. Se desideri conoscere questi componenti, puoi visitare la pagina ufficiale di Kubernetes qui.
Requisiti
- 3 server Ubuntu 18.04 con un minimo di 2 GB di RAM e 2 CPU.
- Un utente di sistema con accesso “sudo” su ciascun server.
Cosa faremo
- Impostare un Cluster Kubernetes con kubeadm
Imposta un Cluster Kubernetes con kubeadm
Qui,
Abbiamo 3 server Ubuntu 18.04 LTS.
Server 1= nodo1
Server 2= nodo2
Server 3= master
Prima di procedere con l’installazione effettiva, cambiamo il nome host dei server.
Puoi utilizzare i seguenti comandi per impostare un nome host su ciascun server. Dopo aver eseguito i seguenti comandi su ciascun server, riconnettiti ai server in modo che ottengano un nuovo nome host.
sudo hostnamectl set-hostname "master"
sudo hostnamectl set-hostname "node1"
sudo hostnamectl set-hostname "node2"Segui i passaggi menzionati di seguito per avviare il cluster Kubernetes funzionante.
Ottieni la chiave gpg di Docker *(Esegui il seguente comando su tutti i nodi)*:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -Aggiungi il repository di Docker (Esegui il seguente comando su tutti i nodi):
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Ottieni la chiave gpg di Kubernetes (Esegui il seguente comando su tutti i nodi):
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -Aggiungi il repository di Kubernetes (Esegui il seguente comando su tutti i nodi):
cat << EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
Aggiorna i tuoi pacchetti (Esegui il seguente comando su tutti i nodi):
sudo apt-get updateInstalla Docker, kubelet, kubeadm e kubectl (Esegui il seguente comando su tutti i nodi):
sudo apt-get install -y docker-ce=18.06.1~ce~3-0~ubuntu kubelet=1.15.7-00 kubeadm=1.15.7-00 kubectl=1.15.7-00
Tieni le versioni attuali (Esegui il seguente comando su tutti i nodi):
sudo apt-mark hold docker-ce kubelet kubeadm kubectlAggiungi la regola iptables a sysctl.conf (Esegui il seguente comando su tutti i nodi):
echo "net.bridge.bridge-nf-call-iptables=1" | sudo tee -a /etc/sysctl.confAbilita iptables immediatamente (Esegui il seguente comando su tutti i nodi):
sudo sysctl -p
Sul Master:
Inizializza il cluster (Esegui il seguente comando solo sul nodo Master):
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Imposta kubeconfig locale *(Esegui il seguente comando solo sul nodo Master)*:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Applica il sovrapposto di rete CNI Flannel (Esegui il seguente comando solo sul nodo Master):
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlSu Node1 e Node 2:
Unisci i nodi lavoratori al cluster (Esegui il seguente comando solo su Node1 e Node2):
sudo kubeadm join 172.31.4.161:6443 --token 0y52t6.ffsj8jkjfcl1sq8h \
--discovery-token-ca-cert-hash sha256:7aa1825042d19d3e567f7e4b447634e942fe9ed7f18f78464a9c05f451551ed5
Verifica che i nodi lavoratori si siano uniti correttamente al cluster (Esegui il seguente comando sul nodo Master):
kubectl get nodesConclusione:
In questo articolo, abbiamo imparato a impostare un Cluster Kubernetes con lo strumento kubeadm. Abbiamo visto quanto facilmente un cluster può essere creato se i passaggi non vengono trascurati e se viene eseguita una corretta installazione.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.