Kubernetes Introducere pentru începători

Auzind multe despre Kubernetes, dar nu sunt sigur care sunt?


Ce este Kubernetes?

Kubernetes este un instrument open-source care are grijă de orchestrarea containerului. Automatizează desfășurarea containerelor, scalarea continuă și decalarea, echilibrarea încărcării containerului etc.

Kubernetes GeekFlare

Google a dezvoltat inițial Kubernetes pe limbajul de programare Go.

În prezent, este liderul de piață al orchestrării containerelor. Kubernetes este o platformă ideală pentru găzduirea aplicațiilor de microservicii care se scalează dinamic. Când lucrați la un mediu de producție, Kubernetes este cea mai preferată și mai sigură platformă pentru orchestrarea containerelor.

Deoarece într-un mediu de producție, vă așteptați la un timp de oprire zero, clusterul dvs. ar trebui să fie mereu în funcțiune.

Cu Google Cloud Platform (GCP), puteți lansa Kubernetes în doar câteva clicuri. Este susținut de alți furnizori de cloud, precum AWS și Azure. Și, există mai multe platforme Kubernetes gestionate disponibile.

De ce Kubernetes?

Mai devreme, o luptă între dezvoltatori și testeri a fost un lucru comun.

Mediile obișnuiau să fie diferite pentru ei; ceea ce a funcționat pe sistemul dezvoltatorului nu a rulat pe sistemul de testare.

Acum că majoritatea organizațiilor folosesc containere, problemele care apar din cauza diferențelor în mediu nu mai apar.

Dar organizarea și rularea mai multor containere nu este, de asemenea, o sarcină ușoară. Când lucrați la aplicații dinamice, scalând în sus / în jos, numărul de containere este un lucru obișnuit. Efectuarea manuală a acestor sarcini poate fi complexă și riscantă. Prin urmare, este necesar un instrument de orchestrare a containerelor și de aceea este nevoie de Kubernetes.

Caracteristici Kubernetes

Există o mulțime, dar următoarele sunt unele dintre cele mai bune.

# Ambalare Coș automat

Kubernetes îți pachează aplicația și automat plasează containere în funcție de cerințele lor și de resursele disponibile

# Descoperirea serviciilor și echilibrarea încărcăturii

Kubernetes atribuie automat containerelor adresele lor IP și un nume DNS containerelor care execută operațiuni logice. Funcția de echilibrare a încărcăturii este prezentă și între setul de containere.

# Orchestrare de stocare

Kubernetes montează automat sistemul de stocare la alegere. Poate fi stocare locală sau furnizor public de cloud, cum ar fi AWS.

# Auto vindecare

Ori de câte ori Kubernetes își dă seama că unul dintre containerele dvs. a eșuat, acesta va reporni acest container singur, de asemenea, va crea un nou container în locul celui stricat. În cazul în care nodul dvs. nu reușește, containerele care rulează pe acel nod vor începe pe un alt nod care rulează în cluster.

# Scalare orizontală

Puteți scala aplicațiile în sus și în jos rapid cu o simplă comandă. Comanda simplă poate fi rulată pe CLI sau prin tabloul de bord Kubernetes. De asemenea, este posibilă scalarea automată, pe baza utilizării procesorului, containerele dvs. vor fi automat ridicate sau scăzute.

# Rollback și rollout automate

Ori de câte ori există o actualizare a aplicației, Kubernetes lansează progresiv aceste modificări și actualizări ale aplicației sau configurațiilor acesteia. Nu toate instanțele sunt actualizate în același timp, asigurându-se astfel că există o disponibilitate ridicată. Dacă ceva nu merge bine, atunci Kubernetes se va întoarce care se schimbă imediat.

Terminologii Kubernetes

Înainte de a vă murdări mâinile, trebuie să cunoașteți câteva terminologii utilizate în Kubernetes în mod regulat.

# Pod

Reprezintă unul sau mai multe containere care rulează într-un cluster.

# Serviciu

O modalitate abstractă de acces la pod / cerere.

# Space names

Este utilizat pentru a elimina coliziunea numelui în cadrul unui cluster. Acceptă mai multe clustere virtuale pe același cluster fizic.

# Nod

Mașinăria pentru lucrători Kubernetes.

# Cluster

Constând dintr-un grup de noduri care rulează aplicații containerizate pe Kubernetes.

# Adnotare

O etichetă pentru stocarea datelor solicitate de resurse.

# Volumul

Este directorul de date pe care containerele care au acces la pod.

# ReplicaSet

Mai multe replici de poduri de rulare.

# Eticheta

Dând un nume obiectelor Kubernetes, astfel încât acesta să poată fi identificat în sistem.

# Kubelet

Este un agent care rulează pe fiecare nod și verifică dacă containerele rulează în păstăi.

# Kubectl

Utilitatea liniei de comandă pentru a interacționa cu serverul API Kubernetes.

# Kube-proxy

Proxy de rețea care conține toate regulile de rețea pe fiecare nod din cluster.

Kubernetes și Docker

Acum s-ar putea să te gândești, cum este diferit Kubernetes decât Docker. Expresia Kubernetes vs. Docker poate fi înșelătoare.

Docker este o platformă care conține sisteme de operare, biblioteci și aplicații într-un container. Permiteți-mi să vă spun că Docker face același lucru pe care este menit să îl facă în Kubernetes. Dar când lucrezi doar cu Docker, totul este manual. Trebuie să porniți și să opriți containerele manual. Dar cu Kubernetes, totul devine automatizat.

Kubernetes poate programa păstăi care au containere, apoi Kubelet îi spune lui Docker să pornească sau să oprească containerele. Kubelet din Kubernetes este responsabil pentru monitorizarea acestor containere și colectarea informațiilor lor pe nodul principal. Așadar, diferența de bază este în loc să-i spună pe admin care îi spun lui Docker ce să facă, în Kubernetes, totul este automatizat.

Există un alt instrument folosit pentru orchestrarea containerelor este Docker Swarm. Deci, care este diferența dintre ele?

Kubernetes vs. Docker Swarm

KubernetesPuiul de andocare
Instalarea este complexăInstalarea este simplă
Mai mare comunitate open sourceComunitate mai mică comparativ cu Kubernetes
Poate orchestra ușor 100 de containereBun pentru orchestrarea 10-20 de containere
Panoul de bord Kubernetes oferă interfață graficăFără GUI
Acceptă scalarea automatăNu acceptă scalarea automată
Suporta actualizări de rulare cu rulare automatăAcceptă actualizări de rulare, dar nu și rulare automată
Logare și monitorizare disponibile în încorporatAre nevoie de o terță parte ca ELK pentru logare și monitorizare
Poate partaja volumul cu containerele din aceeași podPoate partaja volumul cu orice container din cluster

Concluzie

Sper că acum aveți o înțelegere de bază despre ce este Kubernetes și cum vă ajută. Dacă intrați în DevOps sau vă gândiți să intrați, atunci aș sugera să luați acest lucru curs Udemy fantastic pentru a învăța Kubernetes.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map