Πρακτική · Ενότητα 07 — Kubernetes : concepts de base · Επίπεδο ενδιάμεσο
Δοκιμάστε πρώτα μόνοι! Πραγματοποιήστε το έργο με αυτή μόνο την εκφώνηση. Η διόρθωση (σχολιασμένα μανιφέστα + εντολές) βρίσκεται στο README.md, διπλωμένη. Μην την ανοίξετε παρά αφού έχετε προσπαθήσει.
demo-k8s:1.0 ήδη κατασκευασμένη (αλλιώς: docker build -t demo-k8s:1.0 ./app).Να κατανοήσετε σε τι χρησιμεύει ένα Service και να κατέχετε τους τρεις κύριους τύπους:
Όλα πάνω από το ίδιο Deployment: μία μόνο ομάδα Pods, τρεις τρόποι να τα εκθέσετε.
Τα Pods είναι εφήμερα: γεννιούνται, πεθαίνουν, αλλάζουν IP. Δεν μπορούμε λοιπόν να βασιζόμαστε στην IP ενός Pod. Χρειάζεται μια σταθερή διεύθυνση που κατανέμει την κίνηση προς τα σωστά Pods: αυτός είναι ο ρόλος του Service, που βρίσκει τα Pods του χάρη στις ετικέτες.
demo-k8s:1.0).app: demo-back).ClusterIP με όνομα demo-clusterip (θύρα 80 → 5000).curl http://demo-clusteripNodePort με όνομα demo-nodeport (nodePort 30082).http://localhost:30082 από τον περιηγητή σας.LoadBalancer με όνομα demo-lb (θύρα 8090).EXTERNAL-IP (kubectl get svc) και ανοίξτε το http://localhost:8090.kubectl get svc) και εντοπίστε: TYPE, CLUSTER-IP, EXTERNAL-IP, PORT(S).kubectl get endpoints demo-clusterip): είναι οι IP των Pods πίσω από το Service.k8s/deployment.yaml και τα τρία Services (service-clusterip.yaml, service-nodeport.yaml, service-loadbalancer.yaml).kubectl get svc που δείχνει τους 3 τύπους.curl http://demo-clusterip από ένα Pod πελάτη) με 2 διαφορετικά ονόματα Pods.kubectl get endpoints demo-clusterip.| Κριτήριο | Αναμενόμενο |
|---|---|
| ClusterIP | Προσβάσιμο με όνομα DNS από άλλο Pod |
| NodePort | Προσβάσιμο στο http://localhost:30082 |
| LoadBalancer | EXTERNAL-IP = localhost, προσβάσιμο στο http://localhost:8090 |
| Κατανομή | Το όνομα του Pod αλλάζει μεταξύ δύο αιτημάτων |
| Endpoints | Οι IP των 3 Pods εμφανίζονται πίσω από το Service |
Κολλήσατε; Το README.md περιέχει την πλήρη διόρθωση, οι έννοιες αναλύονται στο 01-CONCEPTS-SERVICES.md και το 02-COMMANDES.md λιστάρει όλο το χρήσιμο
kubectl— να τα συμβουλευτείτε αφού έχετε προσπαθήσει.