{"id":82223,"date":"2020-05-20T13:42:34","date_gmt":"2020-05-20T11:42:34","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-organizacziya-kubernetes-s-prostranstvom-imen"},"modified":"2020-05-20T13:42:34","modified_gmt":"2020-05-20T11:42:34","slug":"luchshie-praktiki-kubernetes-organizacziya-kubernetes-s-prostranstvom-imen","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-organizacziya-kubernetes-s-prostranstvom-imen","title":{"rendered":"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">Najlepsze praktyki Kubernetes. Tworzenie ma\u0142ych kontener\u00f3w<\/a><\/noindex><\/p>\n<p>W miar\u0119 jak zaczynasz tworzy\u0107 coraz wi\u0119cej us\u0142ug Kubernetes, proste na pocz\u0105tku zadania zaczynaj\u0105 si\u0119 komplikowa\u0107. Na przyk\u0142ad zespo\u0142y deweloperskie nie mog\u0105 tworzy\u0107 us\u0142ug ani wdro\u017ce\u0144 o tej samej nazwie. Je\u017celi masz tysi\u0105ce pod\u00f3w, ich proste zliczenie zajmie mn\u00f3stwo czasu, nie m\u00f3wi\u0105c ju\u017c o zapewnieniu odpowiedniego zarz\u0105dzania. I to tylko wierzcho\u0142ek g\u00f3ry lodowej.<\/p>\n<p>Przyjrzyjmy si\u0119, jak przestrzenie nazw u\u0142atwiaj\u0105 zarz\u0105dzanie zasobami Kubernetes. Wi\u0119c czym w\u0142a\u015bciwie jest przestrze\u0144 nazw? Przestrze\u0144 nazw mo\u017cna postrzega\u0107 jako wirtualny klaster w obr\u0119bie twojego klastra Kubernetes. Mo\u017cesz mie\u0107 kilka izolowanych od siebie przestrzeni nazw w obr\u0119bie jednego klastra Kubernetes. Mog\u0105 one naprawd\u0119 pom\u00f3c tobie i twoim zespo\u0142om w organizacji, bezpiecze\u0144stwie, a nawet wydajno\u015bci systemu.<\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/056d80bf2234c01387c538c6afec3d7e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nW wi\u0119kszo\u015bci dystrybucji Kubernetes klaster \u201ewychodzi z pude\u0142ka\u201d z przestrzeni\u0105 nazw o nazwie \u201edefault\u201d. W rzeczywisto\u015bci istniej\u0105 trzy przestrzenie nazw, z kt\u00f3rymi Kubernetes ma do czynienia: default, kube-system oraz kube-public. Obecnie kube-public nie jest zbyt cz\u0119sto u\u017cywane.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/d9746413ec6e62c2623d2a743581f11a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNie dotykanie przestrzeni nazw kube to dobry pomys\u0142, zw\u0142aszcza w takim zarz\u0105dzanym systemie jak Google Kubernetes Engine. U\u017cywa on przestrzeni nazw \u201edefault\u201d jako miejsca, w kt\u00f3rym tworzone s\u0105 twoje us\u0142ugi i aplikacje. Nie ma w nim absolutnie nic wyj\u0105tkowego, poza tym, \u017ce Kubernetes jest \u201ez pude\u0142ka\u201d skonfigurowany na jego u\u017cywanie, i nie mo\u017cesz go usun\u0105\u0107. To \u015bwietne dla rozpocz\u0119cia pracy i system\u00f3w z niewielk\u0105 wydajno\u015bci\u0105, ale nie poleca\u0142bym korzystania z przestrzeni nazw default w du\u017cych systemach produkcyjnych. W takim przypadku jeden zesp\u00f3\u0142 deweloperski mo\u017ce \u0142atwo nadpisa\u0107 kod innego zespo\u0142u i zak\u0142\u00f3ci\u0107 jego dzia\u0142anie, nawet nie zdaj\u0105c sobie z tego sprawy.<\/p>\n<p>W zwi\u0105zku z tym warto stworzy\u0107 kilka przestrzeni nazw i u\u017cywa\u0107 ich do segmentacji twoich us\u0142ug w zarz\u0105dzane jednostki. Przestrze\u0144 nazw mo\u017cna stworzy\u0107 za pomoc\u0105 jednej komendy. Je\u015bli chcesz stworzy\u0107 przestrze\u0144 nazw o nazwie test, u\u017cyj komendy $ kubectl create namespace test lub po prostu stw\u00f3rz plik YAML i u\u017cyj go jak ka\u017cdy inny zas\u00f3b Kubernetes.<\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/5871cbd5328865f883119824952101ff.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAby wy\u015bwietli\u0107 wszystkie przestrzenie nazw, u\u017cyj komendy $ kubectl get namespace. <\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/b3f4ed1ab7340a42fa95b1143f5402ea.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPo jego wykonaniu zobaczysz trzy wbudowane przestrzenie nazw oraz now\u0105 przestrze\u0144 nazw o nazwie \u201etest\u201d. Przyjrzyjmy si\u0119 prostemu plikowi YAML, zaplanowanemu do tworzenia pod. Mo\u017cna zauwa\u017cy\u0107, \u017ce nie ma w nim \u017cadnego odniesienia do przestrzeni nazw.<\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/2ce8c8e4d9d27df434521fbf51a1dfe9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe\u015bli zastosujesz kubectl do uruchomienia tego pliku, utworzy modu\u0142 mypod w bie\u017c\u0105cej aktywnej przestrzeni nazw. B\u0119dzie to przestrze\u0144 nazw domy\u015blna, dop\u00f3ki jej nie zmienisz. Istniej\u0105 dwa sposoby, aby poinformowa\u0107 Kubernetes, w kt\u00f3rej przestrzeni nazw chcesz stworzy\u0107 sw\u00f3j zas\u00f3b. Pierwszym sposobem jest u\u017cycie flagi przestrzeni nazw podczas tworzenia zasobu. <\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/4fb481cf7be50de28a8dca24feb58810.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDrugim sposobem jest wskazanie przestrzeni nazw w deklaracji YAML.<\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/855bc2d101eda09a0e1de07e5e4ac3ec.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe\u015bli wska\u017cesz przestrze\u0144 nazw w YAML, zas\u00f3b zawsze b\u0119dzie tworzony w tej przestrzeni. Je\u015bli spr\u00f3bujesz u\u017cy\u0107 innej przestrzeni nazw przy u\u017cyciu flagi przestrzeni nazw, polecenie zako\u0144czy si\u0119 b\u0142\u0119dem. Teraz, je\u015bli spr\u00f3bujesz znale\u017a\u0107 sw\u00f3j pod, nie b\u0119dziesz w stanie tego zrobi\u0107. <\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/87af52e6edfc0c8ec7aaf3e18d56062e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDzieje si\u0119 tak, poniewa\u017c wszystkie polecenia s\u0105 wykonywane poza bie\u017c\u0105c\u0105 aktywn\u0105 przestrzeni\u0105 nazw. Aby znale\u017a\u0107 sw\u00f3j pod, musisz u\u017cy\u0107 flagi przestrzeni nazw, jednak to szybko staje si\u0119 nu\u017c\u0105ce, zw\u0142aszcza je\u015bli jeste\u015b programist\u0105 w grupie, kt\u00f3ra u\u017cywa w\u0142asnej przestrzeni nazw i nie chce u\u017cywa\u0107 tej flagi dla ka\u017cdego poszczeg\u00f3lnego polecenia. Zobaczmy, jak mo\u017cna to naprawi\u0107.<\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/bbafb25178d9332f30ad6e8e78ba783d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNa dzie\u0144 dobry Twoja aktywna przestrze\u0144 nazw nazywa si\u0119 default. Je\u015bli nie okre\u015blisz przestrzeni nazw w YAML zasobu, wszystkie polecenia Kubernetes b\u0119d\u0105 korzysta\u0107 z tej aktywnej przestrzeni default. Niestety pr\u00f3ba zarz\u0105dzania aktywn\u0105 przestrzeni\u0105 nazw za pomoc\u0105 kubectl mo\u017ce si\u0119 nie uda\u0107. Istnieje jednak bardzo dobre narz\u0119dzie o nazwie Kubens, kt\u00f3re znacznie u\u0142atwia ten proces. Kiedy uruchamiasz polecenie kubens, widzisz wszystkie przestrzenie nazw z o\u015bwietlon\u0105 aktywn\u0105 przestrzeni\u0105 nazw. <\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/04499ac4181d9c8d00bb31261f149612.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAby prze\u0142\u0105czy\u0107 aktywn\u0105 przestrze\u0144 nazw na przestrze\u0144 nazw test, wystarczy uruchomi\u0107 polecenie $ kubens test. Je\u015bli nast\u0119pnie ponownie wpiszesz polecenie $ kubens, zobaczysz, \u017ce teraz wyr\u00f3\u017cniona jest nowa aktywna przestrze\u0144 nazw \u2013 test.<\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/02ad27389cbb914336ce0e3c0bafd8f0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOznacza to, \u017ce nie potrzebujesz flagi przestrzeni nazw, aby zobaczy\u0107 pod w przestrzeni nazw test.<\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/f66617aa3bf77faf42a9fa51ca26c231.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTak wi\u0119c przestrzenie nazw s\u0105 ukryte przed sob\u0105, ale nie s\u0105 od siebie izolowane. Us\u0142uga z jednej przestrzeni nazw mo\u017ce do\u015b\u0107 \u0142atwo komunikowa\u0107 si\u0119 z us\u0142ug\u0105 w innej przestrzeni nazw, co cz\u0119sto okazuje si\u0119 bardzo przydatne. Mo\u017cliwo\u015b\u0107 komunikacji mi\u0119dzy r\u00f3\u017cnymi przestrzeniami nazw oznacza, \u017ce us\u0142uga twoich programist\u00f3w mo\u017ce wsp\u00f3\u0142dzia\u0142a\u0107 z us\u0142ug\u0105 innego zespo\u0142u deweloperskiego w innej przestrzeni nazw.<\/p>\n<p>Zazwyczaj, gdy twoja aplikacja chce uzyska\u0107 dost\u0119p do us\u0142ugi Kubernetes, u\u017cywasz wbudowanej funkcji odkrywania DNS i po prostu wskazujesz swojej aplikacji nazw\u0119 us\u0142ugi. Jednak w tym przypadku mo\u017cesz utworzy\u0107 us\u0142ug\u0119 o tej samej nazwie w kilku przestrzeniach nazw, co jest niedopuszczalne. <\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/9172e4571aba3450f9bd50680f4059ac.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNa szcz\u0119\u015bcie \u0142atwo to obej\u015b\u0107, u\u017cywaj\u0105c rozwini\u0119tej formy adresu DNS. Us\u0142ugi w Kubernetes wystawiaj\u0105 swoje punkty ko\u0144cowe, u\u017cywaj\u0105c wsp\u00f3lnego wzoru DNS. Wygl\u0105da to mniej wi\u0119cej tak:<\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/d715f6a7b4780c84edfb39c6ffa9f0be.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZazwyczaj potrzebujesz tylko nazwy us\u0142ugi, a DNS automatycznie okre\u015bli pe\u0142ny adres. <\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/ce5a32bb83bdda01db5774f69777c9a0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJednak je\u015bli potrzebujesz uzyska\u0107 dost\u0119p do us\u0142ugi w innej przestrzeni nazw, po prostu u\u017cyj nazwy us\u0142ugi plus nazwa przestrzeni nazw:<\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/8bc78ea6a348d517d36c612bffc7c30a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNa przyk\u0142ad, je\u015bli chcesz po\u0142\u0105czy\u0107 si\u0119 z baz\u0105 danych us\u0142ugi w przestrzeni nazw test, mo\u017cesz u\u017cy\u0107 adresu database.test.<\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/3da4cc954a127d93de6a076773e3c1bf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe\u015bli natomiast chcesz po\u0142\u0105czy\u0107 si\u0119 z baz\u0105 danych us\u0142ugi w przestrzeni nazw prod, u\u017cywasz database.prod.<\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/b9df2b7413a3fb15f06027ed7b2dd0e7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe\u015bli naprawd\u0119 chcesz izolowa\u0107 i ogranicza\u0107 dost\u0119p do przestrzeni nazw, Kubernetes pozwala to zrobi\u0107 za pomoc\u0105 polityk sieciowych Kubernetes Network Policies. O tym opowiem w nast\u0119pnej serii. <\/p>\n<p>Cz\u0119sto otrzymuj\u0119 pytanie, ile przestrzeni nazw nale\u017cy utworzy\u0107 i do jakich cel\u00f3w? Czym w\u0142a\u015bciwie jest zarz\u0105dzany fragment danych?<\/p>\n<p>Je\u015bli utworzysz zbyt wiele przestrzeni nazw, b\u0119d\u0105 one tylko przeszkadza\u0107. Z drugiej strony, je\u015bli b\u0119dzie ich za ma\u0142o, stracisz wszelkie korzy\u015bci p\u0142yn\u0105ce z tego rozwi\u0105zania. Uwa\u017cam, \u017ce istniej\u0105 cztery podstawowe etapy, przez kt\u00f3re przechodzi ka\u017cda firma w procesie tworzenia swojej struktury organizacyjnej. W zale\u017cno\u015bci od etapu rozwoju, na kt\u00f3rym znajduje si\u0119 tw\u00f3j projekt lub firma, mo\u017cesz zastosowa\u0107 odpowiedni\u0105 strategi\u0119 tworzenia przestrzeni nazw.<\/p>\n<p>Wyobra\u017a sobie, \u017ce jeste\u015b cz\u0119\u015bci\u0105 ma\u0142ego zespo\u0142u, kt\u00f3ry pracuje nad opracowaniem 5-10 mikroserwis\u00f3w i mo\u017cesz \u0142atwo zebra\u0107 wszystkich programist\u00f3w w jednym pomieszczeniu. W tej sytuacji sensowne jest uruchomienie wszystkich us\u0142ug produkcyjnych w przestrzeni nazw default. Oczywi\u015bcie, dla wi\u0119kszej swobody dzia\u0142ania mo\u017cesz u\u017cy\u0107 dw\u00f3ch przestrzeni nazw \u2014 osobno dla prod i dev. Najprawdopodobniej testujesz swoj\u0105 aplikacj\u0119 na lokalnym komputerze za pomoc\u0105 czego\u015b takiego jak Minikube. <\/p>\n<p>Za\u0142\u00f3\u017cmy, \u017ce sytuacja si\u0119 zmieni\u0142a i masz teraz szybko rosn\u0105cy zesp\u00f3\u0142, kt\u00f3ry jednocze\u015bnie pracuje nad ponad 10 mikroserwisami. Nastaje moment, w kt\u00f3rym konieczne staje si\u0119 korzystanie z kilku klastr\u00f3w lub przestrzeni nazw, osobno dla prod i dev. Mo\u017cna podzieli\u0107 zesp\u00f3\u0142 na kilka podgrup, tak aby ka\u017cda z nich mia\u0142a swoje w\u0142asne mikroserwisy i ka\u017cda z tych dru\u017cyn mog\u0142a wybra\u0107 swoje w\u0142asne przestrzenie nazw dla u\u0142atwienia procesu zarz\u0105dzania rozwojem i wydawaniem oprogramowania.<\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/981dd083cbaad6ffdb812310e180ce26.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nW miar\u0119 jak ka\u017cdy z cz\u0142onk\u00f3w zespo\u0142u zyskuje zrozumienie, jak dzia\u0142a system jako ca\u0142o\u015b\u0107, koordynowanie ka\u017cdej zmiany z pozosta\u0142ymi programistami staje si\u0119 coraz trudniejsze. Pr\u00f3ba uruchomienia pe\u0142nego stosu na swoim lokalnym komputerze z ka\u017cdym dniem staje si\u0119 coraz bardziej skomplikowana. <\/p>\n<p>W du\u017cych firmach programi\u015bci cz\u0119sto nie maj\u0105 poj\u0119cia, kto dok\u0142adnie nad czym pracuje. Zespo\u0142y porozumiewaj\u0105 si\u0119 za pomoc\u0105 kontrakt\u00f3w serwisowych lub u\u017cywaj\u0105 technologii Service mesh, kt\u00f3ra dodaje poziom abstrahowania nad sieci\u0105, na przyk\u0142ad narz\u0119dzie konfiguracyjne Istio. Pr\u00f3ba uruchomienia ca\u0142ego stosu lokalnie jest po prostu niemo\u017cliwa. Zdecydowanie zalecam korzystanie w Kubernetes z takiej platformy ci\u0105g\u0142ej dostawy (CD), jak Spinnaker. Nadszed\u0142 zatem czas, gdy ka\u017cdemu zespo\u0142owi zdecydowanie potrzebna jest w\u0142asna przestrze\u0144 nazw. Ka\u017cdy zesp\u00f3\u0142 mo\u017ce nawet wybra\u0107 kilka przestrzeni nazw dla \u015brodowiska dev i produkcji. <\/p>\n<p>Wreszcie, istniej\u0105 du\u017ce przedsi\u0119biorstwa, w kt\u00f3rych jedna grupa programist\u00f3w nawet nie ma poj\u0119cia o istnieniu innych grup. Taka firma mo\u017ce zatrudnia\u0107 zewn\u0119trznych programist\u00f3w, kt\u00f3rzy wsp\u00f3\u0142pracuj\u0105 z dobrze udokumentowanymi API. W ka\u017cdej takiej grupie znajduje si\u0119 kilka zespo\u0142\u00f3w i kilka mikrous\u0142ug. W takim przypadku nale\u017cy skorzysta\u0107 ze wszystkich narz\u0119dzi, o kt\u00f3rych m\u00f3wi\u0142em wcze\u015bniej.<\/p>\n<p><img decoding=\"async\" alt=\"Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw\" src=\"\/wp-content\/uploads\/2020\/05\/6a4b4823c14ced1eafb6393f16067840.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nProgrami\u015bci nie powinni r\u0119cznie wdra\u017ca\u0107 us\u0142ug i nie powinni mie\u0107 dost\u0119pu do przestrzeni nazw, kt\u00f3re ich nie dotycz\u0105. Na tym etapie sensowne jest posiadanie kilku klastr\u00f3w, aby zmniejszy\u0107 'promie\u0144 eksplozji' \u017ale skonfigurowanych aplikacji, upro\u015bci\u0107 procesy rozliczeniowe i zarz\u0105dzanie zasobami.<\/p>\n<p>Tak wi\u0119c w\u0142a\u015bciwe wykorzystanie przestrzeni nazw przez twoj\u0105 organizacj\u0119 sprawia, \u017ce Kubernetes staje si\u0119 bardziej kontrolowany, zarz\u0105dzany, bezpieczny i elastyczny.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">Najlepsze praktyki Kubernetes. Sprawdzanie \u017cywotno\u015bci Kubernetes za pomoc\u0105 test\u00f3w Readiness i Liveness<\/a><\/noindex><\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"xpnZX3if9Tc\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/xpnZX3if9Tc\/hqdefault.jpg\" alt=\"Odtwarzaj wideo\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h3>Troch\u0119 reklamy \ud83d\ude42<\/h3>\n<p>\nDzi\u0119kujemy, \u017ce jeste\u015b z nami. Podobaj\u0105 Ci si\u0119 nasze artyku\u0142y? Chcesz zobaczy\u0107 wi\u0119cej interesuj\u0105cych materia\u0142\u00f3w? Wspieraj nas sk\u0142adaj\u0105c zam\u00f3wienie lub polecaj\u0105c nas znajomym, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">chmurowe VPS dla programist\u00f3w od 4,99 $<\/a><\/noindex>, <b>unikatowy odpowiednik serwer\u00f3w entry-level, kt\u00f3ry zosta\u0142 stworzony przez nas dla Ciebie:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Ca\u0142a prawda o VPS (KVM) E5-2697 v3 (6 rdzeni) 10GB DDR4 480GB SSD 1Gbps od 19 $ lub jak prawid\u0142owo podzieli\u0107 serwer?<\/a><\/noindex> (dost\u0119pne opcje z RAID1 i RAID10, do 24 rdzeni i do 40GB DDR4).<\/p>\n<p><b>Dell R730xd dwa razy ta\u0144szy w centrum danych Equinix Tier IV w Amsterdamie?<\/b> Tylko u nas <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100TB od 199 dolar\u00f3w<\/a><\/noindex> w Holandii! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 od 99 dolar\u00f3w!<\/b><\/b> Czytaj o tym <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Jak zbudowa\u0107 infrastruktur\u0119 klasy korporacyjnej z zastosowaniem serwer\u00f3w Dell R730xd E5-2650 v4 kosztuj\u0105cych 9000 euro za grosze?<\/a><\/noindex><br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u041f\u043e \u043c\u0435\u0440\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0432\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 Kubernetes, \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u043f\u043e \u043d\u0430\u0447\u0430\u043b\u0443 \u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0442\u044c\u0441\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043b\u0443\u0436\u0431\u044b \u0438\u043b\u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0434 \u043e\u0434\u043d\u0438\u043c \u0438 \u0442\u0435\u043c \u0436\u0435 \u0438\u043c\u0435\u043d\u0435\u043c. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0442\u044b\u0441\u044f\u0447\u0438 \u043f\u043e\u0434\u043e\u0432, \u0438\u0445 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0439\u043c\u0435\u0442 \u043a\u0443\u0447\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u044f \u043e \u0442\u043e\u043c, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82224,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82223","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-organizacziya-kubernetes-s-prostranstvom-imen\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f Kubernetes \u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438\u043c\u0435\u043d | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-organizacziya-kubernetes-s-prostranstvom-imen\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-20T11:42:34+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-20T11:42:34+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Najlepsze praktyki Kubernetes. Organizacja Kubernetes z przestrzeni\u0105 nazw | ProHoster","description":"Najlepsze praktyki Kubernetes.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-organizacziya-kubernetes-s-prostranstvom-imen","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f Kubernetes \u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438\u043c\u0435\u043d | ProHoster","og:description":"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-organizacziya-kubernetes-s-prostranstvom-imen","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-20T11:42:34+00:00","article:modified_time":"2020-05-20T11:42:34+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82223","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:41:29","updated":"2022-09-29 19:27:31","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/82223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=82223"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/82223\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/82224"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=82223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=82223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=82223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}