Cheat Sheet Kubernetes: arhitectură, componente, foaie de comandă
Publicat: 2020-12-15Kubernetes a devenit o parte esențială a industriilor și schimbă lumea tehnologiei. Janet Kuo, copreședintele KubeCon, a abordat caracteristicile Kubernetes și importanța acestora în perioada următoare. Ea vorbește despre extensiile și soluțiile Kubernetes care vor schimba lumea .
Această foaie de cheat va oferi o referință profesioniștilor care lucrează în implementarea Kubernetes. Conține toate detaliile necesare pentru a ajuta începătorii care sunt noi în Kubernetes. Cheat Sheet Kubernetes este un mediu rapid și la îndemână pentru a face referire la toate conceptele și comenzile esențiale ale Kubernetes.
Cuprins
Despre Kubernetes
O platformă open-source pentru implementarea automată și scalarea containerelor în clustere de gazde pentru a oferi o infrastructură centrată pe container este cunoscută sub numele de Kubernetes (cunoscut și ca „Kube” sau k8s). Permite gestionarea ușoară și eficientă a diferitelor gazde care rulează containere Linux prin gruparea acestora.
Kubernetes este o platformă concepută pentru a gestiona complet ciclul de viață al aplicațiilor și serviciilor containerizate. Un utilizator Kubernetes poate defini modalitățile în care o aplicație ar trebui să ruleze și să interacționeze cu diferite aplicații.
Utilizatorii pot schimba traficul între diferite versiuni de aplicații, pot efectua actualizări, pot crește sau reduce serviciile etc. cu Kubernetes. Oferă utilizatorilor un grad ridicat de flexibilitate, fiabilitate și putere în gestionarea aplicațiilor.
Unele dintre caracteristicile majore ale Kubernetes sunt:

- Maximizați resursele utilizând mai bine hardware-ul.
- Un orchestrator de container pe mai multe gazde.
- Automatizați procesul de implementare și actualizările.
- Capabil să ruleze un container Linux.
- Scalare automată ajută la lansarea containerelor pe nodurile clusterului.
- Scalare în sus și în jos după cum este necesar.
- Auto-vindecare prin înlocuirea, reprogramarea și repornirea containerelor moarte.
- Rollback-uri și lansări automate.
- Echilibrarea sarcinii și descoperirea serviciului.
- Repornire automată, plasare automată și replicare automată etc.
Citiți: Algoritmul de învățare profundă
Arhitectura Kubernetes
Arhitectura Kubernetes constă din straturi: Straturi superioare și inferioare. Complexitatea abstractizării stratului superior poate fi găsită în straturile inferioare. Mașinile fizice sau virtuale individuale sunt reunite într-un cluster. O rețea partajată este utilizată pentru comunicarea între fiecare server. Deci, la fel ca alte platforme distribuite, Kubernetes are un master (cel puțin) și mai multe noduri de calcul.
- Maestrul Kubernetes programează implementările, expune API-ul și gestionează întregul cluster Kubernetes.
- Nodul rulează un container de rulare, un agent pentru comunicarea cu masterul și alte componente de monitorizare, înregistrare etc.
Componentele arhitecturii Kubernetes
Să aruncăm o privire asupra scopului și componentelor masterului și nodurilor din arhitectura Kubernetes.
Maestru
Master-ul menține starea dorită a clusterului. Deoarece gestionează întregul cluster, se numește master. Contine:
- Server API: server API Kubernetes
- Scheduler: Folosit pentru programarea pod în nodurile de lucru
- Controler: gestionează replicarea podului
- Etcd: Un serviciu de metadate
Noduri
Conține servicii necesare care sunt importante pentru rularea podurilor. Maestrul gestionează nodurile. Se mai numește și Minion. Contine:
- Pod: Grup de containere
- Docker: tehnologie bazată pe containere, spațiu de utilizator al sistemului de operare.
- Kubelet: agenți container care sunt responsabili pentru întreținerea setului de păstăi.
- Kube-proxy: direcționează traficul care intră într-un nod din serviciu
Acum, să înțelegem comenzile importante ale Kubernetes.
Comenzi Kubectl
Kubectl este instrumentul de linie de comandă pentru Kubernetes. Comenzile Kubectl de bază pot fi împărțite în:
- Introspecție pod și container
- Introspecția clusterului
- Depanare
- Comenzi rapide
- Obiecte
Introspecție de capsule și containere
Funcționalitate | Comanda |
Pentru descrierea numelor podului | Kubectl descrie pod<nume> |
Pentru listarea tuturor podurilor actuale | Kubectl obține păstăi |
Pentru listarea tuturor controlerelor de replicare | Kubectl obține rc |
Pentru afișarea numelui controlerului de replicare | Kubectl descrie rc <nume> |
Pentru listarea controlerelor de replicare într-un spațiu de nume | Kubectl obține rc –namespace=”namespace” |
Pentru afișarea unui nume de serviciu | Kubectl descrie svc<nume> |
Pentru servicii de listare | Kubectl obține cvc |
Pentru vizionarea continuă a nodurilor. | Kubectl obține noduri -w |
Pentru ștergerea unui pod | Kubectl șterge pod<nume> |
Introspecția clusterului
Funcționalitate | Comanda |
Pentru a obține informații legate de versiune | Versiunea Kubectl |
Pentru a obține detalii de configurare | Vedere de configurare Kubectl |
Pentru obținerea de informații legate de cluster | Informații despre cluster Kubectl |
Pentru a obține informații despre un nod | Kubectl descrie nodul<nodul> |
Comenzi de depanare

Funcționalitate | Comanda |
Pentru afișarea valorilor pentru un pod | Pod Kubectl de top |
Pentru afișarea valorilor pentru un nod | Nodul superior Kubectl |
Pentru vizionarea jurnalelor Kubelet | Urmăriți -n 2 cat/var/log/kublet.log |
Pentru obținerea jurnalelor de la serviciu pentru container | Jurnalele Kubectl -f<nume>>[-c< $container>] |
Pentru executarea comenzii în service prin selectarea unui container | Kubectl exec<serviciu><comenzi>[-c< $container>] |
Comenzi rapide
Comenzile rapide de mai jos sunt adesea folosite și, prin urmare, foarte utile.

Funcționalitate | Comanda |
Pentru lansarea unui pod cu un nume și o imagine. | Kubectl run<nume> — imagine=<nume-imagine> |
Pentru crearea unui serviciu descris în <manifest.yaml> | Kubectl creează -f <manifest.yaml> |
Pentru scalarea contorului de replicare pentru a număra numărul de instanțe. | Scara Kubectl –replicas=<număr>rc<nume> |
Pentru maparea portului extern la portul de replicare intern. | Expuneți rc<nume> –port=<extern> –port-țintă=<intern> |
Pentru oprirea tuturor podurilor din <n> | Kubectl drain<n>– delete-local-data–force–ignore-daemonset |
Pentru crearea unui spațiu de nume. | Kubectl creează spațiu de nume <spațiu de nume> |
Pentru a permite nodului principal să ruleze poduri. | Kubectltaintnodes –all-node-role.kuernetes.io/master- |
Obiecte
Unele dintre obiectele familiare utilizate în Kubernetes sunt următoarele:
Lista de obiecte comune | |
Toate | Revizuirile controlerului |
cm= conf gmaps | Legături de rol de cluster |
Cronjobs | cs=starea componentelor |
Implementare = implementări | limits=limita domenii |
ev= evenimente | hpa= autoscaling pod orizontal |
locuri de munca | ds= seturi de demoni |
Nu = noduri | ns= spații de nume |
po= păstăi | Pod presetat |
Psp= politici de securitate pod | Pv= volume persistente |
quota= cote de resurse | rs= seturi de replici |
roluri | rc= controlere de replicare |
sc= clase de stocare | pdb= bugete de distribuție a podului |
clusterroles | secrete |
crd=definirea resurselor personalizate | Șabloane de pod |
csr= cereri de semnare a certificatelor | sa= conturi de servicii |
Netpol- politici de rețea | Legături de rol |
ing= ingress | pvc= revendicări persistente de volum |
ep=puncte finale | sts= seturi stateful |
Citește și: Regularizarea în Deep Learning
Fișă de cheat pentru comandă Kubernetes
Toate informațiile de bază despre Kubernetes, arhitectura și comenzile sale sunt afișate în foaia de cheat Kubernetes de mai jos:
Dacă sunteți interesat să aflați mai multe despre tehnicile de învățare profundă, învățarea automată, consultați Diploma PG de la IIIT-B și upGrad în Învățare automată și AI, care este concepută pentru profesioniști care lucrează și oferă peste 450 de ore de formare riguroasă, peste 30 de studii de caz și misiuni, statutul de absolvenți IIIT-B, peste 5 proiecte practice practice și asistență la locul de muncă cu firme de top.
Ce este Kubernetes?
Kubernetes este o platformă open-source pentru automatizarea implementării, scalarea și gestionarea containerelor. Un container este un pachet software gata de rulat care conține tot ceea ce este necesar pentru a rula aplicația: cod, mediu de rulare, aplicație și biblioteci de sistem. Containerele sunt ca unități logice de aplicație, iar atunci când Kubernetes le grupează, devine ușor să gestionați și să descoperiți containerele. Aceste containere sunt implementate și scalate pe gazde pentru a oferi o infrastructură centrată pe container. Pe scurt, este o platformă care gestionează întregul ciclu de viață al aplicațiilor containerizate.
Care sunt principalele componente ale arhitecturii Kubernetes?
Există două componente principale în arhitectura Kubernetes - nodul principal și nodul lucrător. Un nod este mașina principală de lucru care este importantă pentru rularea unui grup de clustere numite pods. Întregul cluster este gestionat de nodul master, în timp ce nodul lucrător îndeplinește sarcinile atribuite de nodul master. Aceste noduri au multe componente încorporate în ele. Nodul principal conține Kubernetes API Server, Kubernetes Scheduler, Kubernetes Controller și Etcd. Nodul de lucru are pod, docker, kubelet și kube-proxy.
Ce fac kubelet și kube-proxy?
Kubelet, care este prezent în fiecare nod, asigură că containerele funcționează bine într-un pod. Face acest lucru luând un set de PodSpec-uri furnizate în principal prin apiserver și verificând containerele prezente în acele PodSpecs. Un PodSpec este un obiect YAML sau JSON care descrie un pod. Kubernetes Network Proxy, cunoscut și sub numele de kube-proxy, menține regulile de rețea pe noduri. Comunicarea de la sesiunile de rețea din interiorul sau din afara clusterului la pod-uri este posibilă prin aceste reguli de rețea. Kube-proxy redirecționează traficul dacă stratul de filtrare a pachetelor OS nu este disponibil.