Takip et

MicroK8s ile Ubuntu 22.04 Üzerine Kubernetes Kümesi Kurulumu

MicroK8s ile Ubuntu 22.04 Üzerine Kubernetes Kümesi Kurulumu Giriş Modern yazılım geliştirme ve dağıtım süreçlerinde konteynerizasyon, uyg

MicroK8s ile Ubuntu 22.04 Üzerine Kubernetes Kümesi Kurulumu

Giriş

Modern yazılım geliştirme ve dağıtım süreçlerinde konteynerizasyon, uygulamaların taşınabilirliğini, ölçeklenebilirliğini ve tutarlılığını artırmanın temel taşlarından biri haline gelmiştir. Bu konteynerli uygulamaların yönetimini otomatize etmek ve büyük ölçekli altyapılarda sorunsuz bir şekilde çalıştırmak için ise Kubernetes, sektör standardı bir platform olarak öne çıkmaktadır. Ancak, geleneksel bir Kubernetes kümesinin kurulumu ve yönetimi, özellikle başlangıç seviyesindeki kullanıcılar veya geliştirme/test ortamları için oldukça karmaşık ve zaman alıcı olabilir. İşte bu noktada MicroK8s devreye girer.

MicroK8s, Canonical tarafından geliştirilen hafif, tek düğümlü bir Kubernetes dağıtımıdır. Hızlı kurulumu, düşük sistem kaynakları tüketimi ve kolay yönetilebilirliği sayesinde geliştiricilerin ve sistem yöneticilerinin yerel makinelerinde veya küçük sunucularda hızlıca bir Kubernetes ortamı kurmalarına olanak tanır. Bu makale, Ubuntu 22.04 işletim sistemi üzerinde MicroK8s kullanarak tam teşekküllü bir Kubernetes kümesini adım adım nasıl kuracağınızı, temel eklentileri nasıl etkinleştireceğinizi ve örnek bir uygulama dağıtımını nasıl gerçekleştireceğinizi detaylı bir şekilde açıklayacaktır. Amacımız, MicroK8s’in sağladığı kolaylığı vurgulayarak, Kubernetes dünyasına giriş yapmak isteyen herkes için pratik ve anlaşılır bir rehber sunmaktır.

Ön Gereksinimler

MicroK8s kurulumuna başlamadan önce, sisteminizin belirli gereksinimleri karşıladığından emin olmanız önemlidir. Bu gereksinimler, sorunsuz bir kurulum ve çalışma deneyimi için temel oluşturur.

* İşletim Sistemi: Ubuntu 22.04 LTS (Jammy Jellyfish) kurulu bir makine. Fiziksel bir sunucu, sanal makine (VMware, VirtualBox, KVM vb.) veya bulut tabanlı bir sanal sunucu (AWS EC2, Azure VM, Google Cloud Compute Engine vb.) olabilir.
* Sistem Kaynakları:
* RAM: Minimum 2 GB RAM önerilir. Ancak, birden fazla eklenti etkinleştirmeyi veya yoğun uygulamalar çalıştırmayı planlıyorsanız 4 GB veya daha fazlası daha iyi bir deneyim sunacaktır.
* CPU: Minimum 2 çekirdekli bir işlemci önerilir.
* Disk Alanı: Minimum 20 GB boş disk alanı. Kubernetes bileşenleri ve konteyner imajları zamanla yer kaplayacaktır.
* İnternet Bağlantısı: MicroK8s ve ilgili paketleri indirmek için aktif bir internet bağlantısı gereklidir.
* Kullanıcı Yetkileri: Kurulumu gerçekleştirecek kullanıcının sudo yetkilerine sahip olması gerekmektedir.
* Sistem Güncellemesi: Kuruluma başlamadan önce sisteminizin güncel olduğundan emin olmak iyi bir pratiktir. Terminali açın ve aşağıdaki komutları çalıştırın:

sudo apt update
    sudo apt upgrade -y
    sudo apt autoremove -y

Bu komutlar, paket listelerini günceller, mevcut paketleri yükseltir ve artık gerekmeyen paketleri temizler.

MicroK8s Kurulumu

MicroK8s’in Ubuntu üzerindeki kurulumu, Snap paketi yöneticisi sayesinde oldukça basittir. Snap, uygulamaları ve bağımlılıklarını izole edilmiş bir ortamda paketlemeye olanak tanıyan evrensel bir paketleme sistemidir.

Snap ile Kurulum

Ubuntu 22.04, Snapd (Snap paketi yöneticisi) ile birlikte gelir, bu nedenle ekstra bir kurulum yapmanıza gerek kalmaz. Doğrudan MicroK8s’i kurmaya başlayabilirsiniz:

1. MicroK8s Kurulum Komutu:
Aşağıdaki komutu kullanarak MicroK8s’i sisteminize kurun:

sudo snap install microk8s --classic

* sudo: Komutu yönetici yetkileriyle çalıştırmak için.
* snap install microk8s: MicroK8s paketini Snap aracılığıyla kurar.
* --classic: MicroK8s’in sistem kaynaklarına tam erişime ihtiyaç duyması nedeniyle “classic” confinement modunda kurulmasını sağlar. Bu, daha esnek bir çalışma ortamı sunar ancak güvenlik açısından bazı kısıtlamaları kaldırır.

Bu komutu çalıştırdıktan sonra, Snap paketi indirilecek ve kurulacaktır. Bu işlem, internet bağlantınızın hızına ve sistem performansınıza bağlı olarak birkaç dakika sürebilir.

2. Kurulum Durumunu Kontrol Etme:
Kurulum tamamlandıktan sonra, MicroK8s servislerinin başlatılmasını beklemek önemlidir. Aşağıdaki komut, MicroK8s servislerinin tamamen hazır olmasını bekler ve durumunu gösterir:

sudo microk8s status --wait-ready

Çıktı, microk8s is running ve tüm temel bileşenlerin (API server, controller manager, scheduler, etcd) etkin olduğunu göstermelidir.

Kullanıcıya Yetki Verme

Varsayılan olarak, MicroK8s’e erişmek için sudo kullanmanız gerekir. Ancak, her komut için sudo yazmak pratik değildir. MicroK8s grubuna kendi kullanıcı hesabınızı ekleyerek sudo kullanmadan MicroK8s komutlarını çalıştırabilirsiniz:

1. Kullanıcıyı MicroK8s Grubuna Ekleme:

sudo usermod -a -G microk8s $USER

* sudo usermod -a -G microk8s: Mevcut kullanıcıyı ($USER ortam değişkeni ile belirtilen) microk8s grubuna ekler.
* sudo chown -f -R $USER ~/.kube: Bu komut, kullanıcının .kube dizininin sahipliğini ayarlar, böylece kubectl komutları düzgün çalışabilir.

2. Oturumu Yeniden Başlatma:
Bu değişikliklerin etkili olması için oturumu kapatıp tekrar açmanız veya aşağıdaki komutu kullanarak grup üyeliğini güncellemeniz gerekir:

newgrp microk8s

newgrp komutu, yeni bir oturum oluşturmadan mevcut kabukta yeni grup üyeliğini etkinleştirir.

Kubectl Erişimi

MicroK8s, kendi kubectl sürümünü içerir. Buna doğrudan microk8s kubectl şeklinde erişebilirsiniz. Ancak, daha kısa ve standart bir kullanım için bir alias (takma ad) oluşturmak iyi bir fikirdir:

1. Alias Oluşturma:

sudo snap alias microk8s.kubectl kubectl

Bu komut, microk8s.kubectl komutuna kubectl takma adını verir, böylece artık doğrudan kubectl yazarak Kubernetes komutlarını çalıştırabilirsiniz.

2. Küme Durumunu Kontrol Etme:
Şimdi, kubectl komutunun çalıştığından ve kümenizin hazır olduğundan emin olmak için aşağıdaki komutu kullanın:

kubectl get nodes

Çıktı, tek bir düğüm olan ubuntu-server (veya makinenizin ana bilgisayar adı) durumunun Ready olduğunu göstermelidir.

NAME               STATUS   ROLES    AGE   VERSION
    ubuntu-server      Ready       5m    v1.2x.x

MicroK8s Eklentilerini Etkinleştirme

MicroK8s, temel Kubernetes kurulumunun ötesinde, çeşitli kullanışlı eklentileri (add-ons) etkinleştirme imkanı sunar. Bu eklentiler, depolama, ağ, izleme ve yönetim paneli gibi kritik işlevleri kolayca eklemenizi sağlar. Eklentileri etkinleştirmek için microk8s enable komutunu kullanırız.

DNS (CoreDNS)

Kubernetes kümeleri içinde servis keşfi için DNS vazgeçilmezdir. MicroK8s, CoreDNS’i varsayılan DNS sağlayıcısı olarak kullanır.

microk8s enable dns

Bu eklenti, pod’ların ve servislerin birbirlerini isimleriyle bulmasını sağlar. Uygulamaların düzgün çalışması için genellikle bu eklentinin etkinleştirilmesi zorunludur.

Dashboard

Kubernetes Dashboard, kümenizi web tabanlı bir kullanıcı arayüzü üzerinden yönetmenizi sağlayan resmi bir araçtır. Pod’ları, dağıtımları, servisleri ve diğer Kubernetes kaynaklarını görsel olarak izleyebilir ve yönetebilirsiniz.

1. Dashboard Eklentisini Etkinleştirme:

microk8s enable dashboard

Bu komut, Dashboard’un yanı sıra, Dashboard’un çalışması için gerekli olan Ingress eklentisini de otomatik olarak etkinleştirebilir.

2. Dashboard Erişim Token’ını Alma:
Dashboard’a erişmek için bir kimlik doğrulama token’ına ihtiyacınız olacak. Bu token’ı aşağıdaki komutlarla alabilirsiniz:

TOKEN=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
    microk8s kubectl -n kube-system describe secret $TOKEN

token: satırının altında yazan uzun karakter dizisi sizin erişim token’ınızdır. Bu token’ı bir yere kopyalayın.

3. Dashboard’a Erişmek İçin Port Yönlendirme:
Dashboard varsayılan olarak küme içinde çalışır ve dışarıdan doğrudan erişilemez. Yerel makinenizden erişmek için bir port yönlendirme (port-forward) tüneli oluşturmanız gerekir:

microk8s kubectl port-forward -n kube-system service/kubernetes-dashboard 10443:443 --address 0.0.0.0

Bu komut, yerel makinenizin 10443 portunu, Kubernetes kümesindeki Dashboard servisinin 443 portuna yönlendirir. --address 0.0.0.0 parametresi, bu port yönlendirmesine diğer ağ arayüzlerinden de erişilmesini sağlar.

4. Tarayıcıdan Dashboard’a Erişim:
Web tarayıcınızı açın ve aşağıdaki adrese gidin: https://localhost:10443 (eğer --address 0.0.0.0 kullandıysanız, makinenizin IP adresiyle de erişebilirsiniz: https://:10443).
Tarayıcınız muhtemelen bir güvenlik uyarısı gösterecektir (çünkü kendinden imzalı bir SSL sertifikası kullanılır). Bu uyarıyı geçerek ilerleyin.
Açılan sayfada “Token” seçeneğini işaretleyin ve daha önce kopyaladığınız token’ı yapıştırıp “Sign In” butonuna tıklayın. Artık Kubernetes Dashboard’a erişebilirsiniz.

Storage (Hostpath)

Kubernetes’te kalıcı depolama (Persistent Storage), pod’lar yeniden başlatılsa veya taşınsa bile verilerin korunmasını sağlar. MicroK8s, geliştirme ve test ortamları için basit bir “hostpath” depolama sağlayıcısı sunar.

microk8s enable hostpath-storage

Bu eklenti, PersistentVolume (PV) ve PersistentVolumeClaim (PVC) kaynaklarını kullanarak pod’ların ana bilgisayarın dosya sistemindeki belirli bir yolu depolama olarak kullanmasına izin verir. Üretim ortamları için daha gelişmiş depolama çözümleri (NFS, Ceph, bulut depolama sağlayıcıları) tercih edilmelidir.

Ingress

Ingress, dışarıdan gelen HTTP ve HTTPS trafiğini Kubernetes kümesi içindeki servislere yönlendirmek için bir API nesnesidir. Bir Ingress Controller (örneğin Nginx Ingress Controller) bu kuralları uygulayarak trafiği yönetir.

microk8s enable ingress

Ingress eklentisini etkinleştirmek, uygulamalarınıza dış dünyadan alan adı tabanlı veya yol tabanlı erişim sağlamanıza olanak tanır.

Registry

Yerel bir Docker Registry, kendi konteyner imajlarınızı depolamak ve Kubernetes kümenize dağıtmak için kullanışlıdır. Özellikle geliştirme aşamasında, imajları Docker Hub gibi harici bir registry’ye göndermeden test etmek için idealdir.

microk8s enable registry

Bu eklenti, yerel bir Docker Registry’yi kümenize kurar ve localhost:32000 adresinden erişilebilir hale getirir. Kendi imajlarınızı bu registry’ye push edebilir ve ardından bunları MicroK8s kümenize dağıtabilirsiniz.

Diğer faydalı eklentiler arasında:
* MetalLB: Bare-metal ortamlarda LoadBalancer tipi servisler için IP adresi ataması yapar.
* Prometheus: Küme ve uygulamalarınız için izleme ve uyarı sistemi.
* Grafana: Prometheus verilerini görselleştirmek için bir gösterge paneli.
* Fluentd: Log toplama ve merkezi log yönetimi için.

İhtiyaçlarınıza göre bu eklentileri de microk8s enable komutuyla etkinleştirebilirsiniz.

Uygulama Dağıtımı

MicroK8s kümeniz artık temel bileşenleri ve bazı kullanışlı eklentileri ile hazır. Şimdi, basit bir Nginx web sunucusu uygulamasını dağıtarak Kubernetes’in temel işlevlerini deneyimleyelim.

Örnek Bir Uygulama (Nginx) Dağıtımı

Bir dağıtım (Deployment), Kubernetes’te bir uygulamanın istenen durumunu tanımlayan temel bir kaynaktır. Kaç tane pod’un çalışması gerektiğini, hangi imajı kullanacaklarını vb. belirtirsiniz.

1. Nginx Dağıtımı Oluşturma:
Aşağıdaki komut, nginx adında bir dağıtım oluşturur ve Docker Hub’daki resmi nginx imajını kullanarak bir pod çalıştırır:

kubectl create deployment nginx --image=nginx

Bu komut, arka planda bir Deployment nesnesi ve bu Deployment’ı yöneten bir ReplicaSet oluşturur. ReplicaSet, belirtilen sayıda pod’un her zaman çalışır durumda olmasını sağlar.

2. Dağıtım Durumunu Kontrol Etme:
Dağıtımın başarıyla oluşturulup oluşturulmadığını ve pod’un çalışıp çalışmadığını kontrol edelim:

kubectl get deployments
    kubectl get pods

kubectl get deployments çıktısı nginx dağıtımının READY durumda olduğunu, kubectl get pods çıktısı ise nginx pod’unun Running durumda olduğunu göstermelidir.

Servis Oluşturma

Kubernetes’te bir servis (Service), bir grup pod’a tek bir, istikrarlı bir ağ erişim noktası sağlar. Pod’lar yeniden oluşturulsa veya IP adresleri değişse bile, servis adresi sabit kalır.

1. Nginx Servisini Açığa Çıkarma (Expose):
Nginx pod’umuza dışarıdan erişebilmek için bir servis oluşturmamız gerekiyor. NodePort tipi bir servis, küme dışından erişim için ana bilgisayarın belirli bir portunu açar.

kubectl expose deployment nginx --port=80 --type=NodePort

* --port=80: Pod’un 80 numaralı portunu servise bağlar.
* --type=NodePort: Servis tipini NodePort olarak ayarlar. Bu, küme düğümlerinin belirli bir port üzerinden servise erişilebileceği anlamına gelir.

2. Servis Durumunu Kontrol Etme:
Oluşturulan servisi ve atanan NodePort’u kontrol edelim:

kubectl get services

Çıktı, nginx adında bir servisin NodePort tipinde olduğunu ve 80:3xxxx/TCP (buradaki 3xxxx rastgele atanan NodePort numarasıdır, 30000-32767 aralığında) şeklinde bir port eşleşmesine sahip olduğunu göstermelidir.

3. Uygulamaya NodePort ile Erişim:
Artık NodePort üzerinden Nginx’e erişebilirsiniz. Tarayıcınızda veya curl komutuyla deneyin:

curl localhost:3xxxx

(Buradaki 3xxxx yerine kendi servisinizin NodePort numarasını yazın.)
Nginx’in varsayılan “Welcome to nginx!” sayfasının HTML içeriğini görmelisiniz.

Ingress ile Erişim

NodePort basit testler için uygun olsa da, genellikle alan adı tabanlı veya yol tabanlı yönlendirme için Ingress kullanılır. Daha önce ingress eklentisini etkinleştirdiyseniz, şimdi bunu kullanarak Nginx’e erişelim.

1. Ingress Kaynağı Oluşturma:
Aşağıdaki YAML içeriğini nginx-ingress.yaml adında bir dosyaya kaydedin:

apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: nginx-ingress
    spec:
      rules:
      - host: myapp.local
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: nginx
                port:
                  number: 80

Bu Ingress kuralı, myapp.local ana bilgisayar adına gelen tüm istekleri nginx servisine (80 numaralı portundan) yönlendirecektir.

2. Ingress Kaynağını Uygulama:

kubectl apply -f nginx-ingress.yaml

3. Yerel Hosts Dosyasını Düzenleme:
Ingress Controller’ın myapp.local ana bilgisayar adını çözümleyebilmesi için, yerel makinenizin /etc/hosts dosyasına bir giriş eklemeniz gerekir.

sudo nano /etc/hosts

Dosyanın sonuna aşağıdaki satırı ekleyin:

127.0.0.1 myapp.local

Kaydedip dosyayı kapatın.

4. Uygulamaya Ingress ile Erişim:
Şimdi web tarayıcınızı açın ve http://myapp.local adresine gidin. Nginx’in “Welcome to nginx!” sayfasını görmelisiniz. Bu, Ingress Controller’ın isteği başarıyla Nginx servisine yönlendirdiğini gösterir.

MicroK8s Yönetimi ve Bakımı

MicroK8s, kümenizi yönetmek ve bakımını yapmak için çeşitli kullanışlı komutlar sunar.

Durum Kontrolü

Kümenizin ve tüm bileşenlerinin durumunu kontrol etmek için:

microk8s status

Bu komut, hangi bileşenlerin çalıştığını, hangi eklentilerin etkin olduğunu ve genel küme sağlığını gösterir.

Başlatma/Durdurma/Yeniden Başlatma

MicroK8s servislerini yönetmek için:
* Başlatma: microk8s start
* Durdurma: microk8s stop
* Yeniden Başlatma: microk8s restart

Güncelleme

MicroK8s’i en son kararlı sürüme güncellemek için Snap’i kullanabilirsiniz:

sudo snap refresh microk8s --channel=stable

Bu komut, MicroK8s’in kurulu olduğu Snap kanalındaki en son kararlı sürümüne güncellenmesini sağlar.

Logları İnceleme

MicroK8s bileşenlerinin loglarını ve sistem bilgilerini toplamak için:

microk8s inspect

Bu komut, sorun giderme durumlarında çok faydalı olan kapsamlı bir rapor oluşturur ve bir dizine kaydeder.

Küme Bilgileri (Kubeconfig)

Eğer MicroK8s kümenize başka bir kubectl istemcisi veya bir CI/CD aracı gibi harici bir kaynaktan erişmek istiyorsanız, kubeconfig dosyasını almanız gerekir:

microk8s config

Bu komut, kümenize erişim için gerekli olan kubeconfig içeriğini standart çıktıya basar. Bu çıktıyı bir dosyaya kaydedip (örneğin ~/.kube/config veya başka bir isimle) diğer araçlarda kullanabilirsiniz.

Küme Sıfırlama/Kaldırma

* Küme Verilerini Sıfırlama: Eğer kümenizin tüm verilerini (pod’lar, servisler, dağıtımlar vb.) silip temiz bir duruma dönmek isterseniz:

microk8s reset

Bu komut, MicroK8s’i ilk kurulum durumuna getirir ancak Snap paketini kaldırmaz.

* MicroK8s’i Tamamen Kaldırma: MicroK8s’i sisteminizden tamamen kaldırmak için:

sudo snap remove microk8s --purge

--purge parametresi, MicroK8s ile ilişkili tüm verileri ve konfigürasyonları da siler.

Çok Düğümlü Küme Kurulumu (Kısa Bahis)

MicroK8s, adından da anlaşılacağı gibi genellikle tek düğümlü bir kurulum için tasarlanmıştır. Ancak, Canonical, MicroK8s’i çok düğümlü kümeler oluşturmak için de genişletme yeteneği sunar. Bu, özellikle küçük test kümeleri veya kenar bilişim (edge computing) senaryoları için faydalı olabilir.

Çok düğümlü bir MicroK8s kümesi oluşturmak için:
1. İlk Düğümde Token Oluşturma: Mevcut bir MicroK8s kurulumunda (birinci düğüm), aşağıdaki komutla bir birleştirme token’ı oluşturursunuz:

microk8s add-node

Bu komut, diğer düğümlerin bu kümeye katılmak için kullanabileceği bir komut ve token üretir.

2. Diğer Düğümlerin Katılması: Diğer Ubuntu makinelerinde MicroK8s’i kurduktan sonra (yukarıdaki kurulum adımlarını takip ederek), birinci düğümün verdiği microk8s join :/ komutunu çalıştırırsınız.

Ancak, daha büyük, üretim odaklı çok düğümlü Kubernetes kümeleri için Kubeadm, K3s veya bulut sağlayıcılarının yönetilen Kubernetes servisleri (EKS, AKS, GKE) gibi çözümler genellikle daha uygun ve kapsamlı özellikler sunar. MicroK8s’in çok düğümlü yetenekleri daha çok basit genişletme ve hafif senaryolar için tasarlanmıştır.

Sorun Giderme

MicroK8s kurulumu veya kullanımı sırasında karşılaşabileceğiniz bazı yaygın sorunlar ve çözümleri:

Snap ile İlgili Sorunlar

* Kurulum Takılı Kalıyor: İnternet bağlantınızı kontrol edin. Snapd servisinin düzgün çalıştığından emin olun (sudo systemctl status snapd).
* Snap Komutları Çalışmıyor: Snapd’in doğru şekilde yüklendiğinden ve yolunuzda olduğundan emin olun.

Kubernetes Bileşen Hataları

* Pod’lar Pending veya CrashLoopBackOff Durumunda:
* kubectl get pods -A: Tüm ad alanlarındaki pod’ları kontrol edin.
* kubectl describe pod -n : Pod’un detaylarını inceleyerek neden başlamadığını veya çöktüğünü anlamaya çalışın (Event’lar bölümü önemlidir).
* kubectl logs -n : Pod’un loglarını kontrol edin.
* Servisler Erişilemez:
* Servisin doğru portu hedeflediğinden emin olun.
* kubectl get services ile servisin durumunu kontrol edin.
* kubectl get endpoints ile servisin arkasındaki pod’ların IP adreslerinin doğru olduğunu doğrulayın.

Kaynak Kısıtlamaları

* Düşük RAM/CPU: Özellikle çok sayıda pod çalıştırıyorsanız veya kaynak yoğun uygulamalar kullanıyorsanız, sistem kaynaklarının yetersizliği performansı etkileyebilir veya pod’ların başlamasını engelleyebilir. microk8s inspect komutu bu konuda ipuçları verebilir. Daha fazla RAM veya CPU tahsis etmeyi düşünebilirsiniz.

Güvenlik Duvarı (UFW)

Ubuntu’da UFW (Uncomplicated Firewall) etkinse, Kubernetes bileşenlerinin iletişim kurmasını engelleyebilir. MicroK8s, kurulum sırasında bazı UFW kurallarını otomatik olarak eklemeye çalışır, ancak bazen manuel müdahale gerekebilir.
* UFW Durumunu Kontrol Etme: sudo ufw status
* Gerekli Portları Açma:
* Kubernetes API Sunucusu: sudo ufw allow 16443/tcp
* Kubelet: sudo ufw allow 10250/tcp
* CNI (Konteyner Ağ Arayüzü) trafiği için cni0 köprüsüne izin verme: sudo ufw allow in on cni0
* Flannel (varsayılan CNI): sudo ufw allow 8472/udp (Calico kullanıyorsanız farklı portlar gerekebilir)
* Dashboard için port yönlendirme yapıyorsanız, o portu da açmanız gerekebilir (sudo ufw allow 10443/tcp).

MicroK8s Logları

Daha derinlemesine sorun giderme için MicroK8s’in kendi loglarını inceleyebilirsiniz:

journalctl -u snap.microk8s.* --no-pager

Bu komut, MicroK8s ile ilgili tüm Snap servislerinin loglarını gösterir.

Sonuç

Bu makalede, Ubuntu 22.04 işletim sistemi üzerinde MicroK8s kullanarak hızlı ve etkili bir Kubernetes kümesi kurulumunu adım adım ele aldık. MicroK8s’in hafif yapısı ve Snap entegrasyonu sayesinde, geleneksel Kubernetes kurulumlarının karmaşıklığından uzak durarak, dakikalar içinde çalışan bir Kubernetes ortamına sahip olmanın ne kadar kolay olduğunu gördük.

Kurulum sürecinde, MicroK8s’in nasıl kurulacağını, kullanıcı yetkilerinin nasıl ayarlanacağını ve kubectl komutunun nasıl kullanılacağını öğrendik. Ardından, DNS, Dashboard, Hostpath Storage, Ingress ve Registry gibi temel eklentileri etkinleştirerek kümemizin işlevselliğini genişlettik. Son olarak, örnek bir Nginx uygulamasını dağıtarak ve NodePort ile Ingress kullanarak dışarıdan erişim sağlayarak Kubernetes’in temel dağıtım mekanizmalarını pratik olarak uyguladık. Yönetim, bakım ve sorun giderme ipuçlarıyla da MicroK8s deneyiminizi daha eksiksiz hale getirmeye çalıştık.

MicroK8s, özellikle geliştirme, test, IoT ve kenar bilişim senaryoları için mükemmel bir seçimdir. Kubernetes’i öğrenmek isteyenler için düşük bir giriş bariyeri sunar ve hızlı prototipleme imkanları sağlar. Her ne kadar büyük ölçekli üretim ortamları için daha gelişmiş Kubernetes dağıtımları tercih edilse de, MicroK8s’in sağladığı esneklik ve kullanım kolaylığı onu birçok senaryo için vazgeçilmez bir araç haline getirmektedir.

Artık kendi MicroK8s kümenizde uygulamalarınızı dağıtmaya, Kubernetes kavramlarını derinlemesine keşfetmeye ve konteynerli iş yüklerinin gücünü deneyimlemeye hazırsınız. Bir sonraki adım olarak, Helm ile uygulama paketlemeyi, CI/CD entegrasyonlarını veya daha karmaşık ağ ve depolama çözümlerini araştırmayı düşünebilirsiniz. Kubernetes dünyasına hoş geldiniz!

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

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

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version