Kubernetes - Kubectl Komutları

KubectlKubernetes Kümesini kontrol eder. Kurulum tamamlandığında herhangi bir makinedeki iş istasyonunda çalışan Kubernetes'in temel bileşenlerinden biridir. Kümedeki düğümleri yönetme yeteneğine sahiptir.

Kubectlkomutlar, Kubernetes nesneleri ve kümeyle etkileşimde bulunmak ve bunları yönetmek için kullanılır. Bu bölümde, Kubernetes'te kubectl aracılığıyla kullanılan birkaç komutu tartışacağız.

kubectl annotate - Bir kaynak üzerindeki ek açıklamayı günceller.

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

Örneğin,

kubectl annotate pods tomcat description = 'my frontend'

kubectl api-versions - API'nin desteklenen sürümlerini kümeye yazdırır.

$ kubectl api-version;

kubectl apply - Bir kaynağı dosya veya stdin ile yapılandırma özelliğine sahiptir.

$ kubectl apply –f <filename>

kubectl attach - Bu, çalışan konteynere bir şeyler ekler.

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

kubectl autoscale - Bu, Dağıtım, çoğaltma kümesi, Çoğaltma Denetleyicisi gibi tanımlanan bölmeleri otomatik ölçeklendirmek için kullanılır.

$ 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 - Küme bilgisini görüntüler.

$ kubectl cluster-info

kubectl cluster-info dump - Hata ayıklama ve teşhis için kümeyle ilgili bilgileri döker.

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

kubectl config - kubeconfig dosyasını değiştirir.

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

kubectl config current-context - Mevcut bağlamı görüntüler.

$ kubectl config current-context
#deploys the current context

kubectl config delete-cluster - Belirtilen kümeyi kubeconfig'den siler.

$ kubectl config delete-cluster <Cluster Name>

kubectl config delete-context - Kubeconfig'ten belirtilen bir bağlamı siler.

$ kubectl config delete-context <Context Name>

kubectl config get-clusters - kubeconfig'te tanımlanan kümeyi görüntüler.

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

kubectl config get-contexts - Bir veya birçok bağlamı açıklar.

$ kubectl config get-context <Context Name>

kubectl config set-cluster - Kubernetes'teki küme girişini ayarlar.

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

kubectl config set-context - Kubernetes giriş noktasında bir bağlam girişi ayarlar.

$ 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 - kubeconfig'te bir kullanıcı girişi ayarlar.

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

kubectl config set - Kubeconfig dosyasında ayrı bir değer ayarlar.

$ kubectl config set PROPERTY_NAME PROPERTY_VALUE

kubectl config unset - Kubectl'de belirli bir bileşeni kaldırır.

$ kubectl config unset PROPERTY_NAME PROPERTY_VALUE

kubectl config use-context - kubectl dosyasındaki mevcut bağlamı ayarlar.

$ kubectl config use-context <Context Name>

kubectl config view

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

kubectl cp - Dosyaları ve dizinleri kapsayıcılara ve kaplardan kopyalayın.

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

kubectl create- dosya adına veya stdin'e göre kaynak oluşturmak için. Bunu yapmak için JSON veya YAML formatları kabul edilir.

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

Aynı şekilde, aşağıdaki gibi birden çok şey oluşturabiliriz. create ile birlikte komut kubectl.

  • deployment
  • namespace
  • quota
  • gizli docker-kayıt defteri
  • secret
  • gizli jenerik
  • gizli tls
  • serviceaccount
  • hizmet grubu
  • hizmet yük dengeleyici
  • hizmet nodeport

kubectl delete - Kaynakları dosya adı, stdin, kaynak ve adlara göre siler.

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

kubectl describe- Kubernetes'teki herhangi bir belirli kaynağı açıklar. Kaynağın veya bir kaynak grubunun ayrıntılarını gösterir.

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

kubectl drain- Bu, bakım amacıyla bir düğümü boşaltmak için kullanılır. Düğümü bakıma hazırlar. Bu, düğümü kullanılamaz olarak işaretler, böylece oluşturulacak yeni bir konteyner ile atanmaması gerekir.

$ kubectl drain tomcat –force

kubectl edit- Sunucudaki kaynakları sonlandırmak için kullanılır. Bu, komut satırı aracı aracılığıyla alınabilecek bir kaynağı doğrudan düzenlemeye izin verir.

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

kubectl exec - Bu, kapsayıcıda bir komutun yürütülmesine yardımcı olur.

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

kubectl expose- Bu, pod, replikasyon denetleyicisi ve hizmeti gibi Kubernetes nesnelerini yeni bir Kubernetes hizmeti olarak ortaya çıkarmak için kullanılır. Bu, onu çalışan bir konteyner aracılığıyla veya biryaml dosya.

$ 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 - Bu komut, küme üzerinde Kubernetes kaynakları hakkında veri getirebilir.

$ 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]

Örneğin,

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

kubectl logs- Konteynerin günlüklerini bir bölmede almak için kullanılırlar. Günlüklerin yazdırılması, bölmedeki kap adını tanımlıyor olabilir. POD yalnızca bir konteynere sahipse, adını tanımlamaya gerek yoktur.

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

kubectl port-forward - Bir veya daha fazla yerel bağlantı noktasını bölmelere iletmek için kullanılırlar.

$ 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 - Bir kaynağı dosya adına göre değiştirebilir veya stdin.

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

kubectl rolling-update- Bir çoğaltma denetleyicisinde sıralı güncelleme gerçekleştirir. Her seferinde bir POD'u güncelleyerek, belirtilen çoğaltma denetleyicisini yeni bir çoğaltma denetleyicisiyle değiştirir.

$ 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 - Dağıtımın sunumunu yönetebilir.

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

Yukarıdakilerin dışında, kullanıma sunumu kullanarak aşağıdakiler gibi birden fazla görevi gerçekleştirebiliriz:

  • kullanıma sunma geçmişi
  • kullanıma sunma duraklaması
  • kullanıma sunma özgeçmiş
  • kullanıma sunma durumu
  • kullanıma sunma geri al

kubectl run - Çalıştır komutu, Kubernetes kümesinde bir görüntü çalıştırma yeteneğine sahiptir.

$ 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 - Kubernetes Deployments, ReplicaSet, Replication Controller veya işin boyutunu ölçeklendirecektir.

$ 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 - Bir kapsül şablonunun görüntüsünü günceller.

$ 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- Kaynağın içeriğini ayarlamak için kullanılır. Nesne üzerindeki kaynakları / limitleri pod şablonu ile günceller.

$ 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- CPU / Bellek / Depolama kullanımını gösterir. Top komutu, düğümler için kaynak tüketimini görmenizi sağlar.

$ kubectl top node [node Name]

Aynı komut bir bölme ile de kullanılabilir.