Pendahuluan
Kubectl adalah sekumpulan perintah untuk mengontrol cluster Kubernetes. Setiap perintah Kubernetes memiliki titik akhir API, dan tujuan utama kubectl adalah untuk menjalankan permintaan HTTP ke API.
Meskipun Anda dapat mengeluarkan permintaan HTTP sendiri (misalnya, menggunakan curl), kubectl dirancang untuk membuat proses ini lebih nyaman dan mudah.
Tutorial ini akan mencakup semua operasi umum kubectl dan memberikan contoh untuk membiasakan diri Anda dengan sintaks.
Daftar Perintah kubectl
Gunakan kubectl
perintah yang tercantum di bawah ini sebagai referensi cepat saat bekerja dengan Kubernetes.
Mencantumkan Sumber Daya
Untuk membuat daftar satu atau lebih pod, pengontrol replikasi, layanan, atau set daemon, gunakan kubectl get
perintah.
Buat daftar teks biasa dari semua ruang nama:
kubectl get namespaces
Tampilkan daftar teks biasa dari semua pod:
kubectl get pods
Buat daftar teks biasa yang mendetail dari semua pod, yang berisi informasi seperti nama node:
kubectl get pods -o wide
Menampilkan daftar semua pod yang berjalan pada server node tertentu:
kubectl get pods --field-selector=spec.nodeName=[server-name]
Buat daftar pengontrol replikasi tertentu dalam teks biasa:
kubectl get replicationcontroller [replication-controller-name]
Buat daftar teks biasa dari semua pengontrol dan layanan replikasi:
kubectl get replicationcontroller,services
Tampilkan daftar teks biasa dari semua set daemon:
kubectl get daemonset
Membuat Sumber Daya
Buat sumber daya seperti layanan, penerapan, pekerjaan, atau namespace menggunakan kubectl create
perintah.
Misalnya, untuk membuat namespace baru, ketik:
kubectl create namespace [namespace-name]
Buat sumber daya dari file JSON atau YAML:
kubectl create -f [filename]
Menerapkan dan Memperbarui Sumber Daya
Untuk menerapkan atau memperbarui sumber daya, gunakan kubectl apply
memerintah. Sumber dalam operasi ini dapat berupa file atau input standar (stdin ).
Buat layanan baru dengan definisi yang terkandung dalam file [nama-layanan].yaml:
kubectl apply -f [service-name].yaml
Buat pengontrol replikasi baru dengan definisi yang terkandung dalam file [nama pengontrol].yaml:
kubectl apply -f [controller-name].yaml
Buat objek yang ditentukan dalam file .yaml, .yml, atau .json apa pun di direktori:
kubectl apply -f [directory-name]
Anda dapat memperbarui sumber daya dengan mengonfigurasinya di editor teks, menggunakan kubectl edit
memerintah. Perintah ini merupakan kombinasi dari kubectl get
dan kubectl apply
.
Misalnya, untuk mengedit layanan, ketik:
kubectl edit svc/[service-name]
Perintah ini membuka file di editor default Anda. Untuk menggunakan editor lain, tentukan di depan perintah:
KUBE_EDITOR=”[editor-name]” kubectl edit svc/[service-name]
Menampilkan Status Sumber Daya
Untuk menampilkan status sejumlah sumber daya secara detail, gunakan kubectl describe
memerintah. Secara default, output juga mencantumkan sumber daya yang tidak diinisialisasi.
Lihat detail tentang node tertentu:
kubectl describe nodes [node-name]
Lihat detail tentang pod tertentu:
kubectl describe pods [pod-name]
Menampilkan detail tentang pod yang nama dan jenisnya tercantum di pod.json :
kubectl describe -f pod.json
Lihat detail tentang semua pod yang dikelola oleh pengontrol replikasi tertentu:
kubectl describe pods [replication-controller-name]
Tampilkan detail tentang semua pod:
kubectl describe pods
Menghapus Sumber Daya
Untuk menghapus sumber daya dari file atau stdin, gunakan kubectl delete
perintah.
Hapus pod menggunakan nama dan jenis yang tercantum di pod.yaml:
kubectl delete -f pod.yaml
Hapus semua pod dan layanan dengan label tertentu:
kubectl delete pods,services -l [label-key]=[label-value]
Hapus semua pod (termasuk pod yang tidak diinisialisasi):
kubectl delete pods --all
Mengeksekusi Perintah
Gunakan kubectl exec
untuk mengeluarkan perintah dalam wadah atau membuka shell dalam wadah.
Terima output dari perintah yang dijalankan pada container pertama dalam pod:
kubectl exec [pod-name] -- [command]
Dapatkan output dari perintah yang dijalankan pada container tertentu dalam pod:
kubectl exec [pod-name] -c [container-name] -- [command]
Jalankan /bin/bash dari pod tertentu. Keluaran yang diterima berasal dari wadah pertama:
kubectl exec -ti [pod-name] -- /bin/bash
Memodifikasi File kubeconfig
kubectl config
memungkinkan Anda melihat dan memodifikasi file kubeconfig. Perintah ini biasanya diikuti oleh sub-perintah lainnya.
Tampilkan konteks saat ini:
kubectl config current-context
Setel entri cluster di kubeconfig:
kubectl config set-cluster [cluster-name] --server=[server-name]
Hapus entri di kubeconfig:
kubectl config unset [property-name]
Mencetak Log Kontainer
Untuk mencetak log dari container dalam pod, gunakan kubectl logs
perintah.
Cetak log:
kubectl logs [pod-name]
Untuk melakukan streaming log dari pod, gunakan:
kubectl logs -f [pod-name]
Nama Singkatan untuk Jenis Sumber Daya
Beberapa kubectl
perintah yang tercantum di atas mungkin tampak merepotkan karena panjangnya. Karena alasan ini, nama jenis sumber daya kubectl umum juga memiliki versi yang lebih pendek.
Perhatikan perintah yang disebutkan di atas:
kubectl create namespace [namespace-name]
Anda juga dapat menjalankan perintah ini sebagai:
kubectl create ns [namespace-name]
Berikut daftar lengkap nama pendek kubectl:
Nama Singkatan | Nama Panjang |
---|---|
csr | certificatesigningrequests |
cs | componentstatuses |
cm | configmaps |
ds | daemonsets |
deploy | deployments |
ep | endpoints |
ev | events |
hpa | horizontalpodautoscalers |
ing | ingresses |
limits | limitranges |
ns | namespaces |
no | nodes |
pvc | persistentvolumeclaims |
pv | persistentvolumes |
po | pods |
pdb | poddisruptionbudgets |
psp | podsecuritypolicies |
rs | replicasets |
rc | replicationcontrollers |
quota | resourcequotas |
sa | serviceaccounts |
svc | services |
Lembar Cheat kubectl
Anda dapat menemukan semua perintah yang tercantum dalam artikel ini di lembar referensi satu halaman di bawah ini. Unduh PDF Perintah kubectl dan simpan untuk digunakan di masa mendatang.
UNDUH Lembar Cheat