Skip to content

Εντολές kubectl εξηγούνται

Οι εντολές kubectl καθημερινής χρήσης, ομαδοποιημένες ανά εργασία: ανάγνωση του cluster, επιθεώρηση workloads, εφαρμογή και αναίρεση αλλαγών, έκθεση services, διαχείριση nodes και δημιουργία αντικειμένων ρυθμίσεων. Κάθε γραμμή συνδυάζει την εντολή με μια ρεαλιστική κλήση.

Με το kubectl χειρίζεσαι ένα cluster Kubernetes. Το μοντέλο είναι δηλωτικό: συνήθως εφαρμόζεις ένα manifest (apply -f) αντί να δημιουργείς πράγματα επιτακτικά, και μετά διαβάζεις το αποτέλεσμα (get, describe, logs). Οι εντολές παρακάτω καλύπτουν την καθημερινή λειτουργία· πρόσθεσε ένα flag namespace (-n name) όταν δεν βρίσκεσαι στο προεπιλεγμένο namespace.

Πίνακας αναφοράς · 59 καταχωρήσεις
59 of 59 rows
Cluster και context
Δείχνει πού εκτελούνται το control plane και οι βασικές υπηρεσίες.kubectl cluster-info
Εμφανίζει τα clusters και τα namespaces μεταξύ των οποίων μπορείς να εναλλάσσεσαι.kubectl config get-contexts
Εναλλάσσεται σε διαφορετικό context cluster ή namespace.kubectl config use-context my-prod
Ορίζει το προεπιλεγμένο namespace του τρέχοντος context.kubectl config set-context --current --namespace=staging
Μετονομάζει ένα αποθηκευμένο context στο kubeconfig σου.kubectl config rename-context old-name prod
Εμφανίζει κάθε τύπο πόρου που γνωρίζει το cluster.kubectl api-resources
Εκτυπώνει τις εκδόσεις Kubernetes του πελάτη και του διακομιστή.kubectl version
Δείχνει τα πεδία που υποστηρίζει ένας πόρος, όπως διαβάζονται από το σχήμα του API.kubectl explain pod.spec.containers
Ελέγχει αν ο τρέχων χρήστης επιτρέπεται να εκτελέσει μια δεδομένη ενέργεια.kubectl auth can-i delete pods
Επιθεώρηση workloads
Εμφανίζει τα pods και την κατάστασή τους· πρόσθεσε -o wide για node και IP.kubectl get pods -A
Εμφανίζει τους συνηθισμένους πόρους ενός namespace με μία κλήση.kubectl get all
Προσθέτει στήλες node και IP σε κάθε εντολή get.kubectl get pods -o wide
Εκτυπώνει έναν πόρο ως το πλήρες YAML manifest που βρίσκεται από πίσω του.kubectl get deploy/web -o yaml
Εμφανίζει τα deployments και πόσες replicas είναι έτοιμες.kubectl get deployments
Εμφανίζει τα statefulsets και τις έτοιμες replicas τους.kubectl get statefulsets
Εμφανίζει τα batch jobs και τα προγραμματισμένα cron jobs.kubectl get jobs,cronjobs
Δείχνει events, labels και κατάσταση για ένα pod.kubectl describe pod web-abc
Δείχνει τη χωρητικότητα, τις συνθήκες και τα pods που εκτελούνται σε ένα node.kubectl describe node node-1
Εκτυπώνει την stdout ενός pod· -f για παρακολούθηση, --previous για το τελευταίο crash.kubectl logs -f web-abc
Εκτελεί μια εντολή μέσα σε ένα pod που εκτελείται.kubectl exec -it web-abc -- sh
Ζωντανή CPU και μνήμη για pods ή nodes (απαιτεί metrics-server).kubectl top pods
Εμφανίζει πρόσφατα events όπως αποτυχημένα pulls και backoffs.kubectl get events -A --sort-by=.lastTimestamp
Εμφανίζει τους κανόνες ingress και τις διευθύνσεις των load balancer τους.kubectl get ingress
Αντιγράφει αρχεία μεταξύ του υπολογιστή σου και ενός pod που εκτελείται.kubectl cp web-abc:/var/log/app.log ./app.log
Μπλοκάρει μέχρι ένας πόρος να πληροί μια συνθήκη.kubectl wait --for=condition=ready pod -l app=web
Ξεκινά ένα pod μιας χρήσης από ένα image, χωρίς manifest.kubectl run debug --rm -it --image=busybox -- sh
Εφαρμογή, κλιμάκωση, rollout
Δείχνει τι θα άλλαζε το apply, χωρίς να το αλλάζει.kubectl diff -f deploy.yaml
Δημιουργεί ή ενημερώνει πόρους από αρχείο manifest.kubectl apply -f deploy.yaml
Εφαρμόζει manifests και διαγράφει αντικείμενα που τα άφησαν.kubectl apply -f dir/ --prune -l app=web
Ανοίγει έναν ζωντανό πόρο στον editor σου και εφαρμόζει στην αποθήκευση.kubectl edit deploy/web
Αλλάζει λίγα πεδία σε έναν ζωντανό πόρο.kubectl patch deploy/web --patch-file fix.json
Στρέφει τα containers ενός deployment σε νέο image.kubectl set image deploy/web web=nginx:1.27
Αντικαθιστά ένα αντικείμενο, διαγράφοντάς το και δημιουργώντας το ξανά όταν χρειάζεται.kubectl replace --force -f deploy.yaml
Αφαιρεί τους πόρους που δηλώνονται σε ένα αρχείο manifest.kubectl delete -f deploy.yaml
Αλλάζει τον αριθμό των replicas ενός deployment.kubectl scale deploy/web --replicas=4
Παρακολουθεί ένα rollout μέχρι να ολοκληρωθεί ή να αποτύχει.kubectl rollout status deploy/web
Εμφανίζει τις αναθεωρήσεις που έχει περάσει ένα rollout.kubectl rollout history deploy/web
Επανεκκινεί κάθε pod ενός deployment, ένα κάθε φορά.kubectl rollout restart deploy/web
Επιστρέφει ένα deployment στην προηγούμενη αναθεώρησή του.kubectl rollout undo deploy/web
Services και δικτύωση
Εμφανίζει τα services με τον τύπο και το cluster IP τους.kubectl get svc
Δείχνει ποια IP pods υποστηρίζουν αυτή τη στιγμή κάθε service.kubectl get endpoints web
Δημιουργεί ένα service μπροστά από ένα σύνολο pods· το --type=NodePort ή LoadBalancer φτάνει εκτός cluster.kubectl expose deploy/web --port=80
Δείχνει τη διεύθυνση του load balancer πίσω από κάθε ingress (alpha).kubectl ingress status -A
Εμφανίζει τις πολιτικές που περιορίζουν την κίνηση των pods.kubectl get networkpolicies
Δημιουργεί τούνελ από μια τοπική θύρα σε ένα pod ή service.kubectl port-forward svc/web 8080:80
Nodes και συντήρηση
Εμφανίζει τα nodes του cluster και την κατάστασή τους.kubectl get nodes -o wide
Σημειώνει ένα node ως μη προγραμματιζόμενο (χωρίς νέα pods).kubectl cordon node-1
Σημειώνει ξανά ένα node ως προγραμματιζόμενο.kubectl uncordon node-1
Απομακρύνει τα pods από ένα node και το σημειώνει ως μη προγραμματιζόμενο.kubectl drain node-1 --ignore-daemonsets
Προσθέτει ή αφαιρεί ένα taint που απωθεί pods από ένα node.kubectl taint node node-1 key=value:NoSchedule
Διαγράφει αμέσως ένα κολλημένο pod, παρακάμπτοντας τη φυσιολογική τερμάτιση.kubectl delete pod web-abc --grace-period=0 --force
Αντικείμενα και ρυθμίσεις
Δημιουργεί ένα νέο namespace για να οριοθετήσεις πόρους.kubectl create namespace staging
Εμφανίζει τα namespaces και την κατάστασή τους.kubectl get namespaces
Αποθηκεύει κλειδιά ή αρχεία ρυθμίσεων ως αντικείμενο του cluster.kubectl create configmap app --from-file=config.yaml
Εμφανίζει τα configmaps στο namespace.kubectl get configmaps
Αποθηκεύει έναν κωδικό ή πιστοποιητικό ως secret.kubectl create secret generic db --from-literal=password=s3cret
Εμφανίζει τα secrets στο namespace.kubectl get secrets
Επισυνάπτει ή αφαιρεί ένα label σε έναν πόρο.kubectl label pod web-abc tier=backend
Επισυνάπτει μεταδεδομένα με τα οποία δεν μπορούν να ταιριάξουν τα selectors.kubectl annotate deploy/web release=july