Ubuntu 22.04'te K3s Kubernetes Kümesi Nasıl Kurulur?
Ubuntu 22.04'te K3s Kubernetes Kümesi Nasıl Kurulur?

Ubuntu 22.04'te K3s Kubernetes Kümesi Nasıl Kurulur?

0 Hisse senetleri
0
0
0
0

Ubuntu 22.04'te K3s Kubernetes Kümesi Nasıl Kurulur?

giriiş

Kubernetes, konteyner düzenlemesi için sektörün en sevilen araçlarından biridir. Ancak, sıfırdan bir Kubernetes kümesi kurmak göz korkutucu bir görev olabilir ve çok fazla yapılandırma gerektirir. Ayrıca, bir Kubernetes kümesi kurmaya başlamanın birkaç yolu vardır, ancak bir üretim kümesi oluşturmak istemiyorsanız, bunların çoğu zaman alıcı olabilir.

Rancher Labs, bir Kubernetes kümesinin kurulumunu basitleştirmek ve uzak, kaynak kısıtlamalı konumlara dağıtımını mümkün kılmak için K3s'yi geliştirdi. Bu sayede K3s, uç bilişim için iyi bir aday haline geldi. K3s, küçük bir ikili dosya kullanarak dakikalar içinde bir Kubernetes kümesi kurmanıza olanak tanıyan hafif bir Kubernetes dağıtımıdır.

Bu eğitimde, Ubuntu'ya K3s'nin nasıl kurulacağını ve K3s'de bulunan ek yapılandırma seçeneklerini öğreneceksiniz.

Ön koşullar

Bu eğitimi tamamlamak için şunlara ihtiyacınız olacak:

Ubuntu 22.04 başlangıç sunucu kurulum kılavuzunu takip ederek en az 1 GB RAM'e sahip bir Ubuntu 22.04 sunucusu kuruldu.

Adım 1- K3s'yi yükleyin

Bu adımda Ubuntu makinenize K3s'in en son sürümünü kuracaksınız.

Şifre tabanlı oturum açma kullanıyorsanız, aşağıdaki komutu kullanarak sudo kullanıcınızla (bu eğitimde sammy olacak) sunucunuza oturum açın:

$ ssh sammy@your_server_ip

سپس با استفاده از دستور زیر K3 را نصب کنید.

$ curl -sfL https://get.k3s.io | sh -

Betiği çalıştırmak için kullanıcı şifresini girmeniz istenecektir.

Bu komut, https://get.k3s.io adresindeki betiği indirmek için curl komutunu kullanır ve betiği –sh'ye yönlendirerek çalıştırır. Betiği çalıştırdıktan sonra, K3s küme kurulumu, tek düğümlü bir Kubernetes kümesi oluşturan varsayılan yapılandırma seçenekleriyle başlar.

Şuna benzer bir çıktı alacaksınız:

[secondary_label Output]

[INFO] Finding release for channel stable

[INFO] Using v1.27.7+k3s2 as release

[INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.27.7+k3s2/sha256sum-amd64.txt

[INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.27.7+k3s2/k3s

[INFO] Verifying binary download

[INFO] Installing k3s to /usr/local/bin/k3s

[INFO] Skipping installation of SELinux RPM

[INFO] Creating /usr/local/bin/kubectl symlink to k3s

[INFO] Creating /usr/local/bin/crictl symlink to k3s

[INFO] Creating /usr/local/bin/ctr symlink to k3s

[INFO] Creating killall script /usr/local/bin/k3s-killall.sh

[INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh

[INFO] env: Creating environment file /etc/systemd/system/k3s.service.env

[INFO] systemd: Creating service file /etc/systemd/system/k3s.service

[INFO] systemd: Enabling k3s unit

Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.

[INFO] systemd: Starting k3s

...

Betik çıktısı, kümeyi kurmak ve başlatmak için kurulum betiğinin attığı adımları gösterir. Ardından, systemctl kullanarak K3s hizmetinin durumunu kontrol edecek ve aşağıdaki komutu kullanarak çalışıp çalışmadığını kontrol edeceksiniz.

$ systemctl status k3s

Bu komut durumu aktif (çalışıyor) olarak gösterir:

[secondary_label Output]

● k3s.service - Lightweight Kubernetes

Loaded: loaded (/etc/systemd/system/k3s.service; enabled; vendor preset: enabled)

Active: active (running) since Mon 2023-11-27 16:52:01 UTC; 19s ago

Docs: https://k3s.io

Process: 8396 ExecStartPre=/bin/sh -xc ! /usr/bin/systemctl is-enabled --quiet nm-cloud-setup.service (code=exi>

Process: 8398 ExecStartPre=/sbin/modprobe br_netfilter (code=exited, status=0/SUCCESS)

Process: 8399 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)

Main PID: 8400 (k3s-server)

Tasks: 20

Memory: 467.3M

CPU: 12.952s

CGroup: /system.slice/k3s.service

├─8400 "/usr/local/bin/k3s server"

└─8421 "containerd " "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >

...

Bu noktada, tek düğümlü bir Kubernetes kümesi oluşturmak için Ubuntu'ya K3s yüklediniz. Şimdi, kümeye dağıtılan varsayılan Kubernetes nesnelerine göz atacaksınız.

Adım 2 – Kubernetes Varsayılan Nesnelerini İnceleyin

Bu adımda, K3s kurulumundan sonra dağıtılan varsayılan Kubernetes nesnelerini inceleyeceksiniz.

Kube ad alanındaki kümede dağıtılan tüm Kubernetes nesnelerini görmek için aşağıdaki komutu çalıştırın. kubectl, K3s kurulumu sırasında otomatik olarak yüklenir ve bu nedenle ayrı bir kurulum gerektirmez.

$ sudo kubectl get all -n kube-system

Şuna benzer bir çıktı alacaksınız:

[secondary_label Output]

NAME                                         READY   STATUS      RESTARTS   AGE

pod/local-path-provisioner-957fdf8bc-t8vpx   1/1     Running     0          4m34s

pod/coredns-77ccd57875-4hrd9                 1/1     Running     0          4m34s

pod/helm-install-traefik-crd-j2sqs           0/1     Completed   0          4m34s

pod/helm-install-traefik-mvxhw               0/1     Completed   1          4m34s

pod/metrics-server-648b5df564-gqxcz          1/1     Running     0          4m34s

pod/svclb-traefik-18597fcd-2cf68             2/2     Running     0          4m6s

pod/traefik-768bdcdcdd-srb8d                 1/1     Running     0          4m7s



NAME                     TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)                      AGE

service/kube-dns         ClusterIP      10.43.0.10      <none>           53/UDP,53/TCP,9153/TCP       4m44s

service/metrics-server   ClusterIP      10.43.69.115    <none>           443/TCP                      4m43s

service/traefik          LoadBalancer   10.43.149.125   159.65.159.115   80:32266/TCP,443:32628/TCP   4m7s



NAME                                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE

daemonset.apps/svclb-traefik-18597fcd   1         1         1       1            1           <none>          4m7s



NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE

deployment.apps/local-path-provisioner   1/1     1            1           4m44s

deployment.apps/coredns                  1/1     1            1           4m44s

deployment.apps/metrics-server           1/1     1            1           4m44s

deployment.apps/traefik                  1/1     1            1           4m7s



NAME                                               DESIRED   CURRENT   READY   AGE

replicaset.apps/local-path-provisioner-957fdf8bc   1         1         1       4m34s

replicaset.apps/coredns-77ccd57875                 1         1         1       4m34s

replicaset.apps/metrics-server-648b5df564          1         1         1       4m34s

replicaset.apps/traefik-768bdcdcdd                 1         1         1       4m7s



NAME                                 COMPLETIONS   DURATION   AGE

job.batch/helm-install-traefik-crd   1/1           28s        4m41s

job.batch/helm-install-traefik       1/1           31s        4m41s



...
 

Yukarıdaki çıktı, Kubernetes kümesinde dağıtılan çeşitli nesneleri göstermektedir. Örneğin, coredns, local-path-provisioner, metrics-server ve traefik için olmak üzere 4 dağıtım çalışmaktadır.

Sudo kullanmadan komutu çalıştırırsanız aşağıdaki hatayla karşılaşabilirsiniz.

Output
WARN[0000] Unable to read /etc/rancher/k3s/k3s.yaml, please start server with --write-kubeconfig-mode to modify kube config permissions

error: error loading config file "/etc/rancher/k3s/k3s.yaml": open /etc/rancher/k3s/k3s.yaml: permission denied

...

Kubectl komutlarını çalıştırırken sudo'ya ihtiyaç duyulmaması için, aşağıda gösterildiği gibi yapılandırma dosyasının izinlerini chmod ile değiştirin.

$ sudo chmod 644 /etc/rancher/k3s/k3s.yaml

Bu noktada, varsayılan olarak K3s kümesine dağıtılan Kubernetes nesnelerinin durumunu doğrulamış oldunuz. Ardından, kurulum sırasında K3s'deki yapılandırma seçeneklerini anlayacak ve değiştireceksiniz.

Adım 3 – K3S'deki yapılandırma seçeneklerini anlayın ve değiştirin

K3'leri varsayılan ayarları kullanarak yüklediniz, ancak kümeye özgü özel bir davranış elde etmek için yapılandırmayı ayarlayabilirsiniz. Bu adımda, kurulum betiğinde ayarları belirlemek için K3'teki ortam değişkenlerini nasıl kullanacağınızı öğreneceksiniz.

Örneğin, varsayılan ayarlar traefik giriş denetleyicisi kurulumuyla birlikte gelir, bazı durumlarda kurulum sırasında giriş denetleyicisini devre dışı bırakmak isteyebilirsiniz.

INSTALL_K3S_EXEC ortam değişkeni, K3s hizmetine bayraklar iletmek için kullanılabilir. Aşağıdaki komut, K3 kurulumu sırasında traefik'i devre dışı bırakmak için kullanılabilir.

$ curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--disable=traefik" sh -

Doğrulamak için Kubernetes nesnelerini kontrol edin. Denetleyici kaynakları bu sefer mevcut olmayacak.

$ sudo kubectl get all -n kube-system

Yapılandırma seçeneklerini ortam değişkenlerini kullanarak değiştirmenin yanı sıra, bu işlem K3s yapılandırma dosyasında da yapılabilir. Gerekli seçenekler yapılandırma dosyasında belirtilebilir ve ardından değişikliklerin etkili olması için K3s sunucusu yeniden başlatılabilir.

K3s, etc/rancher/k3s/config.yaml/ konumunda bulunan yapılandırma dosyasını kullanır.

Yapılandırma dosyasını oluşturmak ve yazmak için aşağıdaki komutu çalıştırın.

$ sudo nano /etc/rancher/k3s/config.yaml

Yapılandırma dosyasına aşağıdakileri yazın.

$ disable: traefik

Dosyayı yazmak ve çıkmak için Ctrl+X tuşlarına basın. Devre dışı bırakılan satır: traefik, K3s hizmetine traefik kurulumuyla ilişkili kaynakları kaldırmasını söyler.

Daha sonra değişiklikleri uygulamak için aşağıdaki komutu kullanarak K3s servisini yeniden başlatın.

$ sudo systemctl restart k3s

Artık, Kube sistem ad alanındaki tüm Kubernetes nesnelerini listeleyerek doğrulama yapabilirsiniz. Şu anda Traefik kurulumuyla ilişkili hiçbir kaynak olmamalıdır.

$ sudo kubectl get all -n kube-system

Bu adımda, kurulum sırasında ve sonrasında K3s yapılandırmasını nasıl değiştireceğinizi öğrendiniz. Ardından, sanal makineleri temizlemek için K3s kümesini sileceksiniz.

Adım 4 – K3s'yi kaldırın

K3S'yi kaldırmak için 'usr/local/bin/k3s-uninstall.sh/' adlı bir kabuk betiği çalıştırmanız gerekir. Betik, K3s yüklendikten sonra otomatik olarak oluşturulur ve eksiksiz bir temizlik gerçekleştirmek için kullanılabilir. Kaldırma işlemi sırasında, K3s kurulumu sırasında oluşturulan veya yüklenen tüm K3s yapılandırmaları ve küme araçları kaldırılır.

K3'ü kaldırmak için aşağıdaki komutu çalıştırın:

$ /usr/local/bin/k3s-uninstall.sh

Aşağıdaki komutu kullanarak K3s hizmetinin durumunu kontrol ederek kaldırma işlemini onaylayın:

$ systemctl status k3s

Şuna benzer bir çıktı alacaksınız:

[secondary_label Output]

Unit k3s.service could not be found.

Sonuç

Bu makalede, Ubuntu'ya bir K3s kümesi kurdunuz ve K3s'te mevcut yapılandırma seçeneklerini ve bunları kullanma mekanizmasını anladınız. Artık Kubernetes kümenizi kurduğunuza göre, Kubernetes'teki farklı nesne türlerini ve işlevlerini keşfetmelisiniz.

Bir yanıt yazın

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

Ayrıca Şunları da Beğenebilirsiniz

CentOS 6/7'ye IBSng nasıl kurulur

CentOS 6/7'de IBSng Kurulum Eğitimi Bu makalede, centOS 6/7'de IBSng kurulum eğitimi size yardımcı olmak için sağlanmıştır…

Sunucu nasıl kurulur?

Giriş Hazır sunucu kiralamak veya satın almak, özellikle küçük şirketler için güvenli bir tercihtir. Ancak,…