Adım 1: Kubernetes ve Gerekli Bileşenlere Genel Bir Bakış
Kubernetes, birden fazla sunucu üzerinde çalışan uygulamaların yönetimini otomatikleştirir. Temel olarak, uygulamalarınızın dağıtımını, bakımını ve ölçeklenmesini yönetir. K8s, konteynerleri küme şeklinde organize eder ve bu kümelerin düzgün çalışmasını sağlamak için birçok bileşene sahiptir. Başlıca bileşenler:
- Kube-apiserver: Kubernetes API sunucusu, tüm iletişimin merkezidir.
- Kube-scheduler: Yeni pod’ların hangi node’a (sunucu) yerleştirileceğini belirler.
- Kube-controller-manager: Pod ve cluster durumlarını sürekli izler.
- etcd: Cluster durumu hakkında kalıcı bir veri deposu sağlar.
Adım 2: Kubernetes Kurulumu
Kubernetes’i kurmanın birkaç farklı yolu vardır. Bugün, en popüler ve basit yöntemlerden biri olan Minikube ve kubeadm ile nasıl kurulacağını anlatacağım. Eğer geliştirme ve test ortamı kuruyorsanız Minikube kullanabilirsiniz, ancak gerçek üretim ortamında kubeadm daha uygun olacaktır.
Minikube ile Kubernetes Kurulumu
Eğer Kubernetes’i yerel makinenizde hızlıca kurmak istiyorsanız, Minikube mükemmel bir seçenektir. Minikube, bir sanal makine üzerinde Kubernetes cluster’ı çalıştırır. Aşağıdaki adımları takip ederek Minikube’u kurabilirsiniz:
kopyala# Minikube kurulumu curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo mv minikube-linux-amd64 /usr/local/bin/minikube sudo chmod +x /usr/local/bin/minikube # Minikube başlatma minikube start
Bu komutları çalıştırarak Minikube'u başlatabilirsiniz. Kurulum tamamlandıktan sonra, kubectl komutlarıyla Kubernetes cluster’ınızı yönetebilirsiniz.
kopyalakubectl get nodes
Eğer her şey doğru şekilde kurulmuşsa, bu komut size cluster’daki node’ları gösterecektir.
kubeadm ile Kubernetes Kurulumu
Gerçek bir Kubernetes cluster’ı kurmak için kubeadm kullanmak gereklidir. Bu yöntem, genellikle üretim ortamlarında tercih edilir.
İlk olarak, Kubernetes’i kuracak olan tüm makinelerde aşağıdaki adımları izleyin:
1. Gerekli bileşenlerin yüklenmesi:
kopyala# Docker'ı yükleme sudo apt-get update sudo apt-get install docker.io # Kubeadm, Kubelet ve kubectl kurulumları sudo apt-get update sudo apt-get install -y apt-transport-https curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl
2. Cluster’ın başlatılması:
kopyala# Master node'u başlatın sudo kubeadm init --pod-network-cidr=10.244.0.0/16
3. kubectl’i yapılandırma:
Master node’da kubectl’i kullanabilmek için aşağıdaki komutu çalıştırın:
kopyalamkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
4. Pod ağını yapılandırma:
Kubernetes, pod’lar arasında iletişim kurmak için bir ağ çözümü gerektirir. Flannel gibi bir ağ çözümü kurarak bu adımı tamamlayabilirsiniz.
kopyala# Flannel ağını kurma kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Artık Kubernetes cluster’ınız hazır! Diğer node’ları cluster’a eklemek için kubeadm tarafından verilen komutu kullanabilirsiniz.
Adım 3: Cluster Yönetimi ve İzleme
Kubernetes’i kurduktan sonra, cluster yönetimi kritik bir aşamadır. Cluster yönetimini ve izlemeyi basitçe yapabilmek için bazı komutlar ve araçlar vardır.
Cluster Durumunu Görüntüleme:
Cluster’ınızın sağlığını ve durumunu kontrol etmek için şu komutu kullanabilirsiniz:
kopyalakubectl get pods --all-namespaces
Bu komut, tüm namespace’lerdeki pod’ları listeleyecektir.
Logları İzleme:
Bir pod’un loglarını görmek için şu komutu kullanabilirsiniz:
kopyalakubectl logs
Cluster Performansını İzleme:
Kubernetes’in performansını izlemek için “Kubernetes Dashboard” kullanabilirsiniz. Bu araç, GUI üzerinden cluster yönetimini oldukça kolaylaştırır.
kopyalakubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml kubectl proxy
Bunlar, cluster yönetiminizi daha verimli hale getirecek birkaç temel adımdır.
Adım 4: Kubernetes Cluster’ınızı Ölçeklendirme
Kubernetes’in en güçlü özelliklerinden biri, uygulamalarınızı kolayca ölçeklendirebilmenizdir. Bir uygulama yükü artarsa, Kubernetes otomatik olarak yeni pod’lar oluşturur. Bu, manuel müdahale gerektirmeden hizmetin kesintisiz çalışmasını sağlar.
Örneğin, aşağıdaki komutla bir deployment’ı ölçeklendirebilirsiniz:
kopyalakubectl scale deployment --replicas=3
Bu komut, belirttiğiniz deployment’ı 3 kopya (replica) ile çalıştırır.
Sonuç: Kubernetes ile Güçlü ve Esnek Uygulama Yönetimi
Kubernetes ile kurduğunuz cluster, uygulamalarınızın verimli ve ölçeklenebilir bir şekilde çalışmasını sağlayacaktır. Bu araç, her geçen gün daha fazla geliştirici ve şirket tarafından benimseniyor, çünkü container orkestrasyonu için sunduğu güçlü çözümler oldukça etkili. K8s’in sunduğu otomasyon, ölçeklenebilirlik ve güvenlik özellikleri ile her türlü yazılım altyapısını yönetmek daha kolay hale gelir.
İçerik sonunda, Kubernetes kurulumunu ve cluster yönetimini başarıyla tamamladınız. Artık uygulamalarınızı Kubernetes üzerinde yönetebilir ve optimize edebilirsiniz. Unutmayın, Kubernetes öğrenme süreci zaman alabilir, ama her geçen gün daha fazla keşif yapacak ve bu güçlü aracı daha verimli kullanacaksınız.