Έργο projet10-kubernetes-deploiements · Όταν το Docker Desktop εμφανίζει « Create Kubernetes Cluster », προτείνει δύο τύπους συμπλέγματος: kind ή Kubeadm. Αυτό το έγγραφο εξηγεί τη διαφορά και ποιο να διαλέξετε για αυτό το μάθημα.
| Κριτήριο | Kubeadm | kind |
|---|---|---|
| Σημασία | Επίσημο εργαλείο εκκίνησης συμπλέγματος | Kubernetes in Docker |
| Αριθμός κόμβων | 1 μόνο (single-node) | 1 έως 10 (πολυκόμβο δυνατό) |
| Πού τρέχουν οι κόμβοι | Απευθείας στο VM του Docker Desktop | Κάθε κόμβος = ένα κοντέινερ Docker |
| Αποθήκευση εικόνων | Κοινή με τον κινητήρα Docker | Απομονωμένη (containerd δικό του του kind) |
Τοπική εικόνα (docker build) | Ορατή αμέσως (imagePullPolicy: IfNotPresent) | Μη ορατή → kind load docker-image <img> υποχρεωτικό |
| Προσομοίωση βλάβης κόμβου | Όχι (ένας μόνο κόμβος) | Ναι (μπορούμε να σταματήσουμε ένα κοντέινερ-κόμβο) |
| Ταχύτητα / ελαφρότητα | Πολύ γρήγορο στην εκκίνηση | Γρήγορο, αλλά ένα επιπλέον βήμα φόρτωσης εικόνας |
| Ιδανικό για | Μάθηση Pods / Deployments / Services χωρίς τριβή | Δοκιμή πολυκόμβου, scheduling, affinity |
| Επαναφορά | Reset του συμπλέγματος | Η αλλαγή του αριθμού κόμβων επαναφέρει τα πάντα |
Το έργο μας κατασκευάζει μια εικόνα τοπικά:
docker build -t demo-k8s:1.0 ./appκαι το deployment.yaml χρησιμοποιεί:
image: demo-k8s:1.0
imagePullPolicy: IfNotPresent # ΔΕΝ προσπαθεί να κατεβάσει από μητρώοΤο σύμπλεγμα μοιράζεται τον κινητήρα Docker: η εικόνα demo-k8s:1.0 είναι ήδη εκεί.
docker build -t demo-k8s:1.0 ./app
kubectl apply -f k8s/Αλλιώς τα Pods μένουν σε ErrImagePull / ImagePullBackOff (το σύμπλεγμα δεν βρίσκει την εικόνα).
docker build -t demo-k8s:1.0 ./app
kind load docker-image demo-k8s:1.0 # <-- απαραίτητο με kind
kubectl apply -f k8s/Να το ξανακάνετε σε ΚΑΘΕ ανακατασκευή εικόνας με kind. Είναι η παράλειψη αρ. 1 που μπλοκάρει τους αρχάριους.
| Ο στόχος σας | Διαλέξτε |
|---|---|
| Ανακάλυψη Pods, Deployments, Services, ConfigMap, scaling, rolling update | Kubeadm ⭐ |
| Επίδειξη πολυκόμβου συμπλέγματος και κατανομής των Pods μεταξύ κόμβων | kind (2 κόμβοι ή περισσότεροι) |
Για αυτό το έργο, τσεκάρετε το Kubeadm και έπειτα Create.
Kubeadm.v1.34.1) είναι κατάλληλη.docker ps, πράγμα που γεμίζει την προβολή).kubectl config use-context docker-desktop
kubectl get nodes # πρέπει να εμφανίζει έναν κόμβο ReadyΣε περίπτωση προβλήματος πρόσβασης στις εικόνες ή στα Pods, δείτε το παράρτημα αντιμετώπισης προβλημάτων του 02-COMMANDES.md.
Μάθημα δημιουργημένο από τον Dr. Haythem REHOUMA — Ανάπτυξη και ανάπτυξη λύσεων δεδομένων