{"id":39249,"date":"2019-10-31T22:28:41","date_gmt":"2019-10-31T19:28:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/cse-kubernetes-dlya-teh-kto-v-vcloud-e\/"},"modified":"2019-10-31T22:28:41","modified_gmt":"2019-10-31T19:28:41","slug":"cse-kubernetes-dlya-teh-kto-v-vcloud-e","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/cse-kubernetes-dlya-teh-kto-v-vcloud-e","title":{"rendered":"CSE: Kubernetes dla tych w vCloudzie","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"CSE: Kubernetes dla tych w vCloudzie\" src=\"\/wp-content\/uploads\/2019\/10\/075d61be0d23254a37f4ae3267cd99d5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<b>Cze\u015b\u0107 wszystkim!<\/b><\/p>\n<p>Zdarzy\u0142o si\u0119, \u017ce nasz ma\u0142y zesp\u00f3\u0142, nie powiem, \u017ceby niedawno, a na pewno nie nagle, dor\u00f3s\u0142 do przeniesienia niekt\u00f3rych (a w przysz\u0142o\u015bci by\u0107 mo\u017ce wszystkich) produkt\u00f3w do Kubernetes. <\/p>\n<p>Powod\u00f3w by\u0142o wiele, ale nasza historia nie dotyczy kontrowersji.<\/p>\n<p>Z infrastrukturalnych podstaw mieli\u015bmy ma\u0142y wyb\u00f3r. vCloud Director i vCloud Director. Wybrali\u015bmy ten, kt\u00f3ry by\u0142 nowszy i postanowili\u015bmy zaczyna\u0107. <\/p>\n<p>Przechodz\u0105c kolejny raz przez \"The Hard Way\", bardzo szybko doszed\u0142em do wniosku, \u017ce narz\u0119dzie do automatyzacji przynajmniej podstawowych proces\u00f3w, takich jak wdra\u017canie i sizing, by\u0142o potrzebne ju\u017c wczoraj. G\u0142\u0119boka analiza w Google ujawni\u0142a produkt taki jak VMware Container Service Extension (CSE) \u2014 otwarte \u017ar\u00f3d\u0142o, kt\u00f3re pozwala automatyzowa\u0107 tworzenie i sizing klastr\u00f3w k8s dla tych, kt\u00f3rzy pracuj\u0105 w vCloud.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<blockquote><p>Zastrze\u017cenie: CSE ma swoje ograniczenia, ale w naszych celach okaza\u0142 si\u0119 idealny. Ponadto rozwi\u0105zanie musi by\u0107 wspierane przez dostawc\u0119 chmury, ale poniewa\u017c cz\u0119\u015b\u0107 serwerowa r\u00f3wnie\u017c jest open-source, wymagaj jego dost\u0119pno\u015bci u najbli\u017cszego mened\u017cera \ud83d\ude42<\/p><\/blockquote>\n<p>Aby rozpocz\u0105\u0107 korzystanie, wymagana jest administracyjna konto w organizacji vCloud oraz wcze\u015bniej utworzona sie\u0107 routowana dla klastra (w trakcie wdra\u017cania dost\u0119p do internetu z tej sieci jest niezb\u0119dny, nie zapomnij skonfigurowa\u0107 Firewall\/NAT). Adresacja nie ma znaczenia. W tym przyk\u0142adzie we\u017amiemy 10.0.240.0\/24.<\/p>\n<p><img decoding=\"async\" alt=\"CSE: Kubernetes dla tych w vCloudzie\" src=\"\/wp-content\/uploads\/2019\/10\/1306223d7ffe81e5d2d2cfc1f9476245.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<blockquote><p>Poniewa\u017c po utworzeniu, klastra trzeba b\u0119dzie jako\u015b zarz\u0105dza\u0107, zaleca si\u0119 posiadanie VPN z trasowaniem do utworzonej sieci. U\u017cywamy standardowego SSL-VPN, skonfigurowanego na Edge Gateway naszej organizacji.<\/p><\/blockquote>\n<p> Nast\u0119pnie nale\u017cy zainstalowa\u0107 klienta CSE w miejscu, z kt\u00f3rego b\u0119dzie zarz\u0105dzane klasterami k8s. W moim przypadku jest to laptop roboczy i para dobrze schowanych kontener\u00f3w, kt\u00f3re zajmuj\u0105 si\u0119 automatyzacj\u0105. <\/p>\n<p>Klient wymaga zainstalowanego Pythona w wersji 3.7.3 lub wy\u017cszej oraz zainstalowanego modu\u0142u <noindex><a rel=\"nofollow\" href=\"http:\/\/vmware.github.io\/vcd-cli\/\">vcd-cli<\/a><\/noindex>, wi\u0119c zainstalujemy to i to.<\/p>\n<pre><code class=\"bash\">pip3 install vcd-cli\n\npip3 install container-service-extension\n<\/code><\/pre>\n<p>\nPo instalacji sprawdzamy wersj\u0119 CSE i otrzymujemy nast\u0119puj\u0105ce:<\/p>\n<pre><code class=\"plaintext\"># vcd cse version\nError: No such command \"cse\".\n<\/code><\/pre>\n<p>\nNiespodziewanie, ale naprawialne. Okazuje si\u0119, \u017ce CSE nale\u017cy doda\u0107 jako modu\u0142 do vcd-cli.<br \/>\nAby to zrobi\u0107, najpierw trzeba zalogowa\u0107 si\u0119 do vcd-cli w naszej organizacji:<\/p>\n<pre><code class=\"plaintext\"># vcd login MyCloud.provider.com org-dev admin\nPassword: \nadmin logged in, org: 'org-dev', vdc: 'org-dev_vDC01'\n<\/code><\/pre>\n<p>\nNast\u0119pnie vcd-cli utworzy plik konfiguracyjny <i>~\/ .vcd-cli \/ profiles.yaml<\/i><br \/>\nNa jego ko\u0144cu nale\u017cy doda\u0107 to, co nast\u0119puje:<\/p>\n<pre><code class=\"plaintext\">extensions:\n  - container_service_extension.client.cse\n<\/code><\/pre>\n<p>\nPo tym ponownie sprawdzamy:<\/p>\n<pre><code class=\"plaintext\"># vcd cse version\nCSE, Container Service Extension for VMware vCloud Director, version 2.5.0\n<\/code><\/pre>\n<p>\nEtap instalacji klienta zosta\u0142 zako\u0144czony. Spr\u00f3bujemy uruchomi\u0107 pierwszy klaster.<br \/>\nCSE ma kilka zestaw\u00f3w parametr\u00f3w u\u017cycia, wszystkie mo\u017cna zobaczy\u0107 <noindex><a rel=\"nofollow\" href=\"https:\/\/vmware.github.io\/container-service-extension\/CLUSTER_MANAGEMENT.html\">tutaj.<\/a><\/noindex><\/p>\n<p>Na pocz\u0105tek utworzymy klucze dla bezhas\u0142owego dost\u0119pu do przysz\u0142ego klastra. To wa\u017cny moment, poniewa\u017c domy\u015blnie w\u0119z\u0142y nie b\u0119d\u0105 mia\u0142y w\u0142\u0105czonego logowania za pomoc\u0105 has\u0142a, a je\u015bli nie ustawimy kluczy, mo\u017ce to spowodowa\u0107 wiele problem\u00f3w poprzez konsol\u0119 maszyn wirtualnych, co nie jest za wygodne.<\/p>\n<pre><code class=\"plaintext\"># ssh-keygen\nGenerating public\/private rsa key pair.\nEnter file in which to save the key (\/root\/.ssh\/id_rsa): \nCreated directory '\/root\/.ssh'.\nEnter passphrase (empty for no passphrase): \nEnter same passphrase again: \nYour identification has been saved in \/root\/.ssh\/id_rsa.\nYour public key has been saved in \/root\/.ssh\/id_rsa.pub.\n<\/code><\/pre>\n<p>\nSpr\u00f3bujmy uruchomi\u0107 tworzenie klastra:<\/p>\n<pre><code class=\"bash\">vcd cse cluster create MyCluster --network k8s_cluster_net --ssh-key ~\/.ssh\/id_rsa.pub --nodes 3 --enable-nfs<\/code><\/pre>\n<p>\nJe\u015bli otrzymasz b\u0142\u0105d <i>Error: Session has expired or user not logged in. Please re-login.<\/i> \u2014 logujemy si\u0119 ponownie do vcd-cli w vCloud, jak opisano powy\u017cej, i ponawiamy pr\u00f3b\u0119.<\/p>\n<p>Tym razem wszystko posz\u0142o dobrze i zadanie tworzenia klastra zosta\u0142o uruchomione.<\/p>\n<pre><code class=\"bash\">cluster operation: Tworzenie klastra vApp 'MyCluster' (38959587-54f4-4a49-8f2e-61c3a3e879e0) z szablonu 'photon-v2_k8-1.12_weave-2.3.0' (rewizja 1)\n<\/code><\/pre>\n<p>\nZako\u0144czenie zadania zajmie oko\u0142o 20 minut, w mi\u0119dzyczasie om\u00f3wimy g\u0142\u00f3wne parametry uruchamiania.<\/p>\n<blockquote><p>&#8212;network \u2014 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0430\u044f \u043d\u0430\u043c\u0438 \u0440\u0430\u043d\u0435\u0435 \u0441\u0435\u0442\u044c.<br \/>\n&#8212;ssh-key \u2014 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430\u043c\u0438 \u043a\u043b\u044e\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0430 \u043d\u043e\u0434\u044b \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430<br \/>\n&#8212;nodes n \u2014 \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e Worker \u043d\u043e\u0434 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. \u041c\u0430\u0441\u0442\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0434\u0438\u043d, \u044d\u0442\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 CSE<br \/>\n&#8212;enable-nfs \u2014 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043d\u043e\u0434\u0443 \u0434\u043b\u044f NFS \u0448\u0430\u0440\u044b \u043f\u043e\u0434 persistent volumes. \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0435\u0434\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u043f\u0446\u0438\u044f, \u043a \u0434\u043e\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043e\u043d\u0430 \u0434\u0435\u043b\u0430\u0435\u0442, \u043c\u044b \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435.\n<\/p><\/blockquote>\n<p> W mi\u0119dzyczasie w vCloud mo\u017cna wizualnie obserwowa\u0107 tworzenie klastra.<br \/>\n<img decoding=\"async\" alt=\"CSE: Kubernetes dla tych w vCloudzie\" src=\"\/wp-content\/uploads\/2019\/10\/8698bfbd94a4c5b01805f128ad8b6479.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGdy zadanie tworzenia klastra zostanie zako\u0144czone, jest on gotowy do pracy.<\/p>\n<p>Sprawd\u017amy poprawno\u015b\u0107 wdro\u017cenia poleceniem <i>vcd cse cluster info MyCluster<\/i><\/p>\n<p><img decoding=\"async\" alt=\"CSE: Kubernetes dla tych w vCloudzie\" src=\"\/wp-content\/uploads\/2019\/10\/d9ea5b02277fd8c87843c53a9269d485.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNast\u0119pnie musimy uzyska\u0107 konfiguracj\u0119 klastra do u\u017cycia. <i>kubectl<\/i><\/p>\n<pre><code class=\"plaintext\"># vcd cse cluster config MyCluster &gt; .\/.kube\/config\n<\/code><\/pre>\n<p>\nMo\u017cna sprawdzi\u0107 stan klastra przy jej u\u017cyciu:<\/p>\n<p><img decoding=\"async\" alt=\"CSE: Kubernetes dla tych w vCloudzie\" src=\"\/wp-content\/uploads\/2019\/10\/97a43470588da9d84dae8bedadc9df81.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNa tym etapie klaster mo\u017cna uzna\u0107 za w pe\u0142ni dzia\u0142aj\u0105cy, gdyby nie historia z persistent volumes. Poniewa\u017c jeste\u015bmy w vCloud, nie b\u0119dziemy mogli u\u017cy\u0107 dostawcy vSphere. Opcja <i>&#8212;enable-nfs<\/i> ma na celu z\u0142agodzenie tego problemu, ale nie do ko\u0144ca. Wymagana jest r\u0119czna konfiguracja.<\/p>\n<p>Na pocz\u0105tek nasz w\u0119ze\u0142 musi utworzy\u0107 oddzielny niezale\u017cny dysk w vCloud. Gwarantuje to, \u017ce nasze dane nie znikn\u0105 z klastrem, je\u015bli zostanie on usuni\u0119ty. Pod\u0142\u0105czymy r\u00f3wnie\u017c dysk do NFS. <\/p>\n<pre><code class=\"plaintext\"># vcd disk create nfs-shares-1 100g --description 'Kubernetes NFS shares'\n# vcd vapp attach mycluster nfsd-9604 nfs-shares-1\n<\/code><\/pre>\n<p>\nPo tym zalogujemy si\u0119 przez SSH (naprawd\u0119 utworzy\u0142e\u015b klucze?) na nasz w\u0119ze\u0142 NFS i ostatecznie pod\u0142\u0105czymy dysk:<\/p>\n<pre><code class=\"plaintext\">root@nfsd-9604:~# parted \/dev\/sdb\n(parted) mklabel gpt\nUwaga: Istniej\u0105ca etykieta dysku na \/dev\/sdb zostanie zniszczona, a wszystkie dane na tym dysku zostan\u0105 utracone. Czy chcesz kontynuowa\u0107?\nTak\/Nie? tak\n(parted) unit GB\n(parted) mkpart primary 0 100\n(parted) print\nModel: VMware Virtual disk (scsi)\nDysk \/dev\/sdb: 100GB\nRozmiar sektora (logiczny\/fizyczny): 512B\/512B\nTabela partycji: gpt\nFlagi dysku:\n\nNumer  Start   Koniec  Rozmiar  System plik\u00f3w  Nazwa     Flagi\n 1      0.00GB  100GB  100GB               primary\n\n(parted) quit\nroot@nfsd-9604:~# mkfs -t ext4 \/dev\/sdb1\nTworzenie systemu plik\u00f3w z 24413696 blok\u00f3w 4k i 6111232 inodami\nUUID systemu plik\u00f3w: 8622c0f5-4044-4ebf-95a5-0372256b34f0\nKopie zapasowe superbloku przechowywane w blokach:\n\t32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,\n\t4096000, 7962624, 11239424, 20480000, 23887872\n\nAlokacja tabel grupowych: zako\u0144czono\nZapis tabel inod\u00f3w: zako\u0144czono\nTworzenie dziennika (32768 blok\u00f3w): zako\u0144czono\nZapis superblok\u00f3w i informacji o rozrachunku systemu plik\u00f3w: zako\u0144czono\n<\/code><\/pre>\n<p>\nTworzymy katalog dla danych i montujemy tam now\u0105 partycj\u0119:<\/p>\n<pre><code class=\"plaintext\">mkdir \/export\necho '\/dev\/sdb1  \/export   ext4  defaults   0 0' &gt;&gt; \/etc\/fstab\nmount -a\n<\/code><\/pre>\n<p>\nStworzymy pi\u0119\u0107 testowych partycji i udost\u0119pnimy je dla klastra:<\/p>\n<pre><code class=\"bash\">&gt;cd \/export\n&gt;mkdir vol1 vol2 vol3 vol4 vol5\n&gt;vi \/etc\/exports\n#Dodaj to na ko\u0144cu pliku\n\/export\/vol1 *(rw,sync,no_root_squash,no_subtree_check)\n\/export\/vol2 *(rw,sync,no_root_squash,no_subtree_check)\n\/export\/vol3 *(rw,sync,no_root_squash,no_subtree_check)\n\/export\/vol4 *(rw,sync,no_root_squash,no_subtree_check)\n\/export\/vol5 *(rw,sync,no_root_squash,no_subtree_check)\n#:wq! ;)\n# Nast\u0119pnie - eksportujemy partycje\n&gt;exportfs -r\n<\/code><\/pre>\n<p>\nPo ca\u0142ej tej magii, mo\u017cna stworzy\u0107 PV i PVC w naszym klastrze w nast\u0119puj\u0105cy spos\u00f3b:<br \/>\nPV:<\/p>\n<pre><code class=\"bash\">cat &lt;&lt;EOF | kubectl apply -f -\napiVersion: v1\nkind: PersistentVolume\nmetadata:\n  name: nfs-vol1\nspec:\n  capacity:\n    storage: 10Gi\n  accessModes:\n    - ReadWriteMany\n  nfs:\n    # Taki sam adres IP jak host NFS, do kt\u00f3rego si\u0119 wcze\u015bniej ssh&#039;owali\u015bmy.\n    server: 10.150.200.22\n    path: &#039;\/export\/vol1&#039;\nEOF\n<\/code><\/pre>\n<p>\nPVC:<\/p>\n<pre><code class=\"bash\">cat &lt;&lt;EOF | kubectl apply -f -\napiVersion: v1\nkind: PersistentVolumeClaim\nmetadata:\n  name: nfs-pvc\nspec:\n  accessModes:\n    - ReadWriteMany\n  storageClassName: &#039;&#039;\n  resources:\n    requests:\n      storage: 10Gi\nEOF\n<\/code><\/pre>\n<p>\nNa tym ko\u0144czy si\u0119 historia tworzenia jednego klastra i zaczyna si\u0119 historia jego cyklu \u017cycia. Jako bonus - dwie przydatne komendy CSE, kt\u00f3re czasami mog\u0105 oszcz\u0119dzi\u0107 zasoby lub nie:<\/p>\n<pre><code class=\"bash\">#\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0434\u043e 8 \u0432\u043e\u0440\u043a\u0435\u0440 \u043d\u043e\u0434\n&gt;cse cluster resize MyCluster --network k8s_cluster_net --nodes 8\n\n#\u0412\u044b\u0432\u043e\u0434\u0438\u043c \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0435 \u043d\u043e\u0434\u044b \u0438\u0437 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0441 \u0438\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435\u043c\n&gt;vcd cse node delete MyCluster node-1a2v node-6685 --yes\n<\/code><\/pre>\n<p>\nDzi\u0119kuj\u0119 wszystkim za po\u015bwi\u0119cony czas, je\u015bli macie pytania - zadawajcie je w komentarzach.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/472752\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0422\u0430\u043a \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043d\u0430\u0448\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u043d\u0435 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043d\u0435\u0434\u0430\u0432\u043d\u043e, \u0438 \u0443\u0436 \u0442\u043e\u0447\u043d\u043e \u043d\u0435 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e, \u0434\u043e\u0440\u043e\u0441\u043b\u0430 \u0434\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 (\u0430 \u0432 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0435 \u0438 \u0432\u0441\u0435\u0445) \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0432 Kubernetes. \u041f\u0440\u0438\u0447\u0438\u043d \u0442\u043e\u043c\u0443 \u0431\u044b\u043b\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e, \u043d\u043e \u043d\u0430\u0448\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043d\u0435 \u043f\u0440\u043e \u0445\u043e\u043b\u0438\u0432\u0430\u0440. \u0418\u0437 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0439 \u043e\u0441\u043d\u043e\u0432\u044b \u0432\u044b\u0431\u043e\u0440 \u0443 \u043d\u0430\u0441 \u0431\u044b\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439. vCloud Director \u0438 vCloud Director. \u0412\u044b\u0431\u0440\u0430\u043b\u0438 \u0442\u043e\u0442, \u0447\u0442\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29455,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-39249","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=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0422\u0430\u043a \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043d\u0430\u0448\u0430.\" \/>\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\/cse-kubernetes-dlya-teh-kto-v-vcloud-e\" \/>\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\udd47CSE: Kubernetes \u0434\u043b\u044f \u0442\u0435\u0445 \u043a\u0442\u043e \u0432 vCloud-\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0422\u0430\u043a \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043d\u0430\u0448\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/cse-kubernetes-dlya-teh-kto-v-vcloud-e\" \/>\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=\"2019-10-31T19:28:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:28:41+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\udd47CSE: Kubernetes dla tych, kt\u00f3rzy s\u0105 w vCloudzie | ProHoster","description":"Cze\u015b\u0107 wszystkim! Tak si\u0119 sk\u0142ada, \u017ce nasza.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/cse-kubernetes-dlya-teh-kto-v-vcloud-e","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\udd47CSE: Kubernetes \u0434\u043b\u044f \u0442\u0435\u0445 \u043a\u0442\u043e \u0432 vCloud-\u0435 | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0422\u0430\u043a \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043d\u0430\u0448\u0430.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/cse-kubernetes-dlya-teh-kto-v-vcloud-e","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":"2019-10-31T19:28:41+00:00","article:modified_time":"2019-10-31T19:28:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"39249","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":"2026-01-24 01:28:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:53:37","updated":"2026-01-24 01:28:19","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\/39249","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=39249"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/39249\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/29455"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=39249"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=39249"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=39249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}