ÇÖZÜMLER Linux YAZILIM

Ubuntu Core’da MicroK8’leri kullanmaya başlama

Ubuntu Core’da MicroK8’leri kullanmaya başlama

Ubuntu Çekirdeği Nedir?
Ubuntu Core, Ubuntu işletim sisteminin IoT ve gömülü sistemler için tasarlanmış ve geliştirilmiş bir sürümüdür. Kurulumu, dağıtımı ve yükseltmesi kolay, güvenli, sağlam, sınırlı ve işlem tabanlı bir işletim sistemi oluşturmak için tamamen ek paketlerden oluşturulmuştur.

Kubernetes nedir?
Kubernetes, konteynerli uygulamalara yönelik bir düzenleme platformudur. Kubernetes bilgi işlem, ağ iletişimi ve depolama kaynaklarını soyutlar ve konteyner yaşam döngüsünü güvenilir ve ölçeklenebilir bir şekilde yönetir. DevOps ilkeleriyle oluşturulan Kubernetes, iş yükünün yeniden dağıtımı ve yükseltmeleri gibi operasyonel görevleri otomatikleştirir ve ayrıntılı kaynak kontrolü için API’ler sağlar.

MicroK8 nedir?
MicroK8s, bulutlar, iş istasyonları, uçlar ve IoT cihazları için CNCF sertifikalı hafif bir Kubernetes dağıtımıdır. Çabuk olması nedeniyle tüm Kubernetes hizmetlerini yerel olarak çalıştırır (yani sanal makineler olmadan), tüm bağımlılıkları tek bir pakette içerir ve görev açısından kritik şeffaf güvenlik güncellemeleri alır. MicroK8s, kurulum, kurulum ve izleme hizmetlerinin etkinleştirilmesi ve yüksek kullanılabilirliğe sahip kümeleme gibi işlemler otomatikleştirildiğinden veya tek bir komutla yapıldığından basitlik ve sağlamlık için optimize edilmiştir.

Neden Core’da Microk8’ler
MicroK8’ler ve Ubuntu Core, kendi kendini iyileştirme, yüksek kullanılabilirlik ve otomatik OTA güncellemeleri gibi özelliklerle güvenilirlik ve güvenlik gibi avantajları paylaşıyor. Ubuntu, bulutlardaki Kubernetes için tercih edilen işletim sistemidir. Ubuntu Core ve MicroK8’lerin birleştirilmesi, IoT ve Edge uygulamalarında boyut ve performans optimizasyonlarıyla akıcı, yerleşik bir Kubernetes deneyimi yaratır.

1- Ubuntu Core’u yükleyin

Artık IoT cihazınız elinizin altında olduğuna göre, Ubuntu Core’u yükleyerek başlayalım.

Şu anda bunun için iki kılavuz var:

  • Raspberry Pi’ye Ubuntu Core’u yükleyin
  • Ubuntu Core’u Intel NUC’ye yükleyin
    MicroK8’leri çalıştırmak için 64 bit Ubuntu Core sürümünü kullanmanız gerektiğini unutmayın.

İki kılavuzdan herhangi birindeki adımları başarıyla tamamlamayı başardıysanız artık cihazınızdaki Ubuntu Core terminaline erişebiliyor olmanız gerekir.

 

2- MicroK8S’yi Ubuntu Core’a yükleyin

Kurulum
Microk8s’in en son sürümünü Ubuntu Core’a yüklemek için şunu çalıştırın:

snap install microk8s --channel=latest/edge/strict

Beklenen çıktının altında:

ubuntu@ubuntu:~$ snap install microk8s --channel=latest/edge/strict

microk8s (edge/strict) v1.22.3 from Canonical✓ installed

ubuntu@ubuntu:~$

Kurulum, donanım kaynaklarınıza ve ağ bağlantınıza bağlı olarak birkaç dakika kadar sürebilir.

Bu hangi Kubernetes sürümünü yüklüyor?
MicroK8s hızlı bir şekilde paketlenmiştir ve bu nedenle daha yeni nokta sürümlerine otomatik olarak güncellenecektir.

Kesinlikle sınırlandırılmış MicroK8s sürümü şu anda özel bir snap kanalında bulunuyor ve bu, yukarı akışlı Kubernetes’in en son sürümüyle uyumlu.

Kanallar bir parçadan (veya seriden) ve MicroK8’in sürümlerine (Kararlı, Aday, Beta, Edge) dayalı olarak beklenen bir kararlılık düzeyinden oluşur. Mevcut sürümler hakkında daha fazla bilgi için şunu çalıştırın:

snap info microk8s

 

Microk8s’i başlatın ve durumu kontrol edin

Microk8s kurulumdan sonra varsayılan olarak başlatılmaz. MicroK8’lerin çalışmasını başlatmak için:

sudo microk8s start

Bu komut, hem kontrol düzlemi hem de çalışan için tüm Kubernetes hizmetlerini başlatır. Artık kurulum tamamlandıktan sonra MicroK8s düğümünüzün durumunu kontrol etmek için şunları kullanabilirsiniz:

sudo microk8s status --wait-ready

Durum microk8s’in çalıştığını göstermelidir.

ubuntu@ubuntu:~$ sudo microk8s status

microk8s is running

high-availability: no

datastore master nodes: 127.0.0.1:19001

datastore standby nodes: none

addons:

enabled:

ha-cluster # Configure high availability on the current node

disabled:

ambassador # Ambassador API Gateway and Ingress

...

storage # Storage class; allocates storage from host directory

traefik # traefik Ingress controller for external access

ubuntu@ubuntu:~$

Gerekli MicroK8s eklentilerini etkinleştirin

Artık Kubernetes hizmetlerini kurup çalıştırdığınıza göre, Kubernetes’inizden tam olarak yararlanmak için Kubernetes kontrol paneli, CoreDNS veya yerel depolama gibi ek hizmetleri ayarlamanız gerekir. Bu hizmetlerin çoğu MicroK8s eklentileri olarak mevcuttur ve microk8s etkinleştirme komutunu çalıştırarak kolayca etkinleştirilebilir:

sudo microk8s enable dns 
microk8s enable dashboard
microk8s enable storage

Bu eklentiler, microk8s devre dışı bırakma komutunu çalıştırarak herhangi bir zamanda devre dışı bırakılabilir:

sudo microk8s disable dns 
...

Microk8s status komutuyla mevcut eklentilerin ve şu anda etkin olanların listesini görebilirsiniz.

 

En önemli eklentilerin listesi
dns: DNS’yi dağıtın. Bu eklenti başkaları tarafından gerekli olabilir, bu nedenle onu her zaman etkinleştirmenizi öneririz.
kontrol paneli: Kubernetes kontrol panelini dağıtın.
depolama: Varsayılan bir depolama sınıfı oluşturun. Bu depolama sınıfı, ana bilgisayardaki bir dizine işaret eden ana bilgisayar yolu sağlayıcısını kullanır.
giriş: Bir giriş denetleyicisi oluşturun.
gpu: nvidia-docker çalışma zamanını ve nvidia-device-plugin-daemonset’i etkinleştirerek GPU’ları MicroK8’lere gösterin. Ana bilgisayar sistemine NVIDIA sürücülerinin önceden yüklenmiş olmasını gerektirir.
istio: Temel Istio hizmetlerini dağıtın. Dağıtımlarınızı yönetmek için microk8s istioctl komutunu kullanabilirsiniz.
kayıt defteri: Bir liman işçisi özel kayıt defterini dağıtın ve onu localhost:32000’de gösterin. Depolama eklentisi bu eklentinin bir parçası olarak etkinleştirilecektir.

 

Örnek kapsayıcı iş yükünü dağıtın

Artık konteynerlerinizi dağıtmak için microk8s kubectl’i kullanabilirsiniz. Bu örnekte, donanım aygıtlarını birbirine bağlamak için bir programlama aracı olan nodered’i dağıtıyoruz

sudo microk8s kubectl create deployment nodered --image=nodered/node-red

Bölmeleri kontrol etmek için kubectl’i kullanın:

ubuntu@ubuntu:~$ sudo microk8s kubectl get pods
NAME READY STATUS RESTARTS AGE
nodered-7555b955f9-68cl9 0/1 ContainerCreating 0 3s
ubuntu@ubuntu:~$ sudo microk8s kubectl get pods
NAME READY STATUS RESTARTS AGE
nodered-7555b955f9-68cl9 1/1 Running 0 16s

Daha sonra dağıtımın ağdan erişilebilir olmasını sağlamak için kubectl komutu kullanılarak kullanıma sunulması gerekir:

sudo microk8s kubectl expose deployment nodered --type=NodePort --port=1880 --name=nodered-service

 

Dağıtım durumunu kontrol edin ve uygulamanıza erişin

Aşağıdaki komutu kullanarak dağıtım durumunu kontrol edebilirsiniz:

sudo microk8s kubectl get services
ubuntu@ubuntu:~$ sudo microk8s kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.152.183.1 <none> 443/TCP 81m
nodered-service NodePort 10.152.183.46 <none> 1880:30663/TCP 5s

Açığa çıkan bağlantı noktası rastgele oluşturulur. Yukarıdaki örnekte portun 30663 olduğunu görüyoruz.

Uygulamanın grafik arayüzüne erişmek için tarayıcınızı açmanız ve aşağıdaki URL şemasını yazmanız gerekir: http://:<EXPOSED_PORT>

Örnek: http://192.168.1.222:30663/

 

 

Cevap Yaz