Kubernetes K3D Kurulum
Ubuntu 20.04
Merhabalar,
Bu yazımda K3D kurulumunu inceliycez ilk olarak nedir, hangi amaçla kullanıyoruz.
K3D: K3D, hızlı bir şekilde kubernetes cluster’ı oluşturmamızı sağlayan bir araçtır. K3D ile oluşturulan cluster’lar oldukça hafiftir ve K3S’i baz almaktadır. Yani K3D kullanarak K3S cluster’ı kuruyoruz ve bunu hızlı ve minimum kaynak kullanarak yapıyoruz.
Ayrıca K3D cross-platform olduğu için Windows, Mac OS ve Linux üzerinde çalışabilmektedir.
İlk olarak Docker kurulumu ile başlıyoruz. Aşağıdaki linkten bash scripti çalıştıtarak docker kurulumunu yapabilirsiniz.
curl https://releases.rancher.com/install-docker/20.10.sh | shdocker version
Docker kullanıcısına root yetkisi vermek için,
sudo groupadd dockersudo gpasswd -a $USER dockernewgrp docker
Kubernetes CLI yani Kubernetes API Server erişmek için kubectl kurulumunu gerçekleştirelim. Bunun için,
curl -LO “https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectlsudo chmod +x kubectlsudo mkdir -p ~/.local/bin/kubectlsudo mv ./kubectl ~/.local/bin/kubectlkubectl version --client
Docker ve kubectl başarılı şekilde kurduğumuza göre K3D kurulumuna başlayabiliriz.
K3D kurulumu oldukça basit, tek yapmanız gereken terminalinize aşağıdaki wget komutu ile localinize indirip çalıştırmanız yeterlidir. Dilerseniz bu adresten kurulum adımlarını kendi ortamınıza göre yapabilirsiniz.
wget -q -O - https://raw.githubusercontent.com/rancher/k3d/main/install.sh | bash
Yukarıdaki resimdeki gibi bir çıktı aldıysanız kurulumu başarılı bir şekilde gerçekleşmiştir. K3D versiyonu bakmak için,
k3d --version
K3D kurulumu başarılı şekilde yapmış durumdayız. Şimdi de K3D komutları ile neler yapabiliriz buna bakalım. Bunun için,
k3d
K3D cluster komutu ile;
- Yeni bir kds cluster’ını hızlı bir şekilde kurabiliriz.
- Kurduğumuz cluster’ları listeleyebiliriz
- Kurduğumuz cluster’ı başlatabiliriz.
- Kurduğumuz cluster’ı silebiliriz.
K3D node komutu ile;
- Yeni bir node oluşturabiliriz.
- Oluşturulan node’ları listeleyebiliriz.
- Node’ları başlatabiliriz.
- Node’ları silebiliriz.
K3d ile cluster kurulumu yapalım. Bunun için,
k3d cluster create cluster_namekubectl cluster infok3d cluster list
Clusterımızı başarılı şekilde kuruldu imperative olarak bir nginx deploymentı oluşturalım.
kubectl create deployment nginx --image nginx --port 80
Oluşturduğumuz deployment’ı dışarıya açmak için,
kubectl expose deployment nginxkubectl get svc
Şimdide bir tane ingress oluşturalım.
cat <<EOF | kubectl apply -f -apiVersion: extensions/v1beta1kind: Ingressmetadata:name: nginxannotations:ingress.kubernetes.io/ssl-redirect: “false”spec:
tls:
- hosts:
- nginxtestrules:
- nginxtesthttp:paths:- path: /backend:serviceName: nginxservicePort: 80EOF
Oluşturduğumuz pod,service ve ingress objesine bakalım.
kubectl get pod,svc,ing
Başarılı şekilde nginx deploymentımızıda gerçekleştirdik.
Oluşturduğumuz clusterı silerek multi cluster oluşturalım. Bunun için ilk olarak clusterımızı silelim.
k3d cluster delete cluster_nameya dak3d cluster delete -a
Multi cluster oluşturmak için,
k3d cluster create clustername --servers 3k3d cluster listkubectl get node
Yeni bir node eklemek için,
k3d node create new_node_name --cluster cluster_name --role serverk3d cluster listkubectl get node
Başarılı şekilde multi cluster ve sonradan clusterı node eklemeyi tamamladık.
Bu yazımızın da sonuna gelmiş bulunmaktayız. Araştırmalarım ve sektörde karşılaştığım senaryolar üzerine yazılarımı yazmaya devam edeceğim. Umarım faydalı bir yazı olmuştur. Yazımı okuduğunuz için teşekkürler.
Referenslar;