{"id":94388,"date":"2020-09-16T07:43:39","date_gmt":"2020-09-16T05:43:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes"},"modified":"2020-09-16T07:43:39","modified_gmt":"2020-09-16T05:43:39","slug":"hranenie-dannyh-v-klastere-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes","title":{"rendered":"Ukl\u00e1d\u00e1n\u00ed dat v clusterech Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Konfiguraci \u00falo\u017ei\u0161t\u011b dat aplikac\u00ed spu\u0161t\u011bn\u00fdch v clusterech Kubernetes lze prov\u00e9st n\u011bkolika zp\u016fsoby. N\u011bkter\u00e9 z nich jsou u\u017e zastaral\u00e9, jin\u00e9 se objevily teprve ned\u00e1vno. V tomto \u010dl\u00e1nku se pod\u00edv\u00e1me na koncept t\u0159\u00ed variant p\u0159ipojen\u00ed \u00falo\u017ei\u0161t\u011b, v\u010detn\u011b t\u00e9 nejnov\u011bj\u0161\u00ed \u2014 p\u0159ipojen\u00ed prost\u0159ednictv\u00edm Container Storage Interface.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ukl\u00e1d\u00e1n\u00ed dat v clusterech Kubernetes\" src=\"\/wp-content\/uploads\/2020\/09\/c045dc02cc4db1a0693730574a02eb4a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"sposob-1-ukazanie-pv-v-manifeste-poda\">Zp\u016fsob 1. Ur\u010den\u00ed PV v manifestu podu<\/h2>\n<p><\/p>\n<p>Typick\u00fd manifest popisuj\u00edc\u00ed pod v clusterech Kubernetes: <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ukl\u00e1d\u00e1n\u00ed dat v clusterech Kubernetes\" src=\"\/wp-content\/uploads\/2020\/09\/1df1b236df758f4a4a18905d31413617.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Barvou jsou zv\u00fdrazn\u011bny \u010d\u00e1sti manifestu, kde je pops\u00e1no, kter\u00fd svazek se p\u0159ipojuje a kam.<\/p>\n<p><\/p>\n<p>V sekci <strong>volumeMounts<\/strong> ur\u010duje body p\u0159ipojen\u00ed (mountPath) \u2014 do jak\u00e9ho adres\u00e1\u0159e uvnit\u0159 kontejneru bude p\u0159ipojen trval\u00fd svazek, a tak\u00e9 jm\u00e9no svazku.<\/p>\n<p><\/p>\n<p>V sekci <strong>x<\/strong> vyjmenov\u00e1v\u00e1 v\u0161echny svazky, kter\u00e9 se pou\u017e\u00edvaj\u00ed v podu. Uv\u00e1d\u00ed jm\u00e9no ka\u017ed\u00e9ho svazku a tak\u00e9 typ (v na\u0161em p\u0159\u00edpad\u011b: awsElasticBlockStore) a parametry p\u0159ipojen\u00ed. Jak\u00e9 p\u0159esn\u011b parametry se uv\u00e1d\u011bj\u00ed v manifestu, z\u00e1vis\u00ed na typu svazku.<\/p>\n<p><\/p>\n<p>Tent\u00fd\u017e svazek m\u016f\u017ee b\u00fdt p\u0159ipojen z\u00e1rove\u0148 v n\u011bkolika kontejnerech podu. Takto mohou r\u016fzn\u00e9 procesy aplikace m\u00edt p\u0159\u00edstup ke stejn\u00fdm dat\u016fm. <\/p>\n<p><\/p>\n<p>Tento zp\u016fsob p\u0159ipojen\u00ed byl vymy\u0161len na sam\u00e9m za\u010d\u00e1tku, kdy\u017e Kubernetes teprve vznikal, a dnes je zastaral\u00fd.<\/p>\n<p><\/p>\n<p>P\u0159i jeho pou\u017eit\u00ed vznik\u00e1 n\u011bkolik probl\u00e9m\u016f: <\/p>\n<p><\/p>\n<ol>\n<li>v\u0161echny svazky je t\u0159eba vytv\u00e1\u0159et ru\u010dn\u011b, Kubernetes nebude schopno vytvo\u0159it nic za n\u00e1s;<\/li>\n<li>parametry p\u0159\u00edstupu k jednotliv\u00fdm svazk\u016fm jsou unik\u00e1tn\u00ed a je t\u0159eba je uv\u00e1d\u011bt v manifestech v\u0161ech pod\u016f, kter\u00e9 svazek pou\u017e\u00edvaj\u00ed;<\/li>\n<li>pro zm\u011bnu \u00falo\u017ei\u0161t\u011b (nap\u0159\u00edklad p\u0159echod z AWS na Google Cloud) je nutn\u00e9 m\u011bnit nastaven\u00ed a typ p\u0159ipojen\u00fdch svazk\u016f ve v\u0161ech manifestech.<\/li>\n<\/ol>\n<p><\/p>\n<p>To v\u0161e je velmi nepohodln\u00e9, proto se ve skute\u010dnosti t\u00edmto zp\u016fsobem pou\u017e\u00edvaj\u00ed pouze n\u011bkter\u00e9 speci\u00e1ln\u00ed typy svazk\u016f: configMap, secret, emptyDir, hostPath:<\/p>\n<p><\/p>\n<ul>\n<li>\n<p>configMap a secret \u2014 slu\u017eebn\u00ed svazky, umo\u017e\u0148uj\u00ed vytvo\u0159it v kontejneru svazek s soubory z manifest\u016f Kubernetes.<\/p>\n<p>\n<\/li>\n<li>\n<p>emptyDir \u2014 do\u010dasn\u00fd svazek, vytv\u00e1\u0159\u00ed se pouze na dobu \u017eivota podu. Je vhodn\u00e9 ho pou\u017e\u00edvat pro testov\u00e1n\u00ed nebo uchov\u00e1v\u00e1n\u00ed do\u010dasn\u00fdch dat. Kdy\u017e je pod odstran\u011bn, svazek typu emptyDir je tak\u00e9 odstran\u011bn a v\u0161echna data zmiz\u00ed.<\/p>\n<p>\n<\/li>\n<li>\n<p>hostPath \u2014 umo\u017e\u0148uje p\u0159ipojit do kontejneru s aplikac\u00ed jak\u00fdkoliv adres\u00e1\u0159 z m\u00edstn\u00edho disku serveru, na kter\u00e9m aplikace b\u011b\u017e\u00ed, v\u010detn\u011b \/etc\/kubernetes. To je riskantn\u00ed funkce, a proto bezpe\u010dnostn\u00ed politiky obvykle zakazuj\u00ed pou\u017eit\u00ed objem\u016f tohoto typu. Jinak m\u016f\u017ee \u00fato\u010dn\u00edkova aplikace p\u0159ipojit do sv\u00e9ho kontejneru adres\u00e1\u0159 HTC Kubernetes a ukr\u00e1st v\u0161echny certifik\u00e1ty clusteru. Obvykle se objemy hostPath umo\u017e\u0148uj\u00ed pou\u017e\u00edvat pouze syst\u00e9mov\u00fdm aplikac\u00edm, kter\u00e9 b\u011b\u017e\u00ed v namespace kube-system.<\/p>\n<p>\n<\/li>\n<\/ul>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/volumes\/#types-of-volumes\">Syst\u00e9my ukl\u00e1d\u00e1n\u00ed dat, se kter\u00fdmi Kubernetes pracuje bez dal\u0161\u00edch \u00faprav<\/a><\/noindex> jsou uvedeny v dokumentaci.<\/p>\n<p><\/p>\n<h2 id=\"sposob-2-podklyuchenie-k-podam-scpvcpv\">Zp\u016fsob 2. P\u0159ipojen\u00ed k pod\u016fm SC\/PVC\/PV<\/h2>\n<p><\/p>\n<p>Alternativn\u00ed zp\u016fsob p\u0159ipojen\u00ed \u2014 koncept Storage class, PersistentVolumeClaim, PersistentVolume.<\/p>\n<p><\/p>\n<p><u>Storage class<\/u> uchov\u00e1v\u00e1 parametry p\u0159ipojen\u00ed k syst\u00e9mu ukl\u00e1d\u00e1n\u00ed dat.<\/p>\n<p><\/p>\n<p><u>PersistentVolumeClaim<\/u> popisuje po\u017eadavky na objem pot\u0159ebn\u00fd aplikaci.<br \/>\n<u>PersistentVolume<\/u> uchov\u00e1v\u00e1 parametry p\u0159\u00edstupu a stav objemu.<\/p>\n<p><\/p>\n<p>J\u00e1dro my\u0161lenky: v manifestu podu se uv\u00e1d\u00ed objem typu PersistentVolumeClaim a uv\u00e1d\u00ed se n\u00e1zev t\u00e9to entity v parametru claimName.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ukl\u00e1d\u00e1n\u00ed dat v clusterech Kubernetes\" src=\"\/wp-content\/uploads\/2020\/09\/08b0460be887d39801d1acb9ee1bbd2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>V manifestu PersistentVolumeClaim se popisuj\u00ed po\u017eadavky na objem dat, kter\u00fd je pot\u0159ebn\u00fd aplikaci. Mezi nimi:<\/p>\n<p><\/p>\n<ul>\n<li>velikost disku; <\/li>\n<li>zp\u016fsob p\u0159\u00edstupu: ReadWriteOnce nebo ReadWriteMany;<\/li>\n<li>odkaz na Storage class \u2014 ve kter\u00e9m syst\u00e9mu ukl\u00e1d\u00e1n\u00ed dat chceme objem vytvo\u0159it.<\/li>\n<\/ul>\n<p><\/p>\n<p>V manifestu Storage class jsou ulo\u017eeny typ a parametry p\u0159ipojen\u00ed k syst\u00e9mu ukl\u00e1d\u00e1n\u00ed dat. Ty jsou pot\u0159ebn\u00e9 kubeletu, aby p\u0159ipojil objem k sob\u011b na uzel. <\/p>\n<p><\/p>\n<p>V manifestech PersistentVolume se uv\u00e1d\u00ed Storage class a parametry p\u0159\u00edstupu k konkr\u00e9tn\u00edmu objemu (ID objemu, cesta atd.).<\/p>\n<p><\/p>\n<p>P\u0159i vytv\u00e1\u0159en\u00ed PVC Kubernetes zkoum\u00e1, jakou velikost objemu a z jak\u00e9 Storage class bude pot\u0159eba, a vyb\u00edr\u00e1 dostupn\u00fd PersistentVolume.<\/p>\n<p><\/p>\n<p>Pokud takov\u00e9 PV nejsou k dispozici, m\u016f\u017ee Kubernetes spustit speci\u00e1ln\u00ed program \u2014 Provisioner (jej\u00ed n\u00e1zev se uv\u00e1d\u00ed ve Storage class). Tento program se p\u0159ipojuje k SCSI, vytv\u00e1\u0159\u00ed objem po\u017eadovan\u00e9 velikosti, z\u00edsk\u00e1v\u00e1 identifik\u00e1tor a vytv\u00e1\u0159\u00ed v clusterech Kubernetes manifest PersistentVolume, kter\u00fd se v\u00e1\u017ee na PersistentVolumeClaim.<\/p>\n<p><\/p>\n<p>Toto mno\u017estv\u00ed abstrakc\u00ed umo\u017e\u0148uje odd\u011blit informace o tom, s jakou SCSI aplikace pracuje, z \u00farovn\u011b manifest\u016f aplikac\u00ed na \u00farove\u0148 spr\u00e1vy. <\/p>\n<p><\/p>\n<p>V\u0161echny parametry p\u0159ipojen\u00ed k syst\u00e9mu pro ukl\u00e1d\u00e1n\u00ed dat jsou sou\u010d\u00e1st\u00ed Storage class, za kter\u00e9 odpov\u00eddaj\u00ed administr\u00e1to\u0159i clustera. V\u0161e, co je pot\u0159eba ud\u011blat p\u0159i p\u0159echodu z AWS na Google Cloud, je zm\u011bnit n\u00e1zev Storage class v PVC v manifestech aplikace. Persistent Volumes pro ukl\u00e1d\u00e1n\u00ed dat budou automaticky vytvo\u0159eny v clusterech pomoc\u00ed programu Provisioner.<\/p>\n<p><\/p>\n<h2 id=\"sposob-3-container-storage-interface\">Zp\u016fsob 3. Container Storage Interface<\/h2>\n<p><\/p>\n<p>Ve\u0161ker\u00fd k\u00f3d, kter\u00fd interaguje s r\u016fzn\u00fdmi syst\u00e9my pro ukl\u00e1d\u00e1n\u00ed dat, je sou\u010d\u00e1st\u00ed j\u00e1dra Kubernetes. Vyd\u00e1v\u00e1n\u00ed oprav chyb nebo nov\u00e9 funk\u010dnosti je v\u00e1z\u00e1no na nov\u00e9 release, k\u00f3d se mus\u00ed m\u011bnit pro v\u0161echny podporovan\u00e9 verze Kubernetes. To v\u0161e je t\u011b\u017ek\u00e9 udr\u017eovat a p\u0159id\u00e1vat novou funk\u010dnost.<\/p>\n<p><\/p>\n<p>Aby se vy\u0159e\u0161il probl\u00e9m, vytvo\u0159ili v\u00fdvoj\u00e1\u0159i z Cloud Foundry, Kubernetes, Mesos a Docker Container Storage Interface (CSI) \u2014 jednoduch\u00e9 unifikovan\u00e9 rozhran\u00ed, kter\u00e9 popisuje interakci mezi syst\u00e9mem spr\u00e1vy kontejner\u016f a speci\u00e1ln\u00edm ovlada\u010dem (CSI Driver), kter\u00fd pracuje s konkr\u00e9tn\u00edmi SCSI. Ve\u0161ker\u00fd k\u00f3d pro interakci se SCSI byl vy\u0148at z j\u00e1dra Kubernetes do samostatn\u00e9ho syst\u00e9mu.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/blog\/2019\/01\/15\/container-storage-interface-ga\/\">Dokumentace k Container Storage Interface<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Obvykle se CSI Driver skl\u00e1d\u00e1 ze dvou komponent: Node Plugin a Controller Plugin.<\/p>\n<p><\/p>\n<p>Node Plugin je spou\u0161t\u011bn na ka\u017ed\u00e9m uzlu a odpov\u00edd\u00e1 za montov\u00e1n\u00ed objem\u016f a operace na nich. Controller Plugin interaguje se SCSI: vytv\u00e1\u0159\u00ed nebo odstra\u0148uje objemy, p\u0159i\u0159azuje p\u0159\u00edstupov\u00e1 pr\u00e1va atd.<\/p>\n<p><\/p>\n<p>Zat\u00edm v j\u00e1d\u0159e Kubernetes z\u016fst\u00e1vaj\u00ed star\u00e9 ovlada\u010de, ale jejich pou\u017e\u00edv\u00e1n\u00ed ji\u017e nen\u00ed doporu\u010deno a v\u0161em se rad\u00ed instalovat CSI Driver konkr\u00e9tn\u011b pro ten syst\u00e9m, se kter\u00fdm budou pracovat.<\/p>\n<p><\/p>\n<p>Novinka m\u016f\u017ee vystra\u0161it ty, kte\u0159\u00ed si u\u017e zvykli nastavovat \u00falo\u017ei\u0161t\u011b p\u0159es Storage class, ale ve skute\u010dnosti se nic hrozn\u00e9ho nestalo. Pro program\u00e1tory se ur\u010dit\u011b nic nem\u011bn\u00ed \u2014 st\u00e1le pracuj\u00ed pouze s n\u00e1zvem Storage class. Pro administr\u00e1tory se p\u0159idala instalace helm chart a zm\u011bnila se struktura nastaven\u00ed. Pokud d\u0159\u00edve byla nastaven\u00ed zad\u00e1v\u00e1na p\u0159\u00edmo do Storage class, nyn\u00ed je nejprve nutn\u00e9 je ur\u010dit v helm chart a pot\u00e9 v Storage class. Pokud se na to pod\u00edv\u00e1te, nic hrozn\u00e9ho se nestalo.<\/p>\n<p><\/p>\n<p>Poj\u010fme si na p\u0159\u00edkladu uk\u00e1zat, jak\u00e9 v\u00fdhody lze z\u00edskat p\u0159echodem na p\u0159ipojen\u00ed SCSI Ceph pomoc\u00ed CSI ovlada\u010de.<\/p>\n<p><\/p>\n<p>P\u0159i pr\u00e1ci s Ceph poskytuje CSI plugin v\u00edce mo\u017enost\u00ed pro pr\u00e1ci se SCSI ne\u017e integrovan\u00e9 ovlada\u010de.<\/p>\n<p><\/p>\n<ol>\n<li><strong>Dynamick\u00e9 vytv\u00e1\u0159en\u00ed disk\u016f.<\/strong> Obvykle jsou disky RBD pou\u017e\u00edv\u00e1ny pouze v re\u017eimu RWO, zat\u00edmco CSI pro Ceph umo\u017e\u0148uje jejich pou\u017eit\u00ed v re\u017eimu RWX. V\u00edce pod\u016f na r\u016fzn\u00fdch uzlech m\u016f\u017ee sou\u010dasn\u011b p\u0159ipojit stejn\u00fd disk RDB a pracovat s n\u00edm paraleln\u011b. Je spravedliv\u00e9 \u0159\u00edci, \u017ee ne v\u0161e je tak r\u016f\u017eov\u00e9 \u2014 tento disk lze p\u0159ipojit pouze jako blokov\u00e9 za\u0159\u00edzen\u00ed, co\u017e znamen\u00e1, \u017ee bude nutn\u00e9 p\u0159izp\u016fsobit aplikaci pro pr\u00e1ci s n\u00edm v re\u017eimu v\u00edce p\u0159\u00edstup\u016f.<\/li>\n<li><strong>Vytv\u00e1\u0159en\u00ed snapshot\u016f.<\/strong> V clusteru Kubernetes lze vytvo\u0159it manifest se \u017e\u00e1dost\u00ed o vytvo\u0159en\u00ed snapshotu. CSI plugin ho uvid\u00ed a vytvo\u0159\u00ed snapshot z disku. Na jeho z\u00e1klad\u011b bude mo\u017en\u00e9 prov\u00e9st bu\u010f z\u00e1lohu, nebo kopii PersistentVolume. <\/li>\n<li><strong>Zv\u011bt\u0161en\u00ed velikosti disku<\/strong> na storage a PersistentVolume v clusteru Kubernetes.<\/li>\n<li><strong>Kv\u00f3ty.<\/strong> Vestav\u011bn\u00e9 ovlada\u010de CephFS v Kubernetes nepodporuj\u00ed kv\u00f3ty, zat\u00edmco nov\u00e9 CSI pluginy se \u010derstv\u00fdm Ceph Nautilus um\u00ed povolit kv\u00f3ty na CephFS odd\u00edlech.<\/li>\n<li><strong>Metriky.<\/strong> CSI plugin m\u016f\u017ee poskytovat v Prometheu mnoho metrik o tom, jak\u00e9 svazky jsou p\u0159ipojeny, jak\u00e9 prob\u00edhaj\u00ed interakce atd.<\/li>\n<li><strong>Topologick\u00e1 informovanost.<\/strong> Umo\u017e\u0148uje uv\u00e9st v manifestech, jak je geograficky rozlo\u017een cluster, a vyhnout se p\u0159ipojen\u00ed k pod\u016fm, kter\u00e9 b\u011b\u017e\u00ed v Lond\u00fdn\u011b, k syst\u00e9mu ukl\u00e1d\u00e1n\u00ed dat um\u00edst\u011bn\u00e9mu v Amsterdamu. <\/li>\n<\/ol>\n<p><\/p>\n<p>Jak p\u0159ipojit Ceph k clusteru Kubernetes p\u0159es CSI, viz <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/DteNn-1f-WI\">v praktick\u00e9 \u010d\u00e1sti p\u0159edn\u00e1\u0161ky ve\u010dern\u00ed \u0161koly Sljorm<\/a><\/noindex>. Tak\u00e9 se m\u016f\u017eete p\u0159ihl\u00e1sit na <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/Ssx7pg\">videokurz Ceph<\/a><\/noindex>, kter\u00fd za\u010dne 15. \u0159\u00edjna. <\/p>\n<p><\/p>\n<p><em>Autor \u010dl\u00e1nku: Sergej Bondar\u011bv, praktick\u00fd architekt ve Southbridge, Certified Kubernetes Administrator, jeden z v\u00fdvoj\u00e1\u0159\u016f kubespray.<\/em><\/p>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">Mal\u00e9 post scriptum, ne pro reklamu, ale pro u\u017eitek...<\/b><\/p>\n<p>P.S. Sergej Bondar\u011bv vede dva intenzivy: aktualizovan\u00fd <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/1WIJFg\">Z\u00e1klady Kubernetes<\/a><\/noindex> 28-30. z\u00e1\u0159\u00ed a pokro\u010dil\u00fd <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/Wbqz5g\">Mega Kubernetes<\/a><\/noindex> 14\u201316. \u0159\u00edjna.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ukl\u00e1d\u00e1n\u00ed dat v clusterech Kubernetes\" src=\"\/wp-content\/uploads\/2020\/09\/69752ee9f7c9caf887011564139baf16.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/519130\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes, \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u041e\u0434\u043d\u0438 \u0438\u0437 \u043d\u0438\u0445 \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438, \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u0442\u0440\u0451\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0421\u0425\u0414, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0441\u0430\u043c\u044b\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u2014 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 Container Storage Interface. \u0421\u043f\u043e\u0441\u043e\u0431 1. \u0423\u043a\u0430\u0437\u0430\u043d\u0438\u0435 PV \u0432 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0435 \u043f\u043e\u0434\u0430 \u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043f\u043e\u0434 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes: \u0426\u0432\u0435\u0442\u043e\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":94389,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-94388","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.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes, \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u041e\u0434\u043d\u0438 \u0438\u0437 \u043d\u0438\u0445 \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438, \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e.\" \/>\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\/cs\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes, \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u041e\u0434\u043d\u0438 \u0438\u0437 \u043d\u0438\u0445 \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438, \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes\" \/>\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-09-16T05:43:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-16T05:43:39+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\udd47Ukl\u00e1d\u00e1n\u00ed dat v clusteru Kubernetes | ProHoster","description":"Nastavit ukl\u00e1d\u00e1n\u00ed dat aplikac\u00ed spu\u0161t\u011bn\u00fdch v clusteru Kubernetes lze n\u011bkolika zp\u016fsoby. N\u011bkter\u00e9 z nich jsou ji\u017e zastaral\u00e9, jin\u00e9 se objevily teprve ned\u00e1vno.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes | ProHoster","og:description":"\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes, \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u041e\u0434\u043d\u0438 \u0438\u0437 \u043d\u0438\u0445 \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438, \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/hranenie-dannyh-v-klastere-kubernetes","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-09-16T05:43:39+00:00","article:modified_time":"2020-09-16T05:43:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"94388","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 11:27:34","updated":"2022-10-02 10:35:39","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/94388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=94388"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/94388\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/94389"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=94388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=94388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=94388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}