Kubernetes K3D Kurulum

Ubuntu 20.04

Deniz TÜRKMEN
4 min readSep 23, 2022

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:

- nginxtest
rules:

- nginxtest
http: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.

--

--

Deniz TÜRKMEN
Deniz TÜRKMEN

No responses yet