Peamine erinevus K3S ja stan­dardse Ku­ber­ne­tes-ins­tal­lat­siooni (K8S) vahel on keerukus ja res­sur­si­tarve. K3S on kerge ja liht­sus­ta­tud versioon Ku­ber­ne­te­sest, mis on loodud res­sur­si­piiran­gu­tega kesk­kon­da­dele ja ser­va­ar­vu­tus­tele, samas kui K8S on täis­funkt­sio­naalne stan­dardne Ku­ber­ne­tes-platvorm.

Mis on K3S ja K8S?

K3S on Rancher Labsi loodud kerge Ku­ber­ne­tes-dist­ri­but­sioon. See on täie­li­kult ühilduv K8S API-dega, kuid eemaldab mit­te­va­ja­li­kud kom­po­nen­did ja töö­riis­tad, et oluliselt vähendada res­surs­side kasutust. See liht­sus­ta­tud disain teeb K3S-ist suu­re­pä­rase valiku ser­va­ar­vu­tus­teh­no­loo­gia, IoT-seadmete ja väikeste serverite jaoks, kus tra­dit­sioo­ni­li­sed Ku­ber­ne­tes-klastrid oleksid liiga res­sur­si­ma­hu­kad.

K8S on juhtiv avatud läh­te­koo­diga platvorm kon­tei­ne­rite or­kest­ree­ri­miseks ja seda peetakse sageli Ku­ber­ne­tesi „klas­si­ka­li­seks” vormiks. See võimaldab kon­tei­ne­ri­see­ri­tud ra­ken­duste haldamist, ska­lee­ri­mist ja au­to­ma­ti­see­ri­mist suurtes toot­mis­kesk­kon­da­des. K8S sisaldab võimsaid funkt­sioone, nagu ise­pa­ran­da­mine, jooksvad uuendused ja koormuse ta­sa­kaa­lus­ta­mine. See paind­lik­kus teeb selle sobivaks ettevõtte klast­ri­tele, pil­veinf­ra­struk­tuu­ri­dele ja kee­ru­ka­tele mik­ro­tee­nuste ar­hi­tek­tuu­ri­dele. K8S nõuab aga ka mär­ki­mis­väär­selt rohkem ressursse ja hal­dus­likku as­ja­tund­lik­kust.

K8S ja K3S eri­ne­vu­sed

K3S ja K8S võrdluse eri­ne­vu­sed võib kokku võtta mitmes põ­hi­punk­tis.

1. Res­surs­side tarbimine

K3S on spet­siaal­selt loodud piiratud res­surs­si­dega kesk­kon­da­dele. See jätab välja paljud li­sa­kom­po­nen­did, nagu stan­dardse Ku­ber­ne­tes-kont­rol­le­rid, sis­se­tu­le­vate andmete kont­rol­le­rid ja ulatuslik logimine. Selle tu­le­mu­sena tarbib K3S-klaster palju vähem RAM-i ja CPU võimsust kui K8S-klaster, pakkudes samal ajal kon­tei­ne­rite koor­di­nee­ri­mise põ­hi­funkt­sioone. Seevastu K8S on loodud suurte klastrite jaoks ja pakub kõiki funkt­sioone, mis nõuab mär­ki­mis­väär­selt rohkem ressursse.

2. Pai­gal­da­mine ja sea­dis­ta­mine

K3S-i ins­tal­li­mine on väga lihtne: üheainsa käsuga saab pai­gal­dada nii master-sõlme kui ka mitme sõlme klastri. Vaikimisi sisaldab see ka kon­tei­ne­rite käi­ta­mis­aja ja võr­gu­pis­tik­prog­ramme. K8S-i pai­gal­da­mine nõuab aga mitut sammu, näiteks Kubeleti, Kube-Proxy, API-serveri ja muude kom­po­nen­tide ins­tal­li­mist ning võrgu kon­fi­gu­ree­ri­mist. Seetõttu on K8S-i pai­gal­da­mine mär­ki­mis­väär­selt kee­ru­li­sem ja ae­ga­nõud­vam.

3. Funkt­sioo­nide ulatus ja kom­po­nen­did

K3S piirab taht­li­kult oma ulatust enamikus stse­naa­riumi­des va­ja­li­kele põ­hi­lis­tele funkt­sioo­ni­dele, kusjuures li­sand­moo­du­lid nõuavad käsitsi sea­dis­ta­mist. K8S pakub seevastu kohe ka­su­tus­val­mis täielikku funkt­sio­naal­sust, seal­hul­gas ter­vik­likke API-sid, seiret, logimist ja pil­ve­plat­vormi in­teg­rat­sioone. Samuti tugineb see mitmele välisele sõl­tu­vu­sele, nagu etcd klastri oleku sal­ves­ta­miseks ja eraldi kom­po­nen­ti­dele, nagu kube-apiserver, kube-cont­rol­ler-manager ja kube-scheduler. K3S vähendab mit­te­va­ja­likke kom­po­nente, koondab kõik ühte bi­naar­faili ja kasutab vaikimisi SQLite asemel etcd-d.

4. Siht­kesk­kond

K3S sobib eriti hästi ser­va­ar­vu­tus­teh­no­loo­giale, asjade in­ter­ne­tile, testimis- ja aren­dus­kesk­kon­da­dele või väi­ke­s­tele toot­mis­süs­teemi­dele. K8S on seevastu mõeldud suurte, ska­lee­ri­ta­vate klastrite jaoks and­me­kes­kus­tes ja pil­veinf­ra­struk­tuu­ri­des. Õige valik sõltub suuresti ka­van­da­tud töö­koor­mu­sest ja kät­te­saa­da­va­test res­surs­si­dest.

5. Tur­va­li­sus

K8S on loodud mitme ka­su­ta­jaga kesk­kon­da­dele ja ettevõtte tur­va­li­su­sele, pakkudes täius­ta­tud funkt­sioone, nagu rol­li­põ­hine juur­de­pää­su­kont­roll, paindlik salajaste andmete haldus ja krüp­tee­ri­mine. K3S toetab samuti rol­li­põ­hist juur­de­pää­su­kont­rolli ja po­lii­ti­kaid, kuid jätab vaikimisi välja teatud tur­va­li­suse funkt­sioo­nid, et säästa ressursse. Neid saab aga hiljem lisada Ku­ber­ne­tes-põhiste töö­riis­ta­dega, mis teeb K3S-ist prak­ti­lise valiku ääre­pool­se­teks ra­ken­dus­teks ja ühe ka­su­ta­jaga kesk­kon­da­deks.

6. Ühilduvus ja kogukond

K3S on täie­li­kult ühilduv K8S-iga, kuid mitte kõik K8S-i laien­dused ei ole vaikimisi kaasas. Selle kogukond on väiksem, kuid keskendub väga kergetele sea­dis­tus­tele ja kiirele ka­su­tuse­le­võ­tule. K8S-il on aga kon­tei­ne­rite or­kest­ree­ri­mise vald­kon­nas suurim kogukond, ulatuslik do­ku­men­tat­sioon ja lai tugi laien­dus­tele.

Millal valida K3S või K8S? Võrdlus

K3S on eriti väär­tus­lik, kui inf­ra­struk­tuur on piiratud või kui on vaja kiiret ja lihtsat ka­su­tuse­le­võttu. Tüü­pi­li­sed stse­naa­riu­mid hõlmavad ser­va­ar­vu­tuse seadmeid, väikeseid servereid, IoT-rakendusi ning arendus- või tes­ti­mis­kesk­kondi. See on ka tõhus valik üksikute mik­ro­tee­nuste ra­ken­duste või piiratud ulatuse ja ska­lee­ri­ta­vuse va­ja­dus­tega pro­jek­tide jaoks, kuna säästab nii sal­ves­tus­ruumi kui ka CPU ressursse.

K8S on seevastu mõeldud suu­re­ma­hu­lis­tele toot­mis­kesk­kon­da­dele, kus olulised on kõrge kät­te­saa­da­vus, koormuse ta­sa­kaa­lus­ta­mine, ise­pa­ran­du­vus ja ska­lee­ri­ta­vus. Or­ga­ni­sat­sioo­nid kasutavad K8S-i keerukate mik­ro­tee­nuste ar­hi­tek­tuu­ride koor­di­nee­ri­miseks, pil­ve­põ­histe ra­ken­duste käi­ta­miseks ja klastrite hal­da­miseks mitmes and­me­kes­ku­ses. Platvorm sobib eriti hästi mees­kon­da­dele, kes vajavad täius­ta­tud seire- ja lo­gi­mis­või­ma­lusi, in­teg­ree­ri­tud tur­va­po­lii­ti­kaid või ter­vik­likke sal­ves­tusin­teg­rat­sioone.

Hüb­riid­ka­su­tuse puhul võib olla kasulik kasutada K3S-i ää­reala­del või aren­dus­kesk­kon­da­des, samal ajal kui K8S-i ka­su­ta­takse pilves keskse toot­mis­klastri jaoks. Kok­ku­võt­tes on K3S kergem, kiirem ja res­sur­si­sääst­li­kum, samas kui K8S on põh­ja­li­kum, ska­lee­ri­ta­vam ja et­te­võt­tele sobivam.

K3S ja K8S al­ter­na­tiivid

Lisaks K3S-ile ja K8S-ile on veel mitmeid teisi Ku­ber­ne­tes-i dist­ri­but­sioone ja kon­tei­ne­rite or­kest­ree­ri­mis­plat­vorme, mis võivad olenevalt stse­naa­riu­mist olla kasulikud:

  • MicroK8s: MicroK8s on Ca­no­nicali poolt arendatud kerge Ku­ber­ne­tes-dist­ri­but­sioon. See sobib hästi aren­da­ja­tele, väi­ke­s­tele klast­ri­tele või tes­ti­mis­kesk­kon­da­dele. See on mo­du­laarne ja kiiresti ins­tal­li­tav ning seda saab vajaduse korral laiendada li­sand­mo­du­li­tega, nagu DNS või seire. Selle lihtsus võimaldab aren­da­ja­tel enne suu­re­ma­tesse klast­ri­tesse üle­mi­ne­kut K8S-iga kohapeal katsetada.
  • Minikube: Minikube on loodud spet­siaal­selt ko­ha­li­kele aren­dus­kesk­kon­da­dele. See pakub kiiret ja lihtsat viisi Ku­ber­ne­tesi käi­ta­miseks ühel masinal ja kon­tei­ne­ri­see­ri­tud ra­ken­duste tes­ti­miseks. Kuigi Minikube ei ole mõeldud toot­mis­klast­ri­tele, on see suu­re­pä­rane vahend Ku­ber­ne­tesi funkt­sioo­nide õp­pi­miseks või pro­to­tüü­pide loomiseks.
  • OpenShift: OpenShift on Red Hati Ku­ber­ne­tes-põhine platvorm, mis sisaldab täien­da­vaid turva- ja et­te­võt­te­funkt­sioone. See on eriti at­rak­tiivne suur­et­te­võ­te­tele, kes vajavad stan­dar­di­see­ri­tud Ku­ber­ne­tes-klastreid täius­ta­tud haldus- ja turva-funkt­sioo­ni­dega. OpenShift’i saab kasutada kohapeal või pilves.
  • Docker Swarm: Docker Swarm on Doc­ke­risse in­teg­ree­ri­tud lihtsam kon­tei­ne­rite koor­di­nee­ri­mise lahendus. See on Ku­ber­ne­te­sest vähem keeruline, pakub olulisi koor­di­nee­ri­mis­funkt­sioone ja sobib väik­se­ma­tele pro­jek­ti­dele, kus pole vaja arenenud inf­ra­struk­tuuri, kuid kon­tei­ne­rite koor­di­nee­ri­mine on siiski vajalik.
Go to Main Menu