{"id":52709,"date":"2019-11-15T00:00:00","date_gmt":"2019-11-14T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/knative-platforma-kak-usluga-na-osnove-k8s-s-podderzhkoj-serverless"},"modified":"2020-02-18T14:00:30","modified_gmt":"2020-02-18T11:00:30","slug":"knative-platforma-kak-usluga-na-osnove-k8s-s-podderzhkoj-serverless","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/knative-platforma-kak-usluga-na-osnove-k8s-s-podderzhkoj-serverless","title":{"rendered":"Knative \u2014 plataforma como servi\u00e7o baseada em k8s com suporte a serverless","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Knative \u2014 plataforma como servi\u00e7o baseada em k8s com suporte a serverless\" src=\"\/wp-content\/uploads\/2019\/11\/aea325ba02a1c869e3d4576c46a5ec1e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A plataforma dominante para a implanta\u00e7\u00e3o de cont\u00eaineres, sem d\u00favida, tem sido o Kubernetes. Ele oferece a capacidade de gerenciar quase tudo usando suas APIs e controladores personalizados, que expandem sua API por meio de recursos personalizados.<\/p>\n<p><\/p>\n<p>No entanto, o usu\u00e1rio ainda precisa tomar decis\u00f5es detalhadas sobre como implementar, configurar, gerenciar e escalar aplica\u00e7\u00f5es. Quest\u00f5es como escalabilidade da aplica\u00e7\u00e3o, seguran\u00e7a e gerenciamento de tr\u00e1fego permanecem a crit\u00e9rio do usu\u00e1rio. Isso diferencia o Kubernetes de plataformas convencionais de \"plataforma como servi\u00e7o\" (PaaS), como Cloud Foundry e Heroku.<\/p>\n<p><\/p>\n<p>As plataformas possuem uma interface de usu\u00e1rio simplificada, orientadas para desenvolvedores de aplicativos, que frequentemente lidam com a configura\u00e7\u00e3o de aplicativos individuais. O gerenciamento de roteamento, implanta\u00e7\u00e3o e m\u00e9tricas \u00e9 transpar\u00eancia gerido pela base do sistema PaaS.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>O fluxo de trabalho \"c\u00f3digo fonte \u2013 entrega\" \u00e9 tratado pelo PaaS por meio da cria\u00e7\u00e3o de uma imagem de cont\u00eainer personalizada, sua implanta\u00e7\u00e3o, configura\u00e7\u00e3o de uma nova rota e subdom\u00ednio DNS para tr\u00e1fego de entrada. Tudo isso \u00e9 acionado por comando <code>git push<\/code>.<\/p>\n<p><\/p>\n<p>No Kubernetes (de forma intencional) s\u00e3o fornecidos apenas os blocos b\u00e1sicos para tais plataformas, permitindo \u00e0 comunidade fazer esse trabalho por conta pr\u00f3pria. Como <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/kelseyhightower\/status\/935252923721793536\">disse Kelsey Hightower<\/a><\/noindex>:<\/p>\n<p><\/p>\n<blockquote><p>Kubernetes \u00e9 uma plataforma para construir plataformas. Um \u00f3timo ponto de partida, mas n\u00e3o um final.<\/p><\/blockquote>\n<p>Como resultado, vemos uma s\u00e9rie de distribui\u00e7\u00f5es do Kubernetes, al\u00e9m de provedores de hospedagem que tentam criar PaaS para Kubernetes, como OpenShift e Rancher. Em um mercado crescente de Kube-PaaS, surge o Knative, criado em julho de 2018 pelas empresas Google e Pivotal.<\/p>\n<p><\/p>\n<p>O Knative surgiu da colabora\u00e7\u00e3o entre Google e Pivotal, com alguma ajuda de outras empresas, como IBM, RedHat e Solo.im. Ele oferece funcionalidades semelhantes ao PaaS para Kubernetes com suporte de primeira linha a aplicativos baseados em computa\u00e7\u00e3o sem servidor. Ao contr\u00e1rio das distribui\u00e7\u00f5es do Kubernetes, o Knative \u00e9 instalado como um complemento em qualquer cluster Kubernetes compat\u00edvel, sendo configurado atrav\u00e9s de recursos personalizados.<\/p>\n<p><\/p>\n<h2 id=\"chto-takoe-knative\">O que \u00e9 Knative?<\/h2>\n<p><\/p>\n<p>O Knative \u00e9 descrito como \"Uma plataforma baseada em Kubernetes para entrega e gerenciamento de cargas de trabalho usando computa\u00e7\u00e3o sem servidor moderna\". Ao se declarar essa plataforma, o Knative escala automaticamente os cont\u00eaineres proporcionalmente ao n\u00famero de solicita\u00e7\u00f5es HTTP simult\u00e2neas. Os servi\u00e7os n\u00e3o utilizados eventualmente s\u00e3o escalados para zero, fornecendo escalabilidade sob demanda no estilo de computa\u00e7\u00e3o sem servidor.<\/p>\n<p><\/p>\n<p>Knative consiste em um conjunto de controladores que podem ser instalados em qualquer cluster Kubernetes e oferecem as seguintes funcionalidades:<\/p>\n<p><\/p>\n<ul>\n<li>compila\u00e7\u00e3o de aplicativos empacotados em cont\u00eaineres a partir do c\u00f3digo-fonte (fornecido pelo componente <em>Build<\/em>),<\/li>\n<li>fornecimento de acesso ao tr\u00e1fego de entrada para os aplicativos (fornecido pelo componente <em>Serving<\/em>),<\/li>\n<li>fornecimento e escalabilidade autom\u00e1tica de aplicativos sob demanda (tamb\u00e9m fornecido pelo componente <em>Serving<\/em>),<\/li>\n<li>defini\u00e7\u00e3o de fontes de eventos que disparam a execu\u00e7\u00e3o de aplicativos (fornecido pelo componente <em>Eventing<\/em>).<\/li>\n<\/ul>\n<p><\/p>\n<p>O componente principal \u00e9 o Serving, que fornece entrega, escalabilidade autom\u00e1tica e gerenciamento do tr\u00e1fego para aplicativos gerenciados. Ap\u00f3s a instala\u00e7\u00e3o do Knative, o acesso completo \u00e0 API do Kubernetes ainda est\u00e1 dispon\u00edvel, permitindo que os usu\u00e1rios gerenciem aplicativos <em>da maneira<\/em> habitual, al\u00e9m de servir para depurar servi\u00e7os Knative, trabalhando com os mesmos primitivos da API que esses servi\u00e7os utilizam (m\u00f3dulos, servi\u00e7os, etc.).<\/p>\n<p><\/p>\n<p>Com o Serving, tamb\u00e9m \u00e9 automatizada a rotea\u00e7\u00e3o blue-green, garantindo a divis\u00e3o do tr\u00e1fego entre novas e antigas vers\u00f5es do aplicativo ao entregar uma vers\u00e3o atualizada do aplicativo pelo usu\u00e1rio.<\/p>\n<p><\/p>\n<p>O Knative depende da instala\u00e7\u00e3o de um controlador de ingress compat\u00edvel. No momento da reda\u00e7\u00e3o deste artigo, s\u00e3o suportados <noindex><a rel=\"nofollow\" href=\"https:\/\/gloo.solo.io\/\">Gloo API Gateway<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/\">Istio Service Mesh<\/a><\/noindex>. Ele configurar\u00e1 o ingress dispon\u00edvel para rotear o tr\u00e1fego para os aplicativos gerenciados pelo Knative.<\/p>\n<p><\/p>\n<p>O Istio Service Mesh pode se tornar uma grande depend\u00eancia para usu\u00e1rios do Knative que desejam experiment\u00e1-lo sem instalar o painel de controle do Istio, j\u00e1 que o Knative depende apenas do gateway.<\/p>\n<p><\/p>\n<p>Por esse motivo, a maioria dos usu\u00e1rios prefere o Gloo como gateway para o Knative, que oferece um conjunto semelhante de funcionalidades ao Istio (no que diz respeito ao uso do Knative), al\u00e9m de utilizar significativamente menos recursos e ter menores custos operacionais.<\/p>\n<p><\/p>\n<p>Vamos verificar o Knative em a\u00e7\u00e3o em um ambiente de teste. Vou usar um cluster rec\u00e9m-instalado, executado no GKE:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">kubectl get namespace\nNAME          STATUS   AGE\ndefault       Active   21h\nkube-public   Active   21h\nkube-system   Active   21h<\/code><\/pre>\n<p><\/p>\n<p>Vamos come\u00e7ar a instala\u00e7\u00e3o do Knative e do Gloo. Isso pode ser feito em qualquer ordem:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\"># \u0441\u0442\u0430\u0432\u0438\u043c Knative-Serving\nkubectl apply -f \n https:\/\/github.com\/knative\/serving\/releases\/download\/v0.8.0\/serving-core.yaml\nnamespace\/knative-serving created\n# ...\n# \u0441\u0442\u0430\u0432\u0438\u043c Gloo\nkubectl apply -f \n  https:\/\/github.com\/solo-io\/gloo\/releases\/download\/v0.18.22\/gloo-knative.yaml\nnamespace\/gloo-system created\n# ...<\/code><\/pre>\n<p><\/p>\n<p>Verificamos se todos os Pods est\u00e3o no status \"Running\":<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">kubectl get pod -n knative-serving\nNAME                              READY   STATUS    RESTARTS   AGE\nactivator-5dd55958cc-fkp7r        1\/1     Running   0          7m32s\nautoscaler-fd66459b7-7d5s2        1\/1     Running   0          7m31s\nautoscaler-hpa-85b5667df4-mdjch   1\/1     Running   0          7m32s\ncontroller-85c8bb7ffd-nj9cs       1\/1     Running   0          7m29s\nwebhook-5bd79b5c8b-7czrm          1\/1     Running   0          7m29s\nkubectl get pod -n gloo-system\nNAME                                      READY   STATUS    RESTARTS   AGE\ndiscovery-69548c8475-fvh7q                1\/1     Running   0          44s\ngloo-5b6954d7c7-7rfk9                     1\/1     Running   0          45s\ningress-6c46cdf6f6-jwj7m                  1\/1     Running   0          44s\nknative-external-proxy-7dd7665869-x9xkg   1\/1     Running   0          44s\nknative-internal-proxy-7775476875-9xvdg   1\/1     Running   0          44s<\/code><\/pre>\n<p><\/p>\n<p>O Gloo est\u00e1 pronto para rotear, vamos criar um servi\u00e7o Knative escal\u00e1vel automaticamente (vamos cham\u00e1-lo de kservice) e direcionar o tr\u00e1fego a ele.<\/p>\n<p><\/p>\n<p>Os servi\u00e7os Knative oferecem um caminho mais leve para a entrega de aplica\u00e7\u00f5es no Kubernetes \u2014 em compara\u00e7\u00e3o com o modelo tradicional de Deployment+Service+Ingress. Vamos trabalhar com o seguinte exemplo:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">apiVersion: serving.knative.dev\/v1alpha1\nkind: Service\nmetadata:\n name: helloworld-go\n namespace: default\nspec:\n template:\n   spec:\n     containers:\n       - image: gcr.io\/knative-samples\/helloworld-go\n         env:\n           - name: TARGET\n             Value: Knative user<\/code><\/pre>\n<p><\/p>\n<p>Copiei isso para um arquivo, e depois apliquei ao meu cluster Kubernetes assim:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">kubectl apply -f ksvc.yaml -n default<\/code><\/pre>\n<p><\/p>\n<p>Podemos visualizar os recursos criados pelo Knative no cluster ap\u00f3s a entrega do nosso 'helloworld-go' <em>kservice<\/em>:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">kubectl get pod -n default\nNAME                                              READY   STATUS    RESTARTS   AGE\nhelloworld-go-fjp75-deployment-678b965ccb-sfpn8   2\/2     Running   0          68s<\/code><\/pre>\n<p><\/p>\n<p>O Pod com nossa imagem 'helloworld-go' \u00e9 iniciado ao implantar o kservice. Se n\u00e3o houver tr\u00e1fego, o n\u00famero de pods ser\u00e1 reduzido a zero. E vice-versa, se o n\u00famero de solicita\u00e7\u00f5es simult\u00e2neas ultrapassar um certo limite configur\u00e1vel, o n\u00famero de pods aumentar\u00e1.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">kubectl get ingresses.networking.internal.knative.dev -n default\nNAME            READY   REASON\nhelloworld-go   True<\/code><\/pre>\n<p><\/p>\n<p>O Knative configura seu ingress usando um recurso especial de 'ingress' na API interna do Knative. O Gloo utiliza essa API como sua configura\u00e7\u00e3o para fornecer caracter\u00edsticas t\u00edpicas de PaaS, incluindo modelo de implanta\u00e7\u00e3o blue-green, aplica\u00e7\u00e3o autom\u00e1tica de TLS, timeouts e outras funcionalidades avan\u00e7adas de roteamento.<\/p>\n<p><\/p>\n<p>Ap\u00f3s algum tempo, percebemos que nossos pods desapareceram (j\u00e1 que n\u00e3o havia tr\u00e1fego de entrada):<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">kubectl get pod -n default\n\nNo resources found.\nkubectl get deployment -n default\nNAME                             DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE\nhelloworld-go-fjp75-deployment   0         0         0            0           9m46s<\/code><\/pre>\n<p><\/p>\n<p>Finalmente, tentaremos alcan\u00e7\u00e1-los. Obter a URL para o Knative Proxy \u00e9 f\u00e1cil e descomplicado usando <code>glooctl<\/code>:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">glooctl proxy url --name knative-external-proxy\nhttp:\/\/35.190.151.188:80<\/code><\/pre>\n<p><\/p>\n<p>Sem estar instalado <code>glooctl<\/code> pode-se espiar o endere\u00e7o e a porta no kube service:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">kubectl get svc -n gloo-system knative-external-proxy\nNAME                     TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)                      AGE\nknative-external-proxy   LoadBalancer   10.16.11.157   35.190.151.188   80:32168\/TCP,443:30729\/TCP   77m<\/code><\/pre>\n<p><\/p>\n<p>Vamos rodar alguns dados usando cURL:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">curl -H \"Host: helloworld-go.default.example.com\" http:\/\/35.190.151.188\nHello Knative user!<\/code><\/pre>\n<p><\/p>\n<p>O Knative fornece uma quase-PaaS para desenvolvedores sobre o Kubernetes 'pronto para uso', usando um gateway de API Gloo de alto desempenho e completamente funcional. Esta nota abordou apenas superficialmente as amplas possibilidades de configura\u00e7\u00e3o do Knative, assim como suas funcionalidades adicionais. O mesmo vale para o Gloo!<\/p>\n<p><\/p>\n<p>Embora o Knative ainda seja um projeto jovem, sua equipe lan\u00e7a novas vers\u00f5es a cada seis semanas, e a implementa\u00e7\u00e3o de recursos avan\u00e7ados, como a implanta\u00e7\u00e3o autom\u00e1tica de TLS e o escalonamento autom\u00e1tico do painel de controle, j\u00e1 foi iniciada. H\u00e1 uma alta probabilidade de que, como resultado da colabora\u00e7\u00e3o de v\u00e1rias empresas de nuvem, al\u00e9m de servir como base para a nova oferta Cloud Run da Google, o Knative possa se tornar a op\u00e7\u00e3o principal para a realiza\u00e7\u00e3o de computa\u00e7\u00e3o sem servidor e PaaS no Kubernetes. Fique atento \u00e0s novidades!<\/p>\n<p><\/p>\n<p><em>Da reda\u00e7\u00e3o da SouthBridge<\/em><br \/>\n\u00c9 importante para n\u00f3s a opini\u00e3o dos leitores, por isso pedimos que voc\u00ea participe de uma r\u00e1pida pesquisa relacionada a futuros artigos sobre Knative, Kubernetes e computa\u00e7\u00e3o sem servidor:<\/p>\n<p class=\"for_users_only_msg\">Apenas usu\u00e1rios registrados podem participar da pesquisa. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Entre<\/a><\/noindex>, por favor.<\/p>\n<h2 class=\"default-block__polling-title\">Voc\u00ea gostaria de continuar traduzindo e escrevendo artigos e guias sobre Knative e computa\u00e7\u00e3o sem servidor?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Sim, por favor.<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Obrigado, n\u00e3o preciso.<\/p>\n<\/li>\n<\/ul>\n<p>    28 usu\u00e1rios votaram. 4 usu\u00e1rios se abstiveram.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/475630\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u043c\u0438\u043d\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u043d\u0435\u0441\u043e\u043c\u043d\u0435\u043d\u043d\u043e, \u0441\u0442\u0430\u043b Kubernetes. \u041e\u043d \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0432\u043e\u0438 API \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b, \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u044e\u0449\u0438\u0435 \u0435\u0433\u043e API \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0441\u0435 \u0435\u0449\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c, \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c, \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041d\u0430 \u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0437\u0430\u0449\u0438\u0442\u044b, \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":52710,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-52709","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=\"\u0414\u043e\u043c\u0438\u043d\u0438\u0440\u0443\u044e\u0449\u0435\u0439.\" \/>\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\/knative-platforma-kak-usluga-na-osnove-k8s-s-podderzhkoj-serverless\" \/>\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\udd47Knative \u2014 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u043a\u0430\u043a \u0443\u0441\u043b\u0443\u0433\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 k8s \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 serverless | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u043c\u0438\u043d\u0438\u0440\u0443\u044e\u0449\u0435\u0439.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/knative-platforma-kak-usluga-na-osnove-k8s-s-podderzhkoj-serverless\" \/>\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-11-14T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:00:30+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\udd47Knative \u2014 plataforma como servi\u00e7o baseada em k8s com suporte a serverless | ProHoster","description":"Dominante.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/knative-platforma-kak-usluga-na-osnove-k8s-s-podderzhkoj-serverless","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\udd47Knative \u2014 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u043a\u0430\u043a \u0443\u0441\u043b\u0443\u0433\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 k8s \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 serverless | ProHoster","og:description":"\u0414\u043e\u043c\u0438\u043d\u0438\u0440\u0443\u044e\u0449\u0435\u0439.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/knative-platforma-kak-usluga-na-osnove-k8s-s-podderzhkoj-serverless","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-11-14T21:00:00+00:00","article:modified_time":"2020-02-18T11:00:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"52709","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 04:33:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:38:24","updated":"2026-01-24 04:33:21","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\/52709","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=52709"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/52709\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/52710"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=52709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=52709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=52709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}