Skip to content

Perintah kubectl diterangkan

Perintah kubectl yang digunakan setiap hari, dikelompokkan mengikut tugas: membaca klaster, memeriksa beban kerja, menerapkan dan mengundurkan perubahan, mendedahkan servis, mengurus nod, dan mencipta objek konfigurasi. Setiap baris memadankan perintah dengan contoh panggilan yang realistik.

kubectl ialah pemegang anda pada klaster Kubernetes. Modelnya bersifat deklaratif: biasanya anda menerapkan manifest (apply -f) berbanding mencipta sesuatu secara imperatif, kemudian membaca semula hasilnya (get, describe, logs). Perintah di bawah merangkumi operasi harian; tambahkan flag namespace (-n nama) apabila anda tidak berada dalam namespace lalai.

Jadual rujukan · 59 entri
59 of 59 rows
Klaster & konteks
Menunjukkan di mana control plane dan perkhidmatan teras berjalan.kubectl cluster-info
Menyenaraikan klaster dan namespace yang boleh anda tukar.kubectl config get-contexts
Bertukar ke konteks klaster atau namespace yang lain.kubectl config use-context my-prod
Menetapkan namespace lalai bagi konteks semasa.kubectl config set-context --current --namespace=staging
Menamakan semula konteks tersimpan dalam kubeconfig anda.kubectl config rename-context old-name prod
Menyenaraikan setiap jenis sumber yang diketahui klaster.kubectl api-resources
Mencetak versi Kubernetes klien dan pelayan.kubectl version
Menunjukkan medan yang disokong oleh sumber, dibaca daripada skema API.kubectl explain pod.spec.containers
Menyemak sama ada pengguna semasa boleh menjalankan tindakan tertentu.kubectl auth can-i delete pods
Memeriksa beban kerja
Menyenaraikan pod dan statusnya; tambah -o wide untuk nod dan IP.kubectl get pods -A
Menyenaraikan sumber biasa bagi satu namespace dalam satu panggilan.kubectl get all
Menambah lajur nod dan IP pada sebarang perintah get.kubectl get pods -o wide
Mencetak sumber sebagai manifest YAML penuh di sebaliknya.kubectl get deploy/web -o yaml
Menyenaraikan deployment dan bilangan replika yang sedia.kubectl get deployments
Menyenaraikan statefulset dan replika sedianya.kubectl get statefulsets
Menyenaraikan job batch dan cron job berjadual.kubectl get jobs,cronjobs
Menunjukkan peristiwa, label dan status bagi satu pod.kubectl describe pod web-abc
Menunjukkan kapasiti, keadaan dan pod yang berjalan pada sesebuah nod.kubectl describe node node-1
Mencetak stdout pod; -f untuk mengikut, --previous untuk kerosakan terakhir.kubectl logs -f web-abc
Menjalankan perintah di dalam pod yang berjalan.kubectl exec -it web-abc -- sh
CPU dan memori langsung untuk pod atau nod (perlukan metrics-server).kubectl top pods
Menyenaraikan peristiwa terkini seperti tarikan gagal dan backoff.kubectl get events -A --sort-by=.lastTimestamp
Menyenaraikan peraturan ingress dan alamat load balancernya.kubectl get ingress
Menyalin fail antara mesin anda dan pod yang berjalan.kubectl cp web-abc:/var/log/app.log ./app.log
Menunggu sehingga sumber memenuhi sesuatu keadaan.kubectl wait --for=condition=ready pod -l app=web
Memulakan pod sekali guna daripada imej, tanpa manifest.kubectl run debug --rm -it --image=busybox -- sh
Menerap, menskala, melancarkan
Menunjukkan apa yang akan diubah oleh apply, tanpa mengubahnya.kubectl diff -f deploy.yaml
Mencipta atau mengemas kini sumber daripada fail manifest.kubectl apply -f deploy.yaml
Menerapkan manifest dan memadam objek yang keluar daripadanya.kubectl apply -f dir/ --prune -l app=web
Membuka sumber langsung dalam editor anda dan menerapkannya semasa disimpan.kubectl edit deploy/web
Mengubah beberapa medan pada sumber langsung.kubectl patch deploy/web --patch-file fix.json
Mengarahkan kontena deployment ke imej baharu.kubectl set image deploy/web web=nginx:1.27
Menggantikan objek, memadam dan menciptanya semula apabila perlu.kubectl replace --force -f deploy.yaml
Membuang sumber yang diisytiharkan dalam fail manifest.kubectl delete -f deploy.yaml
Mengubah bilangan replika sesuatu deployment.kubectl scale deploy/web --replicas=4
Memantau rollout sehingga selesai atau gagal.kubectl rollout status deploy/web
Menyenaraikan revisi yang dilalui oleh sesuatu rollout.kubectl rollout history deploy/web
Memulakan semula setiap pod deployment, satu demi satu.kubectl rollout restart deploy/web
Mengundurkan deployment ke revisi sebelumnya.kubectl rollout undo deploy/web
Servis & rangkaian
Menyenaraikan servis beserta jenis dan cluster IP-nya.kubectl get svc
Menunjukkan IP pod mana yang sedang menyokong setiap servis.kubectl get endpoints web
Mencipta servis di hadapan sekumpulan pod; --type=NodePort atau LoadBalancer menjangkau luar klaster.kubectl expose deploy/web --port=80
Menunjukkan alamat load balancer di sebalik setiap ingress (alfa).kubectl ingress status -A
Menyenaraikan dasar yang mengehadkan trafik pod.kubectl get networkpolicies
Membuat terowong port tempatan ke pod atau servis.kubectl port-forward svc/web 8080:80
Nod & penyelenggaraan
Menyenaraikan nod klaster dan statusnya.kubectl get nodes -o wide
Menanda nod tidak boleh dijadualkan (tiada pod baharu).kubectl cordon node-1
Menanda nod boleh dijadualkan semula.kubectl uncordon node-1
Mengusir pod daripada nod dan menandanya tidak boleh dijadualkan.kubectl drain node-1 --ignore-daemonsets
Menambah atau membuang taint yang menjauhkan pod daripada nod.kubectl taint node node-1 key=value:NoSchedule
Memadam pod tersekat serta-merta, melangkau penutupan teratur.kubectl delete pod web-abc --grace-period=0 --force
Objek & konfigurasi
Mencipta namespace baharu untuk skop sumber.kubectl create namespace staging
Menyenaraikan namespace dan statusnya.kubectl get namespaces
Menyimpan kunci atau fail konfigurasi sebagai objek klaster.kubectl create configmap app --from-file=config.yaml
Menyenaraikan configmap dalam namespace tersebut.kubectl get configmaps
Menyimpan kata laluan atau sijil sebagai secret.kubectl create secret generic db --from-literal=password=s3cret
Menyenaraikan secret dalam namespace tersebut.kubectl get secrets
Melekat atau membuang label pada sumber.kubectl label pod web-abc tier=backend
Melekatkan metadata yang tidak boleh dipadankan oleh pemilih.kubectl annotate deploy/web release=july