Bogdan's Docs

Table of Contents

Table of Contents

  • Scurtă Introducere în Kubernetes
    • Cum pot sa creez un cluster Kubernetes?
    • Cum creez un cluster Kubernetes cu Raspberry Pi 4

Ideas

  • Artificial Intelligence
    • Bond Pricing
    • Kubernetes Inference
    • Knowledge Bot
    • Ready to Use Models
    • Satellite Damage Detection

Curs IoT si AI (ro) Resources

  • Links
    • Artificial Intelligence
  • Recipes
    • MacOS
Bogdan's Docs
Docs » iot-si-ai:kubernetes

Scurtă Introducere în Kubernetes

Kubernetes este un sistem open-source de orchestare a containerelor, care a fost lansat initial de catre Google in 2014. Ideea din spatele Kubernetes a fost de a facilita operatiunile de management ale aplicatiilor containerizate. In timp ce containerizarea permite izolarea unei aplicatii si a dependintelor sale in medii portabile, gestiunea acestor containere devine mai complicata atunci cand aplicatia are nevoie sa ruleze in mai multe containere, pe mai multe noduri si in diferite medii. Kubernetes a fost creat pentru a ajuta la automatizarea acestor operatiuni de management si a usurat gestionarea aplicatiilor containerizate.

Kubernetes a fost dezvoltat initial de catre Google in 2014, dar in scurt timp a fost lansat ca open source sub egida Cloud Native Computing Foundation (CNCF). Decizia de a deveni open-source a fost luata pentru a spori adopatarea Kubernetes, si a permis altor companii si dezvoltatori sa contribuie la dezvoltarea si imbunatatirea sa. In prezent, Kubernetes este unul dintre cele mai populare si folosite proiecte open-source din lume, cu o comunitate activa de utilizatori si dezvoltatori care contribuie la dezvoltarea si mentenanta sa continua.

Kubernetes oferă un set de funcții utile, cum ar fi:

  1. Automatizarea scalării orizontale: Kubernetes poate crește automat sau scădea numărul de containere care rulează o anumită aplicație în funcție de cerințele de trafic și performanță.
  2. Gestionarea și actualizarea automată a aplicațiilor: Kubernetes poate gestiona automat actualizările și revocarea containerele care nu funcționează corect, asigurând astfel disponibilitatea și fiabilitatea aplicațiilor.
  3. Gestionarea resurselor: Kubernetes poate asigura o utilizare eficientă a resurselor hardware disponibile și poate urmări consumul acestora pentru fiecare aplicație și container individual.
  4. Securitate: Kubernetes poate gestiona și monitoriza accesul la resursele aplicației și poate proteja aceste resurse de accesul neautorizat.

Toate aceste caracteristici îl fac un instrument foarte util pentru dezvoltatorii care utilizează containere și care doresc să automatizeze și să optimizeze procesul de implementare și gestionare a aplicațiilor.

Cum pot sa creez un cluster Kubernetes?

Termenul “cluster” se referă la o colecție de resurse de calcul și de stocare interconectate, care sunt administrate și monitorizate ca o singură unitate. În cazul Kubernetes, aceste resurse sunt noduri (mașini) care rulează containere Docker și care pot fi gestionate centralizat de către orchestratorul Kubernetes.

Pentru a porni propriul cluster Kubernetes aveți nevoie de un set de resurse hardware și software. În primul rând, aveți nevoie de o infrastructură de rețea, cum ar fi o rețea virtuală sau un set de adrese IP dedicate. De asemenea, aveți nevoie de o serie de mașini virtuale sau fizice pentru a rula nodurile Kubernetes, precum și de stocare și resurse de calcul pentru acestea.

Pe partea de software, aveți nevoie de sistemul de operare Linux pe fiecare nod, precum și de o instanță de container runtime, cum ar fi Docker sau CRI-O, pentru a putea rula containerele pe nodurile Kubernetes. De asemenea, aveți nevoie de pachetul de instalare Kubernetes și de alte utilitare, cum ar fi kubectl, pentru a putea configura și gestiona clusterul.

În general, pornirea propriului cluster Kubernetes este o sarcină complexă și necesită o bună înțelegere a arhitecturii și componentelor Kubernetes, precum și a resurselor hardware și software necesare pentru a rula clusterul în mod eficient și sigur.

Există opțiunea de a utiliza Minikube sau alternative similare pentru a porni un cluster Kubernetes local, pe o singură mașină. Minikube este un instrument care permite crearea și rularea unui cluster Kubernetes local, fiind util în special pentru dezvoltarea, testarea și învățarea despre Kubernetes.

Minikube rulează Kubernetes într-un mediu virtualizat, astfel încât să poată fi rulat pe o singură mașină fără a necesita o infrastructură complexă. Minikube poate fi instalat și utilizat pe sisteme de operare precum Linux, macOS și Windows.

Alte alternative similare la Minikube sunt MicroK8s și k3s, care sunt la fel de ușor de instalat și configurat. Acestea sunt optimizate pentru a fi rulate pe mașini cu resurse reduse și au ca scop simplificarea procesului de creare a unui cluster Kubernetes pentru dezvoltare sau testare.

Cum creez un cluster Kubernetes cu Raspberry Pi 4

Pentru a crea un cluster Kubernetes cu K3s pe mai multe Raspberry Pi 4, următoarele etape sunt necesare:

  • Instalați sistemul de operare pe fiecare Raspberry Pi 4 și asigurați-vă că toate au conectivitate de rețea între ele. Este recomandat să utilizați aceeași distribuție de Linux pe toate nodurile.
  • Instalați K3s pe fiecare nod Raspberry Pi 4 folosind următorul comandă în linia de comandă:
curl -sfL https://get.k3s.io | sh -

Aceasta va instala serverul K3s pe fiecare nod, iar nodul curent va fi automat configurat ca și nod de lucru.

  • Pe nodul principal, obțineți token-ul de conectare folosind comanda:
sudo cat /var/lib/rancher/k3s/server/node-token

Acest token va fi folosit pentru conectarea altor noduri la cluster.

  • Pe fiecare nod suplimentar, conectați nodul la cluster folosind token-ul de conectare și adresa IP a nodului principal, folosind comanda:
curl -sfL https://get.k3s.io | K3S_URL=https://<adresa-ip-nod-principal>:6443 K3S_TOKEN=<token-de-conectare> sh -
  • Verificați dacă toate nodurile sunt conectate la cluster folosind comanda:
sudo kubectl get nodes

Numărul minim de noduri într-un cluster Kubernetes depinde de cerințele aplicației și de nivelul de redundanță dorit. Un cluster poate fi format dintr-un singur nod, dar este recomandat să utilizați cel puțin trei noduri pentru a obține redundanță și scalabilitate. Cu toate acestea, K3s poate fi instalat și pe un singur nod și poate fi utilizat pentru a rula aplicații Kubernetes în mod local sau într-un mediu de testare.

Previous Next