{"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\/pt\/blog\/administrirovanie\/cse-kubernetes-dlya-teh-kto-v-vcloud-e","title":{"rendered":"CSE: Kubernetes para quem est\u00e1 no vCloud","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"CSE: Kubernetes para quem est\u00e1 no vCloud\" src=\"\/wp-content\/uploads\/2019\/10\/075d61be0d23254a37f4ae3267cd99d5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<b>Ol\u00e1 a todos!<\/b><\/p>\n<p>Aconteceu que nossa pequena equipe, n\u00e3o exatamente recentemente, e definitivamente n\u00e3o de repente, chegou ao ponto de transferir alguns (e, no futuro, todos) produtos para o Kubernetes. <\/p>\n<p>As raz\u00f5es para isso foram muitas, mas nossa hist\u00f3ria n\u00e3o \u00e9 sobre controv\u00e9rsias.<\/p>\n<p>Em termos de infraestrutura, nossa escolha era limitada. vCloud Director e vCloud Director. Optamos pela vers\u00e3o mais recente e decidimos come\u00e7ar. <\/p>\n<p>Mais uma vez, folheando \"The Hard Way\", conclui rapidamente que uma ferramenta para automatizar pelo menos processos b\u00e1sicos, como implanta\u00e7\u00e3o e dimensionamento, era necess\u00e1ria h\u00e1 tempos. Um mergulho profundo no Google revelou um produto chamado VMware Container Service Extension (CSE) \u2014 um produto de c\u00f3digo aberto que permite automatizar a cria\u00e7\u00e3o e o dimensionamento de clusters k8s para quem est\u00e1 no vCloud.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<blockquote><p>Aviso: O CSE tem suas limita\u00e7\u00f5es, mas atendeu perfeitamente aos nossos objetivos. Al\u00e9m disso, a solu\u00e7\u00e3o deve ser suportada pelo provedor de nuvem, mas como a parte do servidor tamb\u00e9m \u00e9 de c\u00f3digo aberto, exija sua disponibilidade do gerente mais pr\u00f3ximo \ud83d\ude42<\/p><\/blockquote>\n<p>Para come\u00e7ar a us\u00e1-lo, \u00e9 necess\u00e1rio ter uma conta de administrador na organiza\u00e7\u00e3o vCloud e uma rede roteada j\u00e1 criada para o cluster (durante o processo de implanta\u00e7\u00e3o, \u00e9 necess\u00e1rio ter acesso \u00e0 internet a partir dessa rede, n\u00e3o se esque\u00e7a de configurar o Firewall\/NAT). A endere\u00e7amento n\u00e3o \u00e9 importante. Neste exemplo, usaremos 10.0.240.0\/24.<\/p>\n<p><img decoding=\"async\" alt=\"CSE: Kubernetes para quem est\u00e1 no vCloud\" src=\"\/wp-content\/uploads\/2019\/10\/1306223d7ffe81e5d2d2cfc1f9476245.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<blockquote><p>Como ap\u00f3s a cria\u00e7\u00e3o, ser\u00e1 necess\u00e1rio gerenciar o cluster de alguma forma, recomenda-se a exist\u00eancia de um VPN com roteamento para a rede criada. Estamos usando o SSL-VPN padr\u00e3o, configurado no Edge Gateway da nossa organiza\u00e7\u00e3o.<\/p><\/blockquote>\n<p> Em seguida, \u00e9 necess\u00e1rio instalar o cliente CSE a partir do qual a gest\u00e3o dos clusters k8s ser\u00e1 realizada. No meu caso, \u00e9 meu laptop de trabalho e alguns containers bem escondidos que cuidam da automa\u00e7\u00e3o. <\/p>\n<p>O cliente requer a instala\u00e7\u00e3o do Python vers\u00e3o 3.7.3 ou superior e do m\u00f3dulo <noindex><a rel=\"nofollow\" href=\"http:\/\/vmware.github.io\/vcd-cli\/\">vcd-cli<\/a><\/noindex>, ent\u00e3o vamos instalar ambos.<\/p>\n<pre><code class=\"bash\">pip3 install vcd-cli\n\npip3 install container-service-extension\n<\/code><\/pre>\n<p>\nAp\u00f3s a instala\u00e7\u00e3o, verificamos a vers\u00e3o do CSE e obtemos o seguinte:<\/p>\n<pre><code class=\"plaintext\"># vcd cse version\nError: No such command \"cse\".\n<\/code><\/pre>\n<p>\nSurpreendentemente, mas corrig\u00edvel. Acontece que \u00e9 necess\u00e1rio integrar o CSE como um m\u00f3dulo ao vcd-cli.<br \/>\nPara isso, \u00e9 necess\u00e1rio primeiro fazer login no vcd-cli na nossa organiza\u00e7\u00e3o:<\/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>\nDepois disso, o vcd-cli criar\u00e1 um arquivo de configura\u00e7\u00e3o <i>~\/.vcd-cli\/profiles.yaml<\/i><br \/>\nNo final deste arquivo, \u00e9 necess\u00e1rio adicionar o seguinte:<\/p>\n<pre><code class=\"plaintext\">extensions:\n  - container_service_extension.client.cse\n<\/code><\/pre>\n<p>\nDepois disso, verificamos novamente:<\/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>\nA etapa de instala\u00e7\u00e3o do cliente foi conclu\u00edda. Vamos tentar implantar o primeiro cluster.<br \/>\nO CSE possui v\u00e1rios conjuntos de par\u00e2metros de uso, todos podem ser visualizados. <noindex><a rel=\"nofollow\" href=\"https:\/\/vmware.github.io\/container-service-extension\/CLUSTER_MANAGEMENT.html\">aqui.<\/a><\/noindex><\/p>\n<p>Primeiro, vamos criar chaves para acesso sem senha ao futuro cluster. Este ponto \u00e9 importante, pois por padr\u00e3o o acesso por senha para os n\u00f3s ser\u00e1 desativado e, se as chaves n\u00e3o forem definidas, pode-se ter muito trabalho atrav\u00e9s do console das m\u00e1quinas virtuais, o que n\u00e3o \u00e9 exatamente conveniente.<\/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>\nTentamos iniciar a cria\u00e7\u00e3o do cluster:<\/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>\nSe recebermos um erro <i>Erro: Sess\u00e3o expirada ou usu\u00e1rio n\u00e3o est\u00e1 logado. Por favor, fa\u00e7a o login novamente.<\/i> \u2014 fa\u00e7a o login novamente no vcd-cli no vCloud conforme descrito acima e repita a tentativa.<\/p>\n<p>Desta vez, tudo est\u00e1 bem e a tarefa de cria\u00e7\u00e3o do cluster foi iniciada.<\/p>\n<pre><code class=\"bash\">Opera\u00e7\u00e3o do cluster: Criando o vApp do cluster 'MyCluster' (38959587-54f4-4a49-8f2e-61c3a3e879e0) a partir do template 'photon-v2_k8-1.12_weave-2.3.0' (revis\u00e3o 1)\n<\/code><\/pre>\n<p>\nA conclus\u00e3o da tarefa levar\u00e1 cerca de 20 minutos, enquanto isso, vamos analisar os principais par\u00e2metros de inicializa\u00e7\u00e3o.<\/p>\n<blockquote><p>\u2014network \u2014 a rede que criamos anteriormente.<br \/>\n\u2014ssh-key \u2014 as chaves que criamos, que ser\u00e3o salvas nos n\u00f3s do cluster.<br \/>\n\u2014nodes n \u2014 N\u00famero de n\u00f3s Worker do cluster. Sempre haver\u00e1 um mestre, essa \u00e9 uma limita\u00e7\u00e3o do CSE.<br \/>\n\u2014enable-nfs \u2014 criar um n\u00f3 adicional para o compartilhamento NFS sob volumes persistentes. Um pouco uma op\u00e7\u00e3o mais t\u00e9cnica, voltaremos a abordar sua configura\u00e7\u00e3o mais tarde.\n<\/p><\/blockquote>\n<p> Enquanto isso, no vCloud, \u00e9 poss\u00edvel observar visualmente a cria\u00e7\u00e3o do cluster.<br \/>\n<img decoding=\"async\" alt=\"CSE: Kubernetes para quem est\u00e1 no vCloud\" src=\"\/wp-content\/uploads\/2019\/10\/8698bfbd94a4c5b01805f128ad8b6479.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAssim que a tarefa de cria\u00e7\u00e3o do cluster for conclu\u00edda, ele estar\u00e1 pronto para uso.<\/p>\n<p>Vamos verificar a corre\u00e7\u00e3o do deployment com o comando <i>vcd cse cluster info MyCluster<\/i><\/p>\n<p><img decoding=\"async\" alt=\"CSE: Kubernetes para quem est\u00e1 no vCloud\" src=\"\/wp-content\/uploads\/2019\/10\/d9ea5b02277fd8c87843c53a9269d485.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEm seguida, precisamos obter a configura\u00e7\u00e3o do cluster para uso. <i>kubectl<\/i><\/p>\n<pre><code class=\"plaintext\"># vcd cse cluster config MyCluster &gt; .\/.kube\/config\n<\/code><\/pre>\n<p>\nE podemos verificar o estado do cluster j\u00e1 com ela:<\/p>\n<p><img decoding=\"async\" alt=\"CSE: Kubernetes para quem est\u00e1 no vCloud\" src=\"\/wp-content\/uploads\/2019\/10\/97a43470588da9d84dae8bedadc9df81.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNeste ponto, o cluster pode ser considerado funcional, se n\u00e3o fosse pela quest\u00e3o com volumes persistentes. Como estamos no vCloud, n\u00e3o conseguimos usar o vSphere Provider. A op\u00e7\u00e3o <i>\u2014enable-nfs<\/i> destina-se a suavizar esse problema, mas n\u00e3o funcionou completamente. \u00c9 necess\u00e1rio um ajuste manual.<\/p>\n<p>Para come\u00e7ar, nosso n\u00f3 precisa criar um disco Independente separado no vCloud. Isso garante que nossos dados n\u00e3o desaparecer\u00e3o junto com o cluster, caso ele seja removido. Al\u00e9m disso, vamos conectar o disco ao 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>\nDepois disso, vamos via ssh (voc\u00ea realmente criou as chaves?) para nosso n\u00f3 NFS e terminar de conectar o disco:<\/p>\n<pre><code class=\"plaintext\">root@nfsd-9604:~# parted \/dev\/sdb\n(parted) mklabel gpt\nAten\u00e7\u00e3o: O r\u00f3tulo de disco existente em \/dev\/sdb ser\u00e1 destru\u00eddo e todos os dados nesse disco ser\u00e3o perdidos. Voc\u00ea deseja continuar?\nSim\/N\u00e3o? sim\n(parted) unit GB\n(parted) mkpart primary 0 100\n(parted) print\nModelo: VMware Disco virtual (scsi)\nDisco \/dev\/sdb: 100GB\nTamanho do setor (l\u00f3gico\/f\u00edsico): 512B\/512B\nTabela de parti\u00e7\u00e3o: gpt\nFlags do disco:\n\nN\u00famero  In\u00edcio   Fim    Tamanho   Sistema de arquivos  Nome     Flags\n 1      0.00GB  100GB  100GB               prim\u00e1rio\n\n(parted) quit\nroot@nfsd-9604:~# mkfs -t ext4 \/dev\/sdb1\nCriando sistema de arquivos com 24413696 blocos de 4k e 6111232 inodes\nUUID do sistema de arquivos: 8622c0f5-4044-4ebf-95a5-0372256b34f0\nC\u00f3pias de superbloco armazenadas nos blocos:\n\t32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,\n\t4096000, 7962624, 11239424, 20480000, 23887872\n\nAlocando tabelas de grupo: feito\nEscrevendo tabelas de inode: feito\nCriando journal (32768 blocos): feito\nEscrevendo superblocos e informa\u00e7\u00f5es de contabilidade do sistema de arquivos: feito\n<\/code><\/pre>\n<p>\nCriamos um diret\u00f3rio para os dados e montamos a nova parti\u00e7\u00e3o:<\/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>\nVamos criar cinco parti\u00e7\u00f5es de teste e compartilh\u00e1-las para o cluster:<\/p>\n<pre><code class=\"bash\">&gt;cd \/export\n&gt;mkdir vol1 vol2 vol3 vol4 vol5\n&gt;vi \/etc\/exports\n# Adicione isso ao final do arquivo\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# Em seguida, exportamos as parti\u00e7\u00f5es\n&gt;exportfs -r\n<\/code><\/pre>\n<p>\nAp\u00f3s toda essa m\u00e1gica, podemos criar PV e PVC em nosso cluster da seguinte forma:<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    # O mesmo IP do host NFS ao qual nos conectamos via ssh anteriormente.\n    server: 10.150.200.22\n    path: &quot;\/export\/vol1&quot;\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: &quot;&quot;\n  resources:\n    requests:\n      storage: 10Gi\nEOF\n<\/code><\/pre>\n<p>\nCom isso, a hist\u00f3ria da cria\u00e7\u00e3o de um cluster termina e a hist\u00f3ria do seu ciclo de vida come\u00e7a. Como b\u00f4nus, aqui est\u00e3o mais dois comandos \u00fateis do CSE que podem economizar recursos de forma significativa em algumas ocasi\u00f5es:<\/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>\nObrigado a todos pelo tempo dedicado, se houver perguntas \u2014 fiquem \u00e0 vontade para perguntar nos coment\u00e1rios.<br \/>\n<br \/>Fonte: <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.3 - 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\/pt\/blog\/administrirovanie\/cse-kubernetes-dlya-teh-kto-v-vcloud-e\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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 para quem est\u00e1 no vCloud | ProHoster","description":"Ol\u00e1 a todos! Assim se deu que nossa.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/cse-kubernetes-dlya-teh-kto-v-vcloud-e","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/39249","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=39249"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/39249\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/29455"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=39249"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=39249"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=39249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}