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
Hiç yorum yok:
Yorum Gönder