Εισαγωγή
Kubernetes είναι ένα εργαλείο ανοιχτού κώδικα που είναι κρίσιμο στην ενορχήστρωση κοντέινερ. Το Kubernetes λειτουργεί ενορχηστρώνοντας και διαχειριζόμενο συμπλέγματα σε κλίμακα σε διάφορα περιβάλλοντα cloud ή ακόμα και σε τοπικούς διακομιστές. Ένα σύμπλεγμα είναι ένα σύνολο κεντρικών υπολογιστών που προορίζονται για την εκτέλεση εφαρμογών και υπηρεσιών σε κοντέινερ. Ένα σύμπλεγμα χρειάζεται τουλάχιστον δύο κόμβους για να λειτουργήσει – έναν master κόμβο και έναν worker κόμβο. Έχοντας κατά νου την επεκτασιμότητα, έχετε την επιλογή να επεκτείνετε το σύμπλεγμα με όσους κόμβους worker απαιτείται.
Ένας κόμβος στο Kubernetes αναφέρεται σε έναν διακομιστή. Ένας master κόμβος είναι ένας διακομιστής που διαχειρίζεται την κατάσταση του συμπλέγματος. Οι worker κόμβοι είναι διακομιστές που εκτελούν τα φορτία εργασίας – αυτά είναι συνήθως εφαρμογές και υπηρεσίες σε κοντέινερ.
Αυτός ο οδηγός θα σας καθοδηγήσει στα βήματα εγκατάστασης και ανάπτυξης ενός συμπλέγματος Kubernetes που αποτελείται από δύο κόμβους σε Ubuntu 20.04. Όπως αναφέρθηκε, η ύπαρξη δύο κόμβων είναι η πιο βασική διαμόρφωση κατά την εργασία με το Kubernetes. Έχετε επίσης την επιλογή να προσθέσετε περισσότερους κόμβους worker μόλις κατανοήσετε τα βασικά. Θα σας δείξουμε επίσης πώς να συνδέσετε τους δύο διακομιστές για να επιτρέψετε στον master κόμβο να ελέγχει τον worker κόμβο.
Για να δοκιμάσουμε τη διαμόρφωσή μας, θα αναπτύξουμε ένα Docker κοντέινερ που εκτελεί τον Nginx webserver στο σύμπλεγμα. Αυτή είναι μια τυπική πραγματική εφαρμογή του Kubernetes. Θα μάθετε περισσότερα για ορισμένα καθοριστικά στοιχεία του Kubernetes, όπως kubectl και kubeadm καθώς προχωράμε. Συνιστάται επίσης να εξοικειωθείτε πρώτα με τον οδηγό μας σχετικά με το γνωριμία με τα βασικά του πακέτου εργαλείων του Kubernetes για να εξοικειωθείτε με τα βασικά της πλατφόρμας Kubernetes.
Τώρα, ας ξεκινήσουμε!
Προαπαιτούμενα
Θα χρειαστεί να προετοιμάσετε δύο διακομιστές, που εκτελούνται σε Ubuntu 20.04. Για βέλτιστη απόδοση, οι ελάχιστες απαιτήσεις συστήματος για το Kubernetes είναι 2GB RAM και 2 CPU. Μπορείτε να ακολουθήσετε τα βήματα 1 έως 4 αυτού του οδηγού βήμα προς βήμα για να σας βοηθήσει να ρυθμίσετε τον Ubuntu διακομιστή σας στο CloudSigma. Ο ένας διακομιστής θα είναι ο master κόμβος, ο άλλος θα είναι ο worker κόμβος. Έχουμε ονομάσει κατάλληλα τους δύο διακομιστές μας ως kubernetes-master και kubernetes-worker. Αυτό καθιστά ευκολότερη την παρακολούθηση του οδηγού. Ωστόσο, είστε ελεύθεροι να επιλέξετε τα hostnames που προτιμάτε.
-
Βεβαιωθείτε ότι έχετε προσθέσει έναν χρήστη με sudo προνόμια και στους δύο κόμβους, τον οποίο θα χρησιμοποιήσουμε για να εκτελέσουμε τις εντολές όπως περιγράφεται στον παραπάνω οδηγό. Ακολουθήστε αυτόν τον οδηγό σχετικά με τη διαμόρφωση του αρχείου Linux sudoers για οδηγίες.
-
Συνδεσιμότητα δικτύου – οι διακομιστές στο σύμπλεγμα θα πρέπει να μπορούν να επικοινωνούν. Όταν αναπτύσσετε τις εικονικές σας μηχανές (VMs) από το CloudSigma, θα είναι συνδεδεμένες στο διαδίκτυο με μια δημόσια IP από προεπιλογή. Εάν εργάζεστε από ένα τοπικό δίκτυο, ίσως χρειαστεί να επεξεργαστείτε το αρχείο /etc/hosts σε κάθε διακομιστή και να τους συνδέσετε κατάλληλα.
-
Θα χρειαστεί να εγκαταστήσετε και να ενεργοποιήσετε το Docker on each of the nodes. Kubernetes relies on a container runtime to run containers in pods. While there are other container platforms to choose from, we will be using Docker in this tutorial. Docker will provide the runtime environment needed by Ubuntu. You may follow steps 1, 2, and 3 of our οδηγού για την εγκατάσταση και λειτουργία του Docker.
Βήμα 1: Εγκατάσταση του Kubernetes
Σε αυτό το βήμα, θα εγκαταστήσουμε το Kubernetes. Ακριβώς όπως κάνατε με το Docker στα προαπαιτούμενα, πρέπει να εκτελέσετε τις εντολές και στους δύο κόμβους για να εγκαταστήσετε το Kubernetes. Χρησιμοποιήστε το ssh για να συνδεθείτε και στους δύο κόμβους και να προχωρήσετε. Θα ξεκινήσετε εγκαθιστώντας το πακέτο apt-transport-https το οποίο επιτρέπει την εργασία με http και https στα αποθετήρια του Ubuntu’s. Also, install curl καθώς θα είναι απαραίτητο για τα επόμενα βήματα. Εκτελέστε την ακόλουθη εντολή:
|
1 |
sudo apt install apt-transport-https curl |
Στη συνέχεια, προσθέστε το Kubernetes υπογραφής κλειδί και στους δύο κόμβους εκτελώντας την εντολή:
|
1 |
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add |
Στη συνέχεια, προσθέτουμε το Kubernetes αποθετήριο ως πηγή πακέτων και στους δύο κόμβους χρησιμοποιώντας την ακόλουθη εντολή:
|
1 2 |
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" >> ~/kubernetes.list sudo mv ~/kubernetes.list /etc/apt/sources.list.d |
Μετά από αυτό, ενημερώστε τους κόμβους:
|
1 |
sudo apt update |
- Εγκατάσταση εργαλείων Kubernetes
Μόλις ολοκληρωθεί η ενημέρωση, θα εγκαταστήσουμε το Kubernetes. Αυτό περιλαμβάνει την εγκατάσταση των διαφόρων εργαλείων που αποτελούν το Kubernetes: kubeadm, kubelet, kubectl, και kubernetes-cni. Αυτά τα εργαλεία είναι εγκατεστημένα και στους δύο κόμβους. Ορίζουμε κάθε εργαλείο παρακάτω:
-
kubelet – ένας πράκτορας που εκτελείται σε κάθε κόμβο και χειρίζεται την επικοινωνία με τον κύριο κόμβο για την έναρξη φόρτων εργασίας στο περιβάλλον εκτέλεσης κοντέινερ. Εισαγάγετε την ακόλουθη εντολή για να εγκαταστήσετε το kubelet:
|
1 |
sudo apt install kubelet |
-
kubeadm – μέρος του έργου Kubernetes και βοηθά στην προετοιμασία ενός συμπλέγματος Kubernetes. Εισαγάγετε την ακόλουθη εντολή για να εγκαταστήσετε το kubeadm:
|
1 |
sudo apt install kubeadm |
-
kubectl – το εργαλείο γραμμής εντολών του Kubernetes που σας επιτρέπει να εκτελείτε εντολές μέσα στα συμπλέγματα Kubernetes. Εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε το kubectl:
|
1 |
sudo apt install kubectl |
-
kubernetes-cni – επιτρέπει τη δικτύωση εντός των κοντέινερ, διασφαλίζοντας ότι τα κοντέινερ μπορούν να επικοινωνούν και να ανταλλάσσουν δεδομένα. Εκτελέστε την ακόλουθη εντολή για εγκατάσταση:
|
1 |
sudo apt-get install -y kubernetes-cni |
Προαιρετικά, μπορείτε να εγκαταστήσετε και τα τέσσερα με μία μόνο εντολή:
|
1 |
sudo apt-get install -y kubelet kubeadm kubectl kubernetes-cni |
Βήμα 2: Απενεργοποίηση της μνήμης Swap
Το Kubernetes αποτυγχάνει να λειτουργήσει σε ένα σύστημα που χρησιμοποιεί swap μνήμη. Επομένως, πρέπει να απενεργοποιηθεί στον κύριο κόμβο και σε όλους τους κόμβους εργασίας. Εκτελέστε την ακόλουθη εντολή για να απενεργοποιήσετε τη μνήμη swap:
|
1 |
sudo swapoff -a |
Αυτή η εντολή απενεργοποιεί τη μνήμη swap μέχρι να γίνει επανεκκίνηση του συστήματος. Πρέπει να διασφαλίσουμε ότι παραμένει απενεργοποιημένη ακόμη και μετά από επανεκκινήσεις. Αυτό πρέπει να γίνει στον κύριο κόμβο και σε όλους τους κόμβους εργασίας. Μπορούμε να το κάνουμε αυτό επεξεργαζόμενοι το αρχείο fstab αρχείο και σχολιάζοντας τη γραμμή /swapfile με ένα #. Ανοίξτε το αρχείο με τον επεξεργαστή κειμένου nano εισάγοντας την ακόλουθη εντολή:
|
1 |
sudo nano /etc/fstab |
Μέσα στο αρχείο, σχολιάστε τη γραμμή swapfile όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:

Αν δεν βλέπετε τη γραμμή swapfile, απλώς αγνοήστε την. Αποθηκεύστε και κλείστε το αρχείο όταν ολοκληρώσετε την επεξεργασία. Ακολουθήστε την ίδια διαδικασία και για τους δύο κόμβους. Τώρα, οι ρυθμίσεις της μνήμης swap θα παραμείνουν απενεργοποιημένες, ακόμη και μετά την επανεκκίνηση του διακομιστή σας.
Βήμα 3: Ορισμός μοναδικών ονομάτων κεντρικού υπολογιστή
Οι κόμβοι σας πρέπει να έχουν μοναδικά ονόματα κεντρικού υπολογιστή για ευκολότερη αναγνώριση. Εάν αναπτύσσετε ένα σύμπλεγμα με πολλούς κόμβους, μπορείτε να το ρυθμίσετε ώστε να αναγνωρίζει ονόματα για τους κόμβους εργασίας σας, όπως node-1, node-2, κ.λπ. Όπως είχαμε αναφέρει νωρίτερα, έχουμε ονομάσει τους κόμβους μας ως kubernetes-master και kubernetes-worker. Τα έχουμε ορίσει κατά τη δημιουργία του διακομιστή. Ωστόσο, μπορείτε να προσαρμόσετε ή να ορίσετε τα δικά σας εάν δεν το έχετε κάνει ήδη από τη γραμμή εντολών. Για να προσαρμόσετε το όνομα κεντρικού υπολογιστή στον κύριο κόμβο, εκτελέστε την ακόλουθη εντολή:
|
1 |
sudo hostnamectl set-hostname kubernetes-master |
Στον κόμβο εργασίας, εκτελέστε την ακόλουθη εντολή:
|
1 |
sudo hostnamectl set-hostname kubernetes-worker |
Μπορείτε να κλείσετε την τρέχουσα περίοδο λειτουργίας τερματικού και να συνδεθείτε ξανά μέσω ssh στον διακομιστή για να δείτε τις αλλαγές.
Βήμα 4: Επιτρέποντας στο Iptables να βλέπει τη γεφυρωμένη κίνηση
Για να βλέπουν σωστά οι κύριοι κόμβοι και οι κόμβοι εργασίας τη γεφυρωμένη κίνηση, θα πρέπει να βεβαιωθείτε ότι το net.bridge.bridge-nf-call-iptables έχει οριστεί σε 1 στις ρυθμίσεις σας. Αρχικά, βεβαιωθείτε ότι η ενότητα br_netfilter έχει φορτωθεί. Μπορείτε να το επιβεβαιώσετε εκτελώντας την εντολή:
|
1 |
lsmod | grep br_netfilter |
Προαιρετικά, μπορείτε να το φορτώσετε ρητά με την εντολή:
|
1 |
sudo modprobe br_netfilter |
Τώρα, μπορείτε να εκτελέσετε αυτήν την εντολή για να ορίσετε την τιμή σε 1:
|
1 |
sudo sysctl net.bridge.bridge-nf-call-iptables=1 |
Βήμα 5: Αλλαγή του Docker Cgroup Driver
Από προεπιλογή, το Docker εγκαθίσταται με “cgroupfs” ως cgroup driver. Το Kubernetes συνιστά ότι το Docker θα πρέπει να εκτελείται με “systemd” ως driver. Εάν παραλείψετε αυτό το βήμα και προσπαθήσετε να αρχικοποιήσετε το kubeadm στο επόμενο βήμα, θα λάβετε την ακόλουθη προειδοποίηση στο τερματικό σας:
|
1 2 |
[preflight] Εκτελείται pre-flight έλεγχοι [ΠΡΟΕΙΔΟΠΟΙΗΣΗ IsDockerSystemdCheck]: ανιχνεύθηκε "cgroupfs" ως το Docker cgroup driver. Ο συνιστώμενος driver είναι "systemd". Παρακαλώ ακολουθήστε τον οδηγό στο https://kubernetes.io/docs/setup/cri/ |
Τόσο στον master όσο και στους worker κόμβους, ενημερώστε το cgroupdriver με τις ακόλουθες εντολές:
|
1 2 3 4 5 6 7 8 9 |
sudo mkdir /etc/docker cat <<EOF | sudo tee /etc/docker/daemon.json { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" } EOF |
Στη συνέχεια, εκτελέστε τις ακόλουθες εντολές για να επανεκκινήσετε και να ενεργοποιήσετε το Docker κατά την εκκίνηση του συστήματος:
|
1 2 3 |
sudo systemctl enable docker sudo systemctl daemon-reload sudo systemctl restart docker |
Μόλις ρυθμιστεί αυτό, μπορούμε να προχωρήσουμε στο διασκεδαστικό κομμάτι, την ανάπτυξη του Kubernetes cluster!
Βήμα 6: Αρχικοποίηση του Kubernetes Master Node
Το πρώτο βήμα για την ανάπτυξη ενός Kubernetes cluster είναι η εκκίνηση του master node. Ενώ βρίσκεστε στο τερματικό του master node σας, εκτελέστε την ακόλουθη εντολή για να αρχικοποιήσετε το kubernetes-master:
|
1 |
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 |
Εάν εκτελέσετε την παραπάνω εντολή και το σύστημά σας δεν πληροί τις αναμενόμενες απαιτήσεις, όπως η ελάχιστη RAM ή CPU όπως εξηγείται στην ενότητα Προαπαιτούμενα, θα λάβετε μια προειδοποίηση και το cluster δεν θα ξεκινήσει:

Το παρακάτω στιγμιότυπο οθόνης δείχνει ότι η αρχικοποίηση ήταν επιτυχής. Έχουμε επίσης προσθέσει μια παράμετρο για να καθορίσουμε το δίκτυο pod με την IP 10.244.0.0. Είναι η προεπιλεγμένη IP που χρησιμοποιεί το kube-flannel. Θα συζητήσουμε περισσότερα για το δίκτυο pod στο επόμενο βήμα.

Στο αποτέλεσμα, μπορείτε να δείτε την εντολή kubeadm join (έχουμε αποκρύψει τη διεύθυνση IP μας) και ένα μοναδικό token που θα εκτελέσετε στον worker node και σε όλους τους άλλους worker nodes που θέλετε να συνδεθούν σε αυτό το cluster. Στη συνέχεια, αντιγράψτε και επικολλήστε αυτήν την εντολή καθώς θα τη χρησιμοποιήσετε αργότερα στον worker node.
Στο αποτέλεσμα, το Kubernetes εμφανίζει επίσης ορισμένες πρόσθετες εντολές που πρέπει να εκτελέσετε ως απλός χρήστης στον master node προτού αρχίσετε να χρησιμοποιείτε το cluster. Ας εκτελέσουμε αυτές τις εντολές:
|
1 2 3 |
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config |
Έχουμε πλέον αρχικοποιήσει τον master node. Ωστόσο, πρέπει επίσης να ρυθμίσουμε το δίκτυο pod στον master node προτού συνδέσουμε τους worker nodes.
Βήμα 7: Ανάπτυξη ενός Δικτύου Pod
Ένα δίκτυο pod διευκολύνει την επικοινωνία μεταξύ των διακομιστών και είναι απαραίτητο για τη σωστή λειτουργία του Kubernetes cluster. Μπορείτε να διαβάσετε περισσότερα για το Kubernetes Cluster Networking από τα επίσημα έγγραφα. Θα χρησιμοποιήσουμε το δίκτυο pod Flannel για αυτόν τον οδηγό. Το Flannel είναι ένα απλό δίκτυο επικάλυψης (overlay network) που ικανοποιεί τις απαιτήσεις του Kubernetes.
Πριν αναπτύξουμε το δίκτυο pod, πρέπει να ελέγξουμε την κατάσταση του τείχους προστασίας. Εάν έχετε ενεργοποιήσει το τείχος προστασίας αφού ακολουθήσατε το βήμα 5 του οδηγού για τη ρύθμιση του διακομιστή σας Ubuntu, πρέπει πρώτα να προσθέσετε έναν κανόνα τείχους προστασίας για να δημιουργήσετε εξαιρέσεις για τη θύρα 6443 (την προεπιλεγμένη θύρα για το Kubernetes). Εκτελέστε τις ακόλουθες ufw εντολές τόσο στον master όσο και στους worker κόμβους:
|
1 2 |
sudo ufw allow 6443 sudo ufw allow 6443/tcp |
Μετά από αυτό, μπορείτε να εκτελέσετε τις ακόλουθες δύο εντολές για να αναπτύξετε το δίκτυο pod στον master κόμβο:
|
1 2 |
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml |
Αυτό μπορεί να διαρκέσει από μερικά δευτερόλεπτα έως ένα λεπτό, ανάλογα με το περιβάλλον σας, για να φορτωθεί το δίκτυο flannel. Εκτελέστε την ακόλουθη εντολή για να επιβεβαιώσετε ότι όλα έχουν ξεκινήσει:
|
1 |
kubectl get pods --all-namespaces |
Το αποτέλεσμα της εντολής θα πρέπει να δείχνει την κατάσταση όλων των υπηρεσιών ως running εάν όλα ήταν επιτυχή:

Μπορείτε επίσης να δείτε την υγεία των στοιχείων χρησιμοποιώντας την εντολή get component status:
|
1 |
kubectl get componentstatus |

Αυτή η εντολή έχει μια σύντομη μορφή cs:
|
1 |
kubectl get cs |

Εάν δείτε την κατάσταση unhealthy, τροποποιήστε τα ακόλουθα αρχεία και διαγράψτε τη γραμμή στο (spec->containers->command) που περιέχει αυτή τη φράση - --port=0 :
|
1 |
sudo nano /etc/kubernetes/manifests/kube-scheduler.yaml |
Κάντε το ίδιο για αυτό το αρχείο:
|
1 |
sudo nano /etc/kubernetes/manifests/kube-controller-manager.yaml |
Τέλος, επανεκκινήστε την υπηρεσία Kubernetes:
|
1 |
sudo systemctl restart kubelet.service |
Βήμα 8: Σύνδεση των Worker Nodes στο Kubernetes Cluster
Με τον kubernetes-master κόμβο σε λειτουργία και το δίκτυο pod έτοιμο, μπορούμε να συνδέσουμε τους worker κόμβους μας στο cluster. Σε αυτόν τον οδηγό, έχουμε μόνο έναν worker κόμβο, οπότε θα εργαστούμε με αυτόν. Εάν έχετε περισσότερους worker κόμβους, μπορείτε πάντα να ακολουθήσετε τα ίδια βήματα που θα εξηγήσουμε παρακάτω για να συνδεθείτε στο cluster.
Αρχικά, συνδεθείτε στον worker κόμβο σας σε μια ξεχωριστή συνεδρία τερματικού. Θα χρησιμοποιήσετε την εντολή kubeadm join που εμφανίστηκε στο τερματικό σας όταν αρχικοποιήσαμε τον master κόμβο στο Βήμα 6. Εκτελέστε την εντολή:
|
1 |
sudo kubeadm join 127.0.0.188:6443 --token u81y02.91gqwkxx6rnhnnly --discovery-token-ca-cert-hash sha256:4482ab1c66bf17992ea02c1ba580f4af9f3ad4cc37b24f189db34d6e3fe95c2d |
Θα πρέπει να δείτε παρόμοιο αποτέλεσμα όπως το παρακάτω στιγμιότυπο οθόνης όταν ολοκληρωθεί η σύνδεση στο cluster:

Μόλις ολοκληρωθεί η διαδικασία σύνδεσης, μεταβείτε στο τερματικό του master κόμβου και εκτελέστε την ακόλουθη εντολή για να επιβεβαιώσετε ότι ο worker κόμβος σας έχει συνδεθεί στο cluster:
|
1 |
kubectl get nodes |
Στο στιγμιότυπο οθόνης από το αποτέλεσμα της παραπάνω εντολής, μπορούμε να δούμε ότι ο worker κόμβος έχει συνδεθεί στο cluster:

Βήμα 9: Ανάπτυξη μιας εφαρμογής στο Kubernetes Cluster
Σε αυτό το σημείο, έχετε εγκαταστήσει με επιτυχία ένα Kubernetes cluster. Ας κάνουμε το cluster χρήσιμο αναπτύσσοντας μια υπηρεσία σε αυτό. Το Nginx είναι ένας δημοφιλής διακομιστής ιστού που μπορεί να υπερηφανεύεται για απίστευτες ταχύτητες ακόμη και με χιλιάδες συνδέσεις. Θα αναπτύξουμε τον Nginx webserver στο cluster για να αποδείξουμε ότι μπορείτε να χρησιμοποιήσετε αυτήν τη ρύθμιση σε μια πραγματική εφαρμογή.
Εκτελέστε την ακόλουθη εντολή στον master κόμβο για να δημιουργήσετε μια ανάπτυξη Kubernetes για το Nginx:
|
1 |
kubectl create deployment nginx --image=nginx |
Μπορείτε να δείτε τη δημιουργημένη ανάπτυξη χρησιμοποιώντας την εντολή describe deployment :
|
1 |
kubectl περιγράψετε deployment nginx |

Για να κάνετε το nginx υπηρεσία προσβάσιμη μέσω του διαδικτύου, εκτελέστε την ακόλουθη εντολή:
|
1 |
kubectl create service nodeport nginx --tcp=80:80 |

Η παραπάνω εντολή θα δημιουργήσει μια δημόσια προσβάσιμη υπηρεσία για το Nginx deployment. Καθώς αυτό είναι ένα nodeport deployment, το Kubernetes εκχωρεί στην υπηρεσία μια θύρα στο εύρος των 32000+.
Μπορείτε να δείτε τις τρέχουσες υπηρεσίες εκτελώντας την εντολή:
|
1 |
kubectl get svc |

Μπορείτε να δείτε ότι η εκχωρημένη θύρα μας είναι 32264. Σημειώστε τη θύρα που εμφανίζεται στο τερματικό σας για να τη χρησιμοποιήσετε στο επόμενο βήμα.
Για να επαληθεύσετε ότι η ανάπτυξη της υπηρεσίας Nginx είναι επιτυχής, εκτελέστε μια κλήση curl στο worker node από το master. Αντικαταστήστε την IP του δικού σας worker node και τη θύρα που λάβατε από την παραπάνω εντολή:
|
1 |
curl your-kubernetes-worker-ip:32264 |
Θα πρέπει να δείτε το αποτέλεσμα του προεπιλεγμένου Nginx index.html:

Προαιρετικά, μπορείτε να επισκεφθείτε τον συνδυασμό διεύθυνσης IP και θύρας του worker node στο πρόγραμμα περιήγησής σας και να δείτε την προεπιλεγμένη σελίδα index του Nginx:

Μπορείτε να διαγράψετε ένα deployment καθορίζοντας το όνομα του deployment. Για παράδειγμα, αυτή η εντολή θα διαγράψει το deployment μας:
|
1 |
kubectl delete deployment nginx |
Έχουμε πλέον δοκιμάσει με επιτυχία το cluster μας!
Συμπέρασμα
Σε αυτόν τον οδηγό, μάθατε πώς να εγκαταστήσετε ένα Kubernetes cluster σε Ubuntu 20.04. Ρυθμίσατε ένα cluster που αποτελείται από ένα master και ένα worker node. Μπορέσατε να εγκαταστήσετε το σύνολο εργαλείων του Kubernetes, δημιουργήσατε ένα δίκτυο pod και συνδέσατε το worker node στο master node. Δοκιμάσαμε επίσης τη θεωρία μας κάνοντας μια βασική ανάπτυξη ενός Nginx webserver στο cluster. Αυτό θα πρέπει να λειτουργήσει ως βάση για την εργασία με Kubernetes clusters σε Ubuntu.
Αν και χρησιμοποιήσαμε μόνο ένα worker node, μπορείτε να επεκτείνετε το cluster σας με όσα nodes επιθυμείτε. Αν θέλετε να εμβαθύνετε στο DevOps με εργαλεία αυτοματοποίησης όπως το Ansible, έχουμε έναν οδηγό που εμβαθύνει στην υλοποίηση αναπτύξεων Kubernetes cluster με το Ansible και το Kubeadm, ρίξτε του μια ματιά. Αν θέλετε να μάθετε πώς να αναπτύξετε μια εφαρμογή PHP σε ένα Kubernetes cluster, δείτε αυτόν τον οδηγό.
Καλή υπολογιστική!
Σχόλια
Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.