DockerLinuxNasıl yapılırSunucu

Basit Bir Şekilde Kubernetes Cluster Oluşturma Rehberi

kubernetes

Giriş

Kubernetes, modern uygulama geliştirme için en yaygın kullanılan container orchestration araçlarından biridir. Bu yazıda, basit bir Kubernetes cluster’ını oluşturmak için gereken adımları tek tek açıklayacağız.

Adım 1 – Hazırlık

Kubernetes cluster’ını oluşturmak için en az 2 sunucuya ihtiyacınız var. Eğer henüz sunucunuz yok ise buradan yüksek performanslı ve uygun fiyatlı sunucu paketlerimizi inceleyebilirsiniz: VDS Sunucu | Enterprise SSD Dedicated Sanal Sunucu Yüksek Performans | Narweb Bu sunucular, Ubuntu veya CentOS gibi bir Linux işletim sistemi çalıştırmalıdır. Biz burada Ubuntu sunucu kurulu olduğunu varsayarak devam edeceğiz. Ayrıca, her sunucuda Docker ve Kubernetes kütüphaneleri yüklü olmalıdır. Docker kurulumu için bu yazımıza göz atabilirsiniz: Docker Nedir? Ve NARWEB’den Aldığım Sunucuma Nasıl Kurabilirim? | Narweb.net Blog

Otomatik Docker kurulumu için bu repositorye de bakabilirsiniz: narweb/docker-install (github.com)

Adım 2 – Master Node Kurulumu

Kubernetes cluster’ını yönetmek için bir Master sunucusu kurmanız gerekiyor. Bu sunucu, Kubernetes API’sine erişir ve tüm node’lar üzerindeki pod ve container’ları yönetir.

Master sunucusunu kurmak için, aşağıdaki komutları çalıştırın: (Bu işlemlere başamadan önce sisteminizde Docker kurulu olmalıdır. Docker Nedir? Ve NARWEB’den Aldığım Sunucuma Nasıl Kurabilirim? | Narweb.net Blog)

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl

sudo curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg

echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

sudo rm /etc/containerd/config.toml
sudo systemctl restart containerd

Adım 3 – Kubernetes Cluster Oluşturulması

Kubernetes cluster’ını oluşturmak için, Master sunucusunda aşağıdaki komutu çalıştırın:

sudo kubeadm init

Bu komut, cluster oluşturulmasını başlatır. Kurulum tamamlandıktan sonra, Master sunucusunda bir join token oluşturulur. Bu join token’ı kullanarak, diğer node’ları clustera ekleyebilirsiniz.

Adım 4 – Worker Nodeların Clustera Eklenmesi

Kubernetes cluster’ına yeni bir node eklemek için, önce yeni sunucuda Docker ve Kubernetes kütüphanelerinin yüklü olduğundan emin olun. Daha sonra, Master sunucusunda oluşturulan join token’ı kullanarak aşağıdaki komutu çalıştırın:

sudo kubeadm join <Master Node IP>:<Port> --token <Token> --discovery-token-ca-cert-hash <Hash>

Bu komut, yeni bir node’un clustera katılmasını sağlar.

Adım 5 – Test Etmek İçin Nginx Pod Oluşturulması

Kubernetes cluster’ınızı oluşturduktan sonra, pod ve container’larınızı oluşturabilirsiniz. Örneğin, aşağıdaki YAML dosyasını kullanarak basit bir pod oluşturabilirsiniz:

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: my-container
    image: nginx

Bu YAML dosyası, “my-pod” adında bir pod ve bu pod’un içinde “my-container” adında bir Nginx container’ı oluşturur.

Adım 6 – Kubernetes Yönetimi ve Bazı Örnek Komutlar

Kubeadm ile oluşturduğunuz Kubernetes cluster’ına erişmek için bir kubeconfig dosyası oluşturmanız gerekir. Kubeconfig dosyası, Kubernetes API sunucusuna erişmek için kimlik doğrulama bilgilerini, cluster bilgilerini ve context’leri içerir.

Aşağıdaki adımları takip ederek kubeconfig dosyanızı oluşturabilirsiniz:

Master Node Bağlanın:

ssh ubuntu@<kubernetes-master-node-IP> 

Bu komut, Kubernetes master node’unuza bağlanmanızı sağlar.

Kubeconfig dosyasını oluşturun:

sudo cp /etc/kubernetes/admin.conf $HOME/ 
sudo chown $(id -u):$(id -g) $HOME/admin.conf 
export KUBECONFIG=$HOME/admin.conf

Bu komutlar, kubeconfig dosyanızı admin.conf olarak oluşturur ve $HOME dizinine kopyalar.

Kubeconfig dosyanızı kontrol edin:

kubectl config view

Bu komut, kubeconfig dosyanızın içeriğini görüntüler.

Kubeconfig dosyanızı kullanarak cluster’ınıza erişin:

kubectl get nodes

Bu komut, Kubernetes cluster’ınızdaki tüm node’ları listeleyecektir.

Bu adımları takip ederek, Kubeadm ile oluşturduğunuz Kubernetes cluster’ına erişmek için kubeconfig dosyanızı oluşturabilirsiniz. Daha sonra bu dosyayı localinize indirerek Kubernetes clusterına localinizden de bağlanabilirsiniz.

Örnekte verildiği gibi bir YAML dosyası oluşturduktan sonra, aşağıdaki adımları takip ederek bu YAML dosyasını kullanarak Nginx deployment’ını Kubernetes cluster’ına deploy edebilirsiniz:

Kubernetes cluster’ınıza bağlanın:

kubectl config use-context <context-name>

YAML dosyasını kullanarak Nginx deployment’ını oluşturun:

kubectl apply -f nginx-deployment.yaml

Deployment’ın oluşturulup oluşturulmadığını ve pod’ların oluşturulup oluşturulmadığını kontrol edin:

kubectl get deployments kubectl get pods

Pod’ların çalışıp çalışmadığını kontrol edin:

kubectl describe pod <pod-name>

Pod’ları silebilirsiniz:

kubectl delete pods <pod-name>

Bu adımları takip ederek, Nginx deployment’ınızı Kubernetes cluster’ınıza deploy edebilir ve pod’ların çalıştığını kontrol edebilirsiniz. Ayrıca, pod’ları istediğiniz zaman silebilirsiniz.

Sonuç

Bu yazıda, bir Kubernetes cluster’ını oluşturmak için gerekli adımları adım adım açıkladık. Ancak, bu kurulum rehberi, bir production ortamında kullanılacak bir Kubernetes cluster’ı oluşturmak için yeterli değildir. Production ortamlarında, daha karmaşık ve güvenli bir yapılandırma gerektiren ek adımların ve kontrollerin yapılması gerekmektedir.

Bu kurulum rehberi, geliştirme ve test amaçlı kullanım için uygundur. Bir development ortamında, Kubernetes cluster’ınızı oluşturabilir, test edebilir ve uygulama geliştirme sürecinizi hızlandırabilirsiniz.

Ancak, bir production ortamında, Kubernetes cluster’ı kurulumu ve yapılandırması için, gerekli deneyim, bilgi ve en iyi uygulamaların bilinmesi gerekmektedir. Bu nedenle, bir production ortamı için, profesyonel bir destek almak veya en azından deneyimli bir sysadmin veya DevOps mühendisi tarafından yapılandırılması önerilmektedir. Narweb olarak DevOps ve Infrastructure yönetimi konularında danışmanlık hizmetlerimiz bulunmaktadır. Eğer production ortamı için Kubernetes kurulumu, DevOps pratiklerininin uygulanması konularında ihtiyaçlarınız varsa, bizimle iletişime geçebilirsiniz. İletişim | 7 / 24 Destek | Narweb

Kısacası, bu kurulum rehberi, development ortamlarında kullanılabilecek basit bir Kubernetes cluster kurulumu için adımları içermektedir. Ancak, bir production ortamında kullanmadan önce, gerekli kontrollerin yapılması ve en iyi uygulamaların bilinmesi önemlidir.

Web hosting ihtiyaçlarınız için Narweb web hosting paketlerine göz atabilirsiniz: Linux Hosting | Uygun Fiyat ve Yüksek Hızlı Enterprise SSD Hosting | Narweb

Sunucu ihtiyaçlarınız için Narweb VDS paketlerimize göz atabilirsiniz: VDS Sunucu | Enterprise SSD Dedicated Sanal Sunucu Yüksek Performans | Narweb

Ayrıca sitemizde daha önce yayınladığımız bu yazılar da dikkatinizi çekebilir:

Ubuntu 20.04 Sunucu Kurulduktan Sonra Ilk Yapılması Gerekenler | Narweb.net Blog

Ubuntu 20.04 üzerine Plesk Hosting Kontrol Paneli Kurulumu Nasıl Yapılır? | Narweb.net Blog

En Çok Kullanılan 20 Linux Komutu Ve örnekleri | Narweb.net Blog

Ubuntu 20.04’te SSH Keys (Anahtarları) Nasıl Oluşturulur Ve Kullanılır? | Narweb.net Blog

SSH Temelleri: SSH Sunucuları, İstemcileri Ve Anahtarlarla Çalışma | Narweb.net Blog

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir