Kubectl Örnek Deployment

En çok kullanılan kubectl komutları ve örnek bir deployment nasıl yapılır adım adım bakalım.


--kubectl yapısı

kubectl [command] [type] [name] [flags]

--podları gösterir

kubectl get pods

--deploymentları gösterir

kubectl get deployment

--my-service adındaki service'e dair bilgileri gösterir

kubectl get service my-service

--nginx imageını kullaranara nginx adında deployment oluşturur

kubectl create deployment nginx --image=nginx

--yaml manifesto ile deploymet oluşturulur

kubectl apply -f nginx.yaml

--nginx adındaki deployment'a dair tanımlamaları gösterir

kubectl describe deployment nginx

--nginx adında deploymentı siler

kubectl delete deployment nginx

--mevcut contexti gösterir

kubectl config get-context

--başka bir contexe geçilir

kubectl config use another-cluster-context


--kubectl versiyonunu gösterir

kubectl version

--component status yani etcd scheduler ve controller manager'ın health statusunu gösterir

kubectl get cs


--belirtilen image'ı kullanarak 8080 port üzerinden hello-k8s adında bir deployment çalıştırıyoruz

kubectl run hello-k8s --image=gcr.io/google_containers/echoserver:1.4 --port=8080

--deploymenta bakalım (eğer replica verilmezse 1 adet oluşturur)

kubectl get deployments

--hello-k8s adındaki deployment'ı NodePort tipinde expose et yani servise oluştur. otomatik bir port 31181 gibi bir port atayacak

kubectl expose deployment hello-k8s --type=NodePort

--şimdi de oluşturulan bu servise bakalım

kubectl get services

--hello-k8s-555c87cddd-5wvxt podunun 31181 portuna (cluster port) gelen istekler node'un 8080 portuna yönleniyordu.

--dışarıdan yani kubernetesin dışından direkt 8080 ile erişilmesi için port yönlendirme yapmamız gerekiyor

kubectl port-forward hello-k8s-555c87cddd-5wvxt 8080:8080

--port forwarding durdurulunca 8080 çalışmayacak ve yine kubernetesin kendi portu 31181 üzerinden hizmet vermeye devam edecek

--iş yükümüz arttı ve artık bize 1 pod yetmiyorsa 2 poda çıkarmak istiyorsak scale ile replicas=2 yapmalıyız

kubectl scale deployment.v1.apps/hello-k8s  --replicas=2

--tekrar podlara baktığımızda artık hello-k8s deployment için 1 değil 2 pod olduğunu göreceğiz

kubectl get pods

--herhangi bir nedenden podlardan birinin düştüğü ve işlevini yerine getiremediği durumda kubernetes replicas=2 olduğu için otomatik olarak sürekli arzu edilen 2 pod olması için için yeniden pod oluşturacaktır.

--şimdi manuel olarak bir podu silelim

kubectl delete pod hello-k8s-555c87cddd-f8j7

--tekrar podlara bakalım ve başka bir name ile pod oluşturduğunu ve 2 pod olduğunu görelim

kubectl get pods

--deployment üzerinden de replica(pod) sayısını görebiliriz

kubectl get deployments

--contextleri gösterir

kubectl config get-contexts

--docker-for-desktop olan contexe geçer

kubectl config use-context docker-for-desktop

Share:
spacer

Hiç yorum yok:

Yorum Gönder