Skip to content

Perintah kubectl dijelaskan

Perintah kubectl yang dipakai sehari-hari, dikelompokkan per tugas: membaca klaster, memeriksa workload, menerapkan dan mengembalikan perubahan, mengekspos service, mengelola node, dan membuat objek konfigurasi. Setiap baris memasangkan perintah dengan contoh pemanggilan yang realistis.

kubectl adalah pegangan Anda pada klaster Kubernetes. Modelnya deklaratif: biasanya Anda menerapkan manifest (apply -f) alih-alih membuat sesuatu secara imperatif, lalu membaca kembali hasilnya (get, describe, logs). Perintah di bawah mencakup operasi harian; tambahkan flag namespace (-n nama) saat Anda tidak berada di namespace default.

Tabel referensi · 59 entri
59 of 59 rows
Klaster & konteks
Menampilkan di mana control plane dan layanan inti berjalan.kubectl cluster-info
Mencantumkan klaster dan namespace yang bisa Anda tukar.kubectl config get-contexts
Beralih ke konteks klaster atau namespace lain.kubectl config use-context my-prod
Mengatur namespace default dari konteks saat ini.kubectl config set-context --current --namespace=staging
Mengganti nama konteks tersimpan di kubeconfig Anda.kubectl config rename-context old-name prod
Mencantumkan setiap tipe resource yang dikenal klaster.kubectl api-resources
Mencetak versi Kubernetes klien dan server.kubectl version
Menampilkan field yang didukung sebuah resource, dibaca dari skema API.kubectl explain pod.spec.containers
Memeriksa apakah pengguna saat ini boleh menjalankan aksi tertentu.kubectl auth can-i delete pods
Memeriksa workload
Mencantumkan pod dan statusnya; tambah -o wide untuk node dan IP.kubectl get pods -A
Mencantumkan resource umum sebuah namespace dalam satu panggilan.kubectl get all
Menambahkan kolom node dan IP ke perintah get apa pun.kubectl get pods -o wide
Mencetak resource sebagai manifest YAML lengkap di baliknya.kubectl get deploy/web -o yaml
Mencantumkan deployment dan berapa replika yang siap.kubectl get deployments
Mencantumkan statefulset dan replika siapnya.kubectl get statefulsets
Mencantumkan job batch dan cron job terjadwal.kubectl get jobs,cronjobs
Menampilkan event, label, dan status untuk satu pod.kubectl describe pod web-abc
Menampilkan kapasitas, kondisi, dan pod yang berjalan pada sebuah node.kubectl describe node node-1
Mencetak stdout pod; -f untuk mengikuti, --previous untuk crash 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 node (butuh metrics-server).kubectl top pods
Mencantumkan event terbaru seperti pull gagal dan backoff.kubectl get events -A --sort-by=.lastTimestamp
Mencantumkan aturan ingress dan alamat load balancer-nya.kubectl get ingress
Menyalin berkas antara mesin Anda dan pod yang berjalan.kubectl cp web-abc:/var/log/app.log ./app.log
Memblokir sampai sebuah resource memenuhi kondisi.kubectl wait --for=condition=ready pod -l app=web
Menjalankan pod sekali pakai dari sebuah image, tanpa manifest.kubectl run debug --rm -it --image=busybox -- sh
Apply, scale, rollout
Menampilkan apa yang akan diubah apply, tanpa mengubahnya.kubectl diff -f deploy.yaml
Membuat atau memperbarui resource dari file manifest.kubectl apply -f deploy.yaml
Menerapkan manifest dan menghapus objek yang keluar darinya.kubectl apply -f dir/ --prune -l app=web
Membuka resource live di editor Anda dan menerapkannya saat disimpan.kubectl edit deploy/web
Mengubah beberapa field pada resource live.kubectl patch deploy/web --patch-file fix.json
Mengarahkan kontainer deployment ke image baru.kubectl set image deploy/web web=nginx:1.27
Mengganti objek, menghapus dan membuat ulang bila perlu.kubectl replace --force -f deploy.yaml
Menghapus resource yang dideklarasikan dalam file manifest.kubectl delete -f deploy.yaml
Mengubah jumlah replika sebuah deployment.kubectl scale deploy/web --replicas=4
Mengawasi rollout sampai selesai atau gagal.kubectl rollout status deploy/web
Mencantumkan revisi yang telah dilalui sebuah rollout.kubectl rollout history deploy/web
Menghidupkan ulang setiap pod deployment, satu per satu.kubectl rollout restart deploy/web
Mengembalikan deployment ke revisi sebelumnya.kubectl rollout undo deploy/web
Service & jaringan
Mencantumkan service beserta tipenya dan cluster IP-nya.kubectl get svc
Menampilkan IP pod mana yang saat ini menopang tiap service.kubectl get endpoints web
Membuat service yang berada di depan sekumpulan pod; --type=NodePort atau LoadBalancer menjangkau luar klaster.kubectl expose deploy/web --port=80
Menampilkan alamat load balancer di balik tiap ingress (alpha).kubectl ingress status -A
Mencantumkan kebijakan yang membatasi lalu lintas pod.kubectl get networkpolicies
Membuat terowongan port lokal ke pod atau service.kubectl port-forward svc/web 8080:80
Node & pemeliharaan
Mencantumkan node klaster dan statusnya.kubectl get nodes -o wide
Menandai node tidak dapat dijadwalkan (tanpa pod baru).kubectl cordon node-1
Menandai node dapat dijadwalkan lagi.kubectl uncordon node-1
Mengusir pod dari sebuah node dan menandainya tidak dapat dijadwalkan.kubectl drain node-1 --ignore-daemonsets
Menambah atau menghapus taint yang menjauhkan pod dari sebuah node.kubectl taint node node-1 key=value:NoSchedule
Menghapus pod yang macet seketika, melewati shutdown graceful.kubectl delete pod web-abc --grace-period=0 --force
Objek & konfigurasi
Membuat namespace baru untuk membatasi cakupan resource.kubectl create namespace staging
Mencantumkan namespace dan statusnya.kubectl get namespaces
Menyimpan kunci atau berkas konfigurasi sebagai objek klaster.kubectl create configmap app --from-file=config.yaml
Mencantumkan configmap di namespace tersebut.kubectl get configmaps
Menyimpan kata sandi atau sertifikat sebagai secret.kubectl create secret generic db --from-literal=password=s3cret
Mencantumkan secret di namespace tersebut.kubectl get secrets
Menempelkan atau menghapus label pada resource.kubectl label pod web-abc tier=backend
Menempelkan metadata yang tidak bisa dicocokkan selector.kubectl annotate deploy/web release=july