Kubernetes Linux'a Nasıl Kurulur? Adım Adım Kılavuz

Kubernetes Linux'a kurulumunu adım adım açıklayan bu kılavuz ile, güçlü ve esnek bir yazılım altyapısına sahip olabilirsiniz.

BFS

Hikayemizin Başlangıcı: Kubernetes Nedir?



Bir zamanlar büyük yazılım projelerinde, mikro hizmetler (microservices) adı verilen yapıların hızla popülerleştiğini duymuşsunuzdur. Ancak, bu tür projelerle birlikte, çok sayıda uygulama ve konteynerin yönetilmesi gerektiğinde işler biraz karmaşıklaşabilir. İşte tam burada Kubernetes devreye giriyor!

Kubernetes, her türlü uygulamayı ve hizmeti kolayca yönetebilmeniz için geliştirilmiş güçlü bir açık kaynaklı konteyner orkestrasyon sistemidir. Bu sistem sayesinde, konteynerlerinizi daha verimli bir şekilde dağıtabilir, ölçeklendirebilir ve izleyebilirsiniz. Ama, nasıl mı? Gelin birlikte öğrenelim.

Kubernetes Kurulumunun Temelleri



Linux üzerinde Kubernetes kurulumu yapmadan önce, bazı temel adımları tamamlamamız gerekiyor. Hazır mısınız? O zaman başlayalım!

Adım 1: Gerekli Paketlerin Kurulumu



İlk iş olarak, Kubernetes’in çalışabilmesi için gerekli olan bazı araçları sistemimize kurmalıyız. Docker, kubeadm, kubelet ve kubectl gibi araçlar buna dahil.

Bu araçları yüklemek için şu komutları kullanacağız:


sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt update
sudo apt install -y kubelet kubeadm kubectl


Not: Bu komutlar, Ubuntu 20.04 ve daha yeni sürümleri için geçerlidir. Farklı Linux dağıtımları kullanıyorsanız, uygun paket yönetim komutlarını araştırmanız gerekebilir.

Adım 2: Swap Alanını Kapatma



Kubernetes, sistemde swap alanının açık olmasına karşı hassastır. Bu nedenle, swap alanını kapatmamız gerekiyor. Bu işlemi yapabilmek için şu komutu kullanabilirsiniz:


sudo swapoff -a


Eğer swap'ı kalıcı olarak kapatmak isterseniz, `/etc/fstab` dosyasını düzenlemeniz gerekir. Dosyayı açın ve swap satırını yorum satırı haline getirin:


sudo nano /etc/fstab


Ve ardından ilgili satırın başına bir "#" ekleyin.

Adım 3: Kubeadm ile Cluster Başlatma



Kubernetes cluster'ını oluşturmanın temel adımlarından bir diğeri de `kubeadm` komutunu kullanarak cluster’ı başlatmaktır. Bu komut, Kubernetes cluster’ını kurmayı ve yapılandırmayı çok daha kolay hale getirir.

Cluster'ı başlatmak için şu komutu kullanabilirsiniz:


sudo kubeadm init --pod-network-cidr=10.244.0.0/16


Not: `--pod-network-cidr` parametresi, pod ağınızın CIDR bloğunu belirler. Bu, Kubernetes'in hangi IP aralığını kullanacağını belirler. Genellikle Flannel gibi ağ çözümleri ile uyumludur.

Eğer komut başarılı bir şekilde çalıştıysa, bir token oluşturulacak ve bu token’ı, diğer node’ları bu cluster’a dahil etmek için kullanacağız.

Adım 4: Kubectl ile Cluster'a Erişim



Cluster’ı başlattık, ancak şu ana kadar sadece root kullanıcısı ile erişebiliyoruz. Kubernetes komutlarını normal bir kullanıcıyla kullanabilmek için, kubectl'yi normal kullanıcıya bağlamamız gerekiyor. Bunun için şu komutu yazın:


mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config


Bundan sonra, kubectl komutlarıyla cluster’ınızı yönetebileceksiniz.

Adım 5: Ağ Eklentisi (Pod Network) Kurulumu



Kubernetes, pod'lar arasında iletişim sağlayabilmek için bir ağ eklentisine ihtiyaç duyar. Çoğu kullanıcı, Flannel veya Calico gibi ağ çözümlerini tercih eder. Bu yazıda, Flannel ağ çözümünü kuracağız.

Flannel'ı kurmak için şu komutu çalıştırabilirsiniz:


kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml


Bu işlemle birlikte ağ eklentisini Kubernetes cluster'ınıza entegre etmiş oluyorsunuz.

Adım 6: Worker Node Ekleme



Artık master node'u kurduk, fakat cluster’a worker node’lar eklememiz gerekiyor. Başlangıçta master node'unuzda çalışabilir, ancak daha fazla yükü dengelemek için ek node’lar eklemeniz önerilir. Kubeadm init komutunu çalıştırırken size verilen token’ı kullanarak yeni node’ları cluster’a dahil edebilirsiniz.

Yeni node’a şu komutla bağlanabilirsiniz:


sudo kubeadm join :6443 --token --discovery-token-ca-cert-hash sha256:


Bu komutu her worker node için çalıştırmalısınız.

Adım 7: Cluster'ı Kontrol Etme



Her şeyin düzgün çalışıp çalışmadığını kontrol etmek için şu komutu yazabilirsiniz:


kubectl get nodes


Bu komut, cluster’daki tüm node'ları listeleyecek ve her birinin durumunu gösterecektir. Eğer her şey yolunda ise, kurulumunuzu tamamladınız demektir!

Sonuç: Kubernetes ile Güçlü ve Esnek Bir Yapı



Kubernetes kurulumunu tamamladınız! Şimdi, uygulamalarınızı her boyutta ve her şekilde dağıtabilir, yönetebilir ve ölçeklendirebilirsiniz. Cluster'ınızı oluşturduktan sonra, Kubernetes’in sunduğu çok çeşitli özellikleri keşfetmek için zaman ayırabilirsiniz.

Unutmayın, Kubernetes size sadece uygulamalarınızı değil, aynı zamanda sisteminizi çok daha verimli bir şekilde yönetme gücü verir. Geliştiriciler, operatörler ve DevOps ekipleri için vazgeçilmez bir araç haline gelmiştir.

İlgili Yazılar

Benzer konularda diğer yazılarımız

Modern Yazılım Geliştirme Süreçlerinde Yapay Zeka ve Otomasyonun Rolü: 2025’te Yeni Başlangıçlar

Yazılım geliştirme dünyası hızla evriliyor. 2025 yılına adım attığımızda, bu süreçte yapay zeka ve otomasyonun rolü hiç olmadığı kadar önemli hale geldi. Geçmişte yazılım geliştirme yalnızca kod yazmak ve sistemleri test etmekle sınırlıydı. Ancak bugünün...

Yazılım Geliştiriciler İçin Verimli Çalışma Alanı Oluşturmanın İpuçları: En İyi Araçlar ve Yöntemler

Verimli Bir Çalışma Alanı Neden Önemlidir?Yazılım geliştirici olmanın zorluklarından biri de sürekli odaklanmış ve üretken olabilmektir. Bir geliştirici olarak, işlerinizin çoğunu bilgisayar başında geçirirsiniz ve bu süre zarfında verimli bir çalışma...

Kodunuzu Temiz Tutun: Yazılımda 'Yavaş Kodu' Tespit Etmenin 7 Etkili Yolu

Yazılım geliştirme dünyasında zamanın ne kadar kıymetli olduğunu hepimiz biliyoruz. Yazdığınız kodun hızlı ve verimli olması, projelerinizi başarılı kılmanın anahtarıdır. Ama ne yazık ki, çoğu zaman kodu hızlı yazmak uğruna temizliği ihmal edebiliriz....