Kuna te loote ĂŒha rohkem Kubernetes teenuseid, muutuvad esialgu lihtsad ĂŒlesanded keeruliseks. NĂ€iteks ei saa arendustiimid luua teenuseid vĂ”i juurutusi sama nimega. Kui teil on tuhandeid pods, nende lihtne loetlemine vĂ”tab rohkelt aega, rÀÀkimata korraliku haldamise tagamisest. Ja see on alles jÀÀmĂ€e tipp.
Vaadakem, kuidas nimede ruum namespace lihtsustab Kubernetes ressursside haldamist. Mis on nimede ruum? Namespace'i vĂ”ib pidada virtuaalseks klastriks teie Kubernetes klasstris. Samas Kubernetes klasstris vĂ”ib olla mitu omavahel eraldatud nimede ruumi. Need vĂ”ivad tĂ”eliselt aidata teil ja teie meeskondadel organisatsiooni, turvalisuse ja isegi sĂŒsteemi jĂ”udluse osas.

Enamikus Kubernetes jaotustest tuleb klaster âkastistâ koos nimede ruumiga nimega âdefaultâ. Tegelikult on kolm nimede ruumi, millega Kubernetes tegeleb: default, kube-system ja kube-public. Praegu ei kasutata Kube-public'i eriti tihti.

Kube nimede ruumi mitte puudutamine on hea mĂ”te, eriti sellises hallatav sĂŒsteemis nagu Google Kubernetes Engine. See kasutab nimede ruumi âdefaultâ teie teenuste ja rakenduste loomiseks. Seal ei ole absoluutselt midagi erilist, vĂ€lja arvatud see, et Kubernetes on selle kasutamiseks âkastistâ juba seadistatud, ja te ei saa seda kustutada. See on suurepĂ€rane alustada ja vĂ€ikese jĂ”udlusega sĂŒsteemide jaoks, kuid ma ei soovitaks kasutada default nimede ruumi suurtes tootmisse sĂŒsteemides. Viimases juhul vĂ”ib ĂŒks arendustiim kergesti kirjutada teiste koodi ĂŒle ja hĂ€irida teise meeskonna tööd, isegi seda mĂ€rkamatagi.
SeetĂ”ttu tuleks luua mitu nimede ruumi ja kasutada neid teie teenuste segmenteerimiseks hallatavatesse ĂŒksustesse. Nimede ruumi saab luua ĂŒhe kĂ€su abil. Kui soovite luua nimede ruumi nimega test, kasutage kĂ€sku $ kubectl create namespace test vĂ”i looge lihtsalt YAML-fail ja kasutage seda nagu iga muud Kubernetes ressurssi.

KÔiki nimede ruume saab vaadata kÀsu $ kubectl get namespace abil.

PĂ€rast selle tĂ€itmist nĂ€ete kolme sissehitatud nimespĐžŃŃĐ”ĐŒi ja uut nimespiraali nimega âtestâ. Vaatame lihtsat YAML-faili, mis on mĂ”eldud podi loomiseks. VĂ”ib mĂ€rkida, et selles ei ole mingit viidet nimespiraalile.

Kui kasutate kubectl selle faili kÀivitamiseks, loob see mooduli mypod praeguses aktiivses nimespiraalis. See on vaikimisi nimespiraal, kuni te ei muuda. On 2 viisi, kuidas rÀÀkida Kubernetesile, millises nimespiraalis soovite oma ressursse luua. Esimene viis on kasutada nimespiraali lippu ressursi loomisel.

Teine viis on nimespiraali mÀÀramine YAML-deklareerimises.

Kui mÀÀrate YAML-is nimespiraali, luuakse ressurss alati selles nimespiraalis. Kui proovite kasutada muud nimespiraali nimespiraali lipu abil, lĂ”petab kĂ€sk ebaĂ”nnestumisega. NĂŒĂŒd, kui proovite leida oma podi, ei saa te seda teha.

See juhtub, kuna kĂ”ik kĂ€sud kĂ€ivitatakse praegusest aktiivsest nimespiraalist vĂ€ljaspool. Oma podi leidmiseks peate kasutama nimespiraali lippu, kuid see muutub kiiresti tĂŒĂŒtuks, eriti kui töötate arendajana rĂŒhmas, kes kasutab oma nimespiraali ja ei taha iga ĂŒksiku kĂ€su jaoks sellist lippu kasutada. Vaatame, kuidas seda saaks parandada.

Vaikimisi on teie aktiivne nimespiraal nimega default. Kui te ei tÀpsusta nimespiraali YAML-ressursis, kasutavad kÔik Kubernetes'i kÀsud seda aktiivset default nimespiraali. Kahjuks vÔib aktiivse nimespiraali juhtimine kubectl'iga lÔppeda ebaÔnnestumisega. Siiski on olemas suurepÀrane tööriist nimega Kubens, mis lihtsustab seda protsessi oluliselt. Kui kÀivitate kÀsu kubens, nÀete kÔiki nimespiraale, kus aktiivne nimespiraal on esile tÔstetud.

Aktiivse nimespiraali vahetamiseks nimespiraaliks test kĂ€ivitate lihtsalt kĂ€su $ kubens test. Kui seejĂ€rel uuesti sisse kirjutada kĂ€sk $ kubens, nĂ€ete, et nĂŒĂŒd on esile tĂ”stetud uus aktiivne nimespiraal â test.

See tÀhendab, et teil ei ole nime ruumi lippu, et nÀha pod'i test nime ruumis.

Seega on nime ruumid teineteisest varjatud, kuid mitte teineteisest isoleeritud. Ăks nimedruumi teenus saab suhteliselt kergesti suhelda teise nimedruumi teenusega, mis on sageli vĂ€ga kasulik. Erinevate nimedruumide vahelise suhtluse vĂ”imalus tĂ€hendab, et teie arendajate teenus vĂ”ib suhelda teise arendusmeeskonna teenusega teises nime ruumis.
Tavaliselt, kui teie rakendus soovib accéder Kubernetes teenusele, kasutate sisseehitatud DNS teenuse avastamist ja lihtsalt annate oma rakendusele teenuse nime. Kuid sel juhul saate luua teenuse sama nimega mitmes nimedruumis, mis on vastuvÔetamatu.

Ănneks on seda lihtne kĂ”rvaldada, kasutades DNS-i aadressi lahtist vormi. Teenused Kubernetes'is esitavad oma lĂ”pp-punktid, kasutades ĂŒhise DNS-i mall. See nĂ€eb vĂ€lja umbes nii:

Reeglina vajate lihtsalt teenuse nime, ja DNS mÀÀrab automaatselt tÀisadresse.

Kuid kui peate pÀÀsema teenusele teises nime ruumis, kasutage lihtsalt teenuse nime pluss nime ruum:
![]()
NĂ€iteks, kui soovite ĂŒhendada katse nimedruumi andmebaasi teenusega, vĂ”ite kasutada aadressi database.test

Kui soovite ĂŒhendada andmebaasi teenusega prod nimedruumis, kasutate database.prod.

Kui soovite tÔeliselt isoleerida ja piirata juurdepÀÀsu nimedruumile, vÔimaldab Kubernetes seda teha Kubernetes Network Policies vÔrgu poliitikate abil. RÀÀgin sellest jÀrgmises osas.
KĂŒsin sageli, kui palju nimedruume tuleks luua ja millistel eesmĂ€rkidel? Mis on haldatud andmete fragment?
Kui loote liiga palju nimespacing'e, takistavad need teid. Kui nimespacing'e on aga liiga vÀhe, kaotate kÔik sellise lahenduse eelised. Arvan, et iga ettevÔtte organisatsioonilise struktuuri loomise protsessis on neli peamist etappi. Olenevalt teie projekti vÔi ettevÔtte arenguetapist, vÔite kaaluda vastavat nimespacing'i loomise strateegiat.
Kujutage ette, et olete osa vĂ€ikesest meeskonnast, kes töötab 5-10 mikroteenuse arendamise kallal ja saate kĂ”ik arendajad kergesti ĂŒhte ruumi kokku tuua. Sellises olukorras on mĂ”istlik kĂ€ivitada kĂ”ik tootmisteenused nimespacing'is default. Loomulikult vĂ”ite laiemate vĂ”imaluste jaoks kasutada kaht nimespacing'it â eraldi tootmiseks ja arenduseks. TĂ”enĂ€oliselt testite oma arendust kohalikul arvutil mĂ”ne Minikube sarnase lahenduse abil.
Oletame, et olukord on muutunud ja teil on kiiresti kasvav meeskond, mis töötab samaaegselt rohkem kui 10 mikroteenuse kallal. JÔuab aeg, mil on vajalik kasutada mitmeid klastri vÔi nimespacing'e, eraldi tootmiseks ja arenduseks. Meeskonna saab jagada mitmeks alagruppideks, nii et igal alagrupil on omad mikroteenused ning iga meeskond saab valida oma nimespacing'i, et lihtsustada arendamise ja tarkvara vÀljalaskmise protsessi.

Mida enam iga meeskonna liige mĂ”istab, kuidas sĂŒsteem tervikuna töötab, seda keerulisemaks muutub iga muudatuse kooskĂ”lastamine teiste arendajatega. Katse oma kohalikul arvutil tĂ€ielikku steki kĂ€ivitada muutub iga pĂ€evaga keerulisemaks.
Suurtel ettevÔtetel ei tea arendajad sageli, kes tÀpselt millega tegeleb. Meeskonnad suhtlevad teenuslepingute kaudu vÔi kasutavad teenusmesh-tehnoloogiat, mis lisab vÔrgu peale abstraktsioonitaseme, sarnastes seadistustööriistades nagu Istio. Kogu steki kohaliku kÀivitamise katsetamine on peaaegu vÔimatu. Soovitan tungivalt kasutada Kuberneteses sellist pideva kohaletoimetamise (CD) platvormi nagu Spinnaker. Seega tuleb hetk, mil igal meeskonnal on kindlasti vaja oma nimeala. Iga meeskond vÔib isegi valida mitu nimeala arenduse (dev) ja tootmise (prod) keskkonna jaoks.
LĂ”puks on olemas suured ettevĂ”tted, kus ĂŒhe arendajate rĂŒhma liikmed ei tea isegi teiste rĂŒhmade olemasolust. Selline ettevĂ”te vĂ”ib palkata ka vĂ€list arendajat, kes suhtleb hĂ€sti dokumenteeritud API-de kaudu. Igas sellises rĂŒhmas on mitu meeskonda ja mitu mikroteenust. Sellisel juhul on vajalik kasutada kĂ”iki eelnevalt mainitud tööriistu.

Arendajad ei tohiks teenuseid kÀsitsi juurutada ega peab olema juurdepÀÀs nendele nimealadele, mis neid ei puuduta. Sellel etapil on mÔistlik omada mitu klastrit, et vÀhendada halvasti seadistatud rakenduste "plahvatusraadiust", lihtsustada arveldamise ja ressursihalduse protsesse.
Seega vÔimaldab teie organisatsiooni Ôige nimealade kasutamine Kubernetes olla rohkem juhitav, kontrollitav, turvaline ja paindlik.

Veidi reklaami đ
AitÀh, et olete meiega. Kas teile meeldivad meie artiklid? Kas soovite nÀha rohkem huvitavat sisu? Toetage meid, tellides teenuse vÔi soovitades meid tuttavatele. , ainulaadne entry-level serverite analoog, mille oleme teie jaoks vÀlja mÔelnud: (saadaval RAID1 ja RAID10 variandid, kuni 24 tuuma ja kuni 40GB DDR4).
Dell R730xd on Equinixi Tier IV andmekeskuses Amsterdamis kaks korda odavam? Ainult meie juures Hollandis! Dell R420 â 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB â alates $99! Lugege sellest
Allikas: habr.com
