Kubernetes - Perintah Kubectl

Kubectlmengontrol Cluster Kubernetes. Ini adalah salah satu komponen kunci Kubernetes yang berjalan di workstation di mesin mana pun saat penyiapan selesai. Ia memiliki kemampuan untuk mengelola node di cluster.

Kubectlperintah digunakan untuk berinteraksi dan mengelola objek Kubernetes dan cluster. Pada bab ini, kita akan membahas beberapa perintah yang digunakan di Kubernetes melalui kubectl.

kubectl annotate - Ini memperbarui anotasi pada sumber daya.

$kubectl annotate [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ...
KEY_N = VAL_N [--resource-version = version]

Sebagai contoh,

kubectl annotate pods tomcat description = 'my frontend'

kubectl api-versions - Ini mencetak versi API yang didukung di cluster.

$ kubectl api-version;

kubectl apply - Memiliki kemampuan untuk mengkonfigurasi sumber daya dengan file atau stdin.

$ kubectl apply –f <filename>

kubectl attach - Ini menempelkan sesuatu ke wadah yang berjalan.

$ kubectl attach <pod> –c <container>
$ kubectl attach 123456-7890 -c tomcat-conatiner

kubectl autoscale - Ini digunakan untuk menskalakan pod secara otomatis yang ditentukan seperti Deployment, kumpulan replika, Pengontrol Replikasi.

$ kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min = MINPODS] --
max = MAXPODS [--cpu-percent = CPU] [flags]
$ kubectl autoscale deployment foo --min = 2 --max = 10

kubectl cluster-info - Ini menampilkan Info cluster.

$ kubectl cluster-info

kubectl cluster-info dump - Ini membuang informasi yang relevan tentang cluster untuk debugging dan diagnosis.

$ kubectl cluster-info dump
$ kubectl cluster-info dump --output-directory = /path/to/cluster-state

kubectl config - Memodifikasi file kubeconfig.

$ kubectl config <SUBCOMMAD>
$ kubectl config –-kubeconfig <String of File name>

kubectl config current-context - Ini menampilkan konteks saat ini.

$ kubectl config current-context
#deploys the current context

kubectl config delete-cluster - Menghapus cluster yang ditentukan dari kubeconfig.

$ kubectl config delete-cluster <Cluster Name>

kubectl config delete-context - Menghapus konteks tertentu dari kubeconfig.

$ kubectl config delete-context <Context Name>

kubectl config get-clusters - Menampilkan cluster yang ditentukan di kubeconfig.

$ kubectl config get-cluster
$ kubectl config get-cluster <Cluser Name>

kubectl config get-contexts - Menjelaskan satu atau banyak konteks.

$ kubectl config get-context <Context Name>

kubectl config set-cluster - Mengatur entri cluster di Kubernetes.

$ kubectl config set-cluster NAME [--server = server] [--certificateauthority =
path/to/certificate/authority] [--insecure-skip-tls-verify = true]

kubectl config set-context - Mengatur entri konteks di titik masuk kubernetes.

$ kubectl config set-context NAME [--cluster = cluster_nickname] [--
user = user_nickname] [--namespace = namespace]
$ kubectl config set-context prod –user = vipin-mishra

kubectl config set-credentials - Mengatur entri pengguna di kubeconfig.

$ kubectl config set-credentials cluster-admin --username = vipin --
password = uXFGweU9l35qcif

kubectl config set - Menetapkan nilai individual dalam file kubeconfig.

$ kubectl config set PROPERTY_NAME PROPERTY_VALUE

kubectl config unset - Ini membatalkan set komponen tertentu di kubectl.

$ kubectl config unset PROPERTY_NAME PROPERTY_VALUE

kubectl config use-context - Mengatur konteks saat ini dalam file kubectl.

$ kubectl config use-context <Context Name>

kubectl config view

$ kubectl config view
$ kubectl config view –o jsonpath='{.users[?(@.name == "e2e")].user.password}'

kubectl cp - Salin file dan direktori ke dan dari kontainer.

$ kubectl cp <Files from source> <Files to Destinatiion>
$ kubectl cp /tmp/foo <some-pod>:/tmp/bar -c <specific-container>

kubectl create- Untuk membuat sumber daya dengan nama file atau stdin. Untuk melakukan ini, format JSON atau YAML diterima.

$ kubectl create –f <File Name>
$ cat <file name> | kubectl create –f -

Dengan cara yang sama, kita dapat membuat banyak hal seperti yang terdaftar menggunakan create perintah bersama kubectl.

  • deployment
  • namespace
  • quota
  • buruh pelabuhan rahasia
  • secret
  • generik rahasia
  • tls rahasia
  • serviceaccount
  • clusterip layanan
  • layanan loadbalancer
  • layanan nodeport

kubectl delete - Menghapus sumber daya dengan nama file, stdin, sumber daya dan nama.

$ kubectl delete –f ([-f FILENAME] | TYPE [(NAME | -l label | --all)])

kubectl describe- Menjelaskan sumber daya tertentu di kubernetes. Menunjukkan detail sumber daya atau sekelompok sumber daya.

$ kubectl describe <type> <type name>
$ kubectl describe pod tomcat

kubectl drain- Ini digunakan untuk mengeringkan node untuk tujuan pemeliharaan. Ini mempersiapkan node untuk pemeliharaan. Ini akan menandai node sebagai tidak tersedia sehingga tidak boleh ditugaskan dengan penampung baru yang akan dibuat.

$ kubectl drain tomcat –force

kubectl edit- Ini digunakan untuk mengakhiri sumber daya di server. Ini memungkinkan untuk secara langsung mengedit sumber daya yang dapat diterima melalui alat baris perintah.

$ kubectl edit <Resource/Name | File Name)
Ex.
$ kubectl edit rc/tomcat

kubectl exec - Ini membantu untuk menjalankan perintah dalam wadah.

$ kubectl exec POD <-c CONTAINER > -- COMMAND < args...>
$ kubectl exec tomcat 123-5-456 date

kubectl expose- Ini digunakan untuk mengekspos objek Kubernetes seperti pod, pengontrol replikasi, dan layanan sebagai layanan Kubernetes baru. Ini memiliki kemampuan untuk mengeksposnya melalui wadah yang sedang berjalan atau dari ayaml mengajukan.

$ kubectl expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol = TCP|UDP]
[--target-port = number-or-name] [--name = name] [--external-ip = external-ip-ofservice]
[--type = type]
$ kubectl expose rc tomcat –-port=80 –target-port = 30000
$ kubectl expose –f tomcat.yaml –port = 80 –target-port =

kubectl get - Perintah ini mampu mengambil data di cluster tentang resource Kubernetes.

$ kubectl get [(-o|--output=)json|yaml|wide|custom-columns=...|custom-columnsfile=...|
go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=...]
(TYPE [NAME | -l label] | TYPE/NAME ...) [flags]

Sebagai contoh,

$ kubectl get pod <pod name>
$ kubectl get service <Service name>

kubectl logs- Mereka digunakan untuk mendapatkan log dari container di dalam pod. Mencetak log dapat menentukan nama kontainer di dalam pod. Jika POD hanya memiliki satu wadah, tidak perlu menentukan namanya.

$ kubectl logs [-f] [-p] POD [-c CONTAINER]
Example
$ kubectl logs tomcat.
$ kubectl logs –p –c tomcat.8

kubectl port-forward - Mereka digunakan untuk meneruskan satu atau lebih port lokal ke pod.

$ kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT
[...[LOCAL_PORT_N:]REMOTE_PORT_N]
$ kubectl port-forward tomcat 3000 4000
$ kubectl port-forward tomcat 3000:5000

kubectl replace - Mampu mengganti sumber daya dengan nama file atau stdin.

$ kubectl replace -f FILENAME
$ kubectl replace –f tomcat.yml
$ cat tomcat.yml | kubectl replace –f -

kubectl rolling-update- Melakukan pembaruan berkelanjutan pada pengontrol replikasi. Mengganti pengontrol replikasi yang ditentukan dengan pengontrol replikasi baru dengan memperbarui POD dalam satu waktu.

$ kubectl rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] --
image = NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC)
$ kubectl rolling-update frontend-v1 –f freontend-v2.yaml

kubectl rollout - Mampu mengelola peluncuran penerapan.

$ Kubectl rollout <Sub Command>
$ kubectl rollout undo deployment/tomcat

Selain yang di atas, kami dapat melakukan banyak tugas menggunakan peluncuran seperti -

  • riwayat peluncuran
  • peluncuran jeda
  • peluncuran resume
  • status peluncuran
  • peluncuran urungkan

kubectl run - Perintah Run memiliki kemampuan untuk menjalankan image di cluster Kubernetes.

$ kubectl run NAME --image = image [--env = "key = value"] [--port = port] [--
replicas = replicas] [--dry-run = bool] [--overrides = inline-json] [--command] --
[COMMAND] [args...]
$ kubectl run tomcat --image = tomcat:7.0
$ kubectl run tomcat –-image = tomcat:7.0 –port = 5000

kubectl scale - Ini akan menskalakan ukuran Kubernetes Deployments, ReplicaSet, Replikasi Controller, atau pekerjaan.

$ kubectl scale [--resource-version = version] [--current-replicas = count] --
replicas = COUNT (-f FILENAME | TYPE NAME )
$ kubectl scale –-replica = 3 rs/tomcat
$ kubectl scale –replica = 3 tomcat.yaml

kubectl set image - Ini memperbarui gambar templat pod.

$ kubectl set image (-f FILENAME | TYPE NAME)
CONTAINER_NAME_1 = CONTAINER_IMAGE_1 ... CONTAINER_NAME_N = CONTAINER_IMAGE_N
$ kubectl set image deployment/tomcat busybox = busybox ngnix = ngnix:1.9.1
$ kubectl set image deployments, rc tomcat = tomcat6.0 --all

kubectl set resources- Digunakan untuk mengatur konten sumber daya. Ini memperbarui sumber daya / batas pada objek dengan templat pod.

$ kubectl set resources (-f FILENAME | TYPE NAME) ([--limits = LIMITS & --
requests = REQUESTS]
$ kubectl set resources deployment tomcat -c = tomcat --
limits = cpu = 200m,memory = 512Mi

kubectl top node- Ini menampilkan penggunaan CPU / Memori / Penyimpanan. Perintah atas memungkinkan Anda melihat konsumsi sumber daya untuk node.

$ kubectl top node [node Name]

Perintah yang sama juga dapat digunakan dengan pod.