Rocky Linux 9 ile Kubernetes Podlarını Yönetme Nasıl Yapılır? (kubectl commands)

Kubernetes Nedir?

Kubernetes, konteyner tabanlı uygulamaların otomatik olarak dağıtımını, ölçeklenmesini ve yönetilmesini sağlayan açık kaynaklı bir platformdur. Pods, Kubernetes’teki en temel uygulama dağıtım alanlarıdır ve bir veya daha fazla konteyneri içerebilir. Rocky Linux 9, stabil ve güncel bir işletim sistemi olarak bu tür uygulamaların yönetimi için tercih edilmektedir.

kubectl Nedir?

kubectl, Kubernetes ile etkileşimde bulunmak için kullanılan bir komut satırı aracıdır. Bu komutlar, cluster yönetimi ve uygulama yönetimi gibi işlemlerde kullanılır. Kullanıcıların Kubernetes API’si ile iletişim kurarak kaynakları yönetmesine olanak tanır. Pod’lar, deployment’lar ve servislere ulaşma ve bunları yönetme gibi çeşitli işlemleri gerçekleştirmek için kubectl komutu kullanılabilir.

Kubectl ile Pod Oluşturma

Kubernetes’te bir Pod oluşturmak için bir YAML tanım dosyası kullanılmalıdır. Bu dosya, Pod’un tanımını içerir ve içinde hangi konteynerlerin çalışacağını belirtir. Aşağıda, basit bir Nginx Pod’u oluşturmak için kullanılabilecek bir YAML dosyası örneği bulunmaktadır:

“`yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
– name: nginx
image: nginx:latest
“`

Bu dosya kaydedildikten sonra, aşağıdaki komut ile Pod oluşturulabilir:

“`bash
kubectl apply -f nginx-pod.yaml
“`

Pod Durumunu Kontrol Etme

Oluşturulan Pod’un durumunu kontrol etmek için şu komut kullanılabilir:

“`bash
kubectl get pods
“`

Bu komut, cluster’daki tüm Pod’ların listesini ve durumlarını gösterir. Belirli bir Pod hakkında daha fazla bilgi almak için:

“`bash
kubectl describe pod nginx-pod
“`

Pod Silme

Gereksiz olan bir Pod’u silmek için aşağıdaki komut kullanılabilir:

“`bash
kubectl delete pod nginx-pod
“`

Silme işlemi başarıyla tamamlandıktan sonra Pod’ların durumunu kontrol ederek silindiğinden emin olmak gerekmektedir.

Pod Güncelleme

Bir Pod’u güncellemek için genellikle YAML dosyasında değişiklik yapılır ve ardından uygulama komutu yeniden çalıştırılır. Ancak, doğrudan Pod güncellemesi yapmak istenirse, `kubectl edit` komutu ile Pod açılabilir ve gerekli değişiklikler yapıldıktan sonra kaydedilip çıkılabilir. Örnek komut:

“`bash
kubectl edit pod nginx-pod
“`

Yapılan değişikliklerin geçerli olup olmadığını kontrol etmek için yine `kubectl get pods` komutu kullanılabilir.

Pod Ölçeklendirme

Kubernetes üzerinde bir uygulamanın ölçeklendirilmesi, pods sayısının artırılıp azaltılması işlemini içerir. Örneğin, `nginx` pod’larının sayısını ikiye çıkarmak için aşağıdaki komut kullanılabilir:

“`bash
kubectl scale –replicas=2 pod/nginx-pod
“`

Bu komut ile iki adet `nginx-pod` oluşturulur. Ölçeklendirme işlemi başarıyla tamamlandıktan sonra, Pod’ların durumunu kontrol etmek amacıyla `kubectl get pods` komutu kullanılabilir.

Pod Loglarına Erişim

Pod’ların çalışma sırasında oluşan log’larına erişmek için `kubectl logs` komutu kullanılabilir. Örnek kullanım:

“`bash
kubectl logs nginx-pod
“`

Bu komut, belirtilen Pod için log çıktısını gösterir. Eğer Pod içinde birden fazla konteyner varsa, belirli bir konteynerin log’una erişmek için `-c` bayrağı kullanılabilir:

“`bash
kubectl logs nginx-pod -c nginx
“`

Pod Restart Etme

Bir Pod’u mevcut durumundan yeniden başlatmak için iki seçenek vardır. Birincisi, Pod’u silip yeni bir Pod oluşturmaktır. İkincisi ise, kubelet’i kullanarak Pod’u yeniden başlatmaktır. Aşağıdaki komut ile Pod yeniden başlatılabilir:

“`bash
kubectl delete pod nginx-pod
“`

Ardından yukarıda belirtilen şekilde yeni Pod oluşturulabilir.

Pod Health Check (Sağlık Kontrolü)

Pod’ların sağlık durumu, Kubernetes tarafından izlenir. Pod’lara sağlık kontrolleri eklemek için YAML dosyasında `livenessProbe` ve `readinessProbe` parametreleri kullanılabilir. Bu alanlar kullanılarak, Pod’un çalışıp çalışmadığı ve trafiğe hazır olup olmadığı kontrol edilebilir.

Örneğin, basit bir `livenessProbe` tanımı:

“`yaml
livenessProbe:
httpGet:
path: /healthz
port: 80
initialDelaySeconds: 30
periodSeconds: 10
“`

Bu yapı sayesinde Pod’un durumu sürekli olarak izlenebilir.

Pod Yedeklemesi ve Kurtarması

Pod’lar geçici olabileceğinden, veri kaybını önlemek için Persistent Volumes (PV) ve Persistent Volume Claims (PVC) kullanmak önerilir. Böylece Pod silinse veya yeniden başlatılsa bile veriler güvenli bir şekilde muhafaza edilir. PVC ile uygun depolama kaynağına erişim sağlanarak veri güvenliği artırılır.

Kubectl ile PVC oluşturmak için benzer bir YAML dosyası kullanılabilir ve aşağıdaki komut ile uygulanabilir:

“`bash
kubectl apply -f pvc-definition.yaml
“`

Sonuç

Rocky Linux 9 üzerinde kubectl aracını kullanarak Kubernetes Pod’larının yönetimi, uygun komutlarla kolaylıkla gerçekleştirilebilir. Oluşturma, silme, güncelleme, ölçeklendirme gibi temel işlemlerin yanı sıra log izleme ve sağlık kontrolü gibi işlevler de kurulumun bir parçası olarak değerlendirilmelidir. Bu işlemler, konteyner tabanlı altyapının yönetimini sağlıklı bir şekilde sürdürebilmek için son derece önemlidir.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR