{"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\/ro\/blog\/administrirovanie\/knative-platforma-kak-usluga-na-osnove-k8s-s-podderzhkoj-serverless","title":{"rendered":"Knative \u2014 platform\u0103 ca serviciu bazat\u0103 pe k8s cu suport pentru serverless","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Knative \u2014 platform\u0103 ca serviciu bazat\u0103 pe k8s cu suport pentru serverless\" src=\"\/wp-content\/uploads\/2019\/11\/aea325ba02a1c869e3d4576c46a5ec1e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Platforma dominant\u0103 pentru desf\u0103\u0219urarea containerelor este, f\u0103r\u0103 \u00eendoial\u0103, Kubernetes. Acesta ofer\u0103 posibilitatea de a gestiona aproape totul, folosind API-urile sale \u0219i controlerii utiliza\u021bi de utilizator, care extind API-ul prin resurse personalizate.<\/p>\n<p><\/p>\n<p>Cu toate acestea, utilizatorul trebuie s\u0103 ia \u00een continuare decizii detaliate despre modul \u00een care s\u0103 desf\u0103\u0219oare, s\u0103 configureze, s\u0103 gestioneze \u0219i s\u0103 scaleze aplica\u021biile. \u00centreb\u0103rile legate de scalarea aplica\u021biilor, securitate \u0219i gestionarea traficului r\u0103m\u00e2n la discre\u021bia utilizatorului. Acest aspect distinge Kubernetes de platformele tradi\u021bionale ca serviciu (PaaS), cum ar fi Cloud Foundry \u0219i Heroku.<\/p>\n<p><\/p>\n<p>Platformele au o interfa\u021b\u0103 simplificat\u0103 pentru utilizatori, fiind orientate c\u0103tre dezvoltatorii de aplica\u021bii care se ocup\u0103 frecvent cu configurarea aplica\u021biilor individuale. Rutarea, desf\u0103\u0219urarea \u0219i metricile sunt gestionate transparent pentru utilizator de c\u0103tre sistemul de baz\u0103 PaaS.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Fluxul de lucru \u201ecod surs\u0103 \u2013 livrare\u201d este gestionat de PaaS prin crearea unei imagini personalizate a containerului, desf\u0103\u0219urarea acesteia, configurarea unei noi rute \u0219i a unui subdomeniu DNS pentru traficul entran\u021b. Toate aceste procese sunt ini\u021biate prin comanda <code>git push<\/code>.<\/p>\n<p><\/p>\n<p>\u00cen Kubernetes (intentionat) sunt oferite doar blocurile fundamentale pentru astfel de platforme, l\u0103s\u00e2nd comunit\u0103\u021bii posibilitatea de a-\u0219i realiza aceast\u0103 munc\u0103 singur\u0103. A\u0219a cum <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/kelseyhightower\/status\/935252923721793536\">a spus Kelsey Hightower<\/a><\/noindex>:<\/p>\n<p><\/p>\n<blockquote><p>Kubernetes este o platform\u0103 pentru construirea platformelor. Este cea mai bun\u0103 pozi\u021bie de pornire, dar nu \u0219i de finalizare.<\/p><\/blockquote>\n<p>Ca urmare, observ\u0103m o serie de construc\u021bii Kubernetes, precum \u0219i furnizori de g\u0103zduire care \u00eencearc\u0103 s\u0103 creeze PaaS pentru Kubernetes, precum OpenShift \u0219i Rancher. Pe fondul unei pie\u021be \u00een cre\u0219tere pentru Kube-PaaS, \u00ee\u0219i face apari\u021bia Knative, creat \u00een iulie 2018 de c\u0103tre companiile Google \u0219i Pivotal.<\/p>\n<p><\/p>\n<p>Knative a rezultat dintr-o colaborare \u00eentre Google \u0219i Pivotal, cu o mic\u0103 contribu\u021bie din partea altor companii, cum ar fi IBM, RedHat \u0219i Solo.im. Ofer\u0103 func\u021bii PaaS similare pentru Kubernetes cu suport de prim\u0103 clas\u0103 pentru aplica\u021biile bazate pe calcul f\u0103r\u0103 server. Spre deosebire de construc\u021biile Kubernetes, Knative se instaleaz\u0103 ca un plugin pe orice cluster Kubernetes compatibil, fiind configurat prin resurse personalizate.<\/p>\n<p><\/p>\n<h2 id=\"chto-takoe-knative\">Ce este Knative?<\/h2>\n<p><\/p>\n<p>Knative este descris ca fiind \u201eo platform\u0103 bazat\u0103 pe Kubernetes pentru livrarea \u0219i gestionarea sarcinilor de lucru prin computa\u021bie serverless modern\u0103\u201d. Knative, declar\u00e2ndu-se o astfel de platform\u0103, scalaz\u0103 automat containerele propor\u021bional cu cererile HTTP simultane. Serviciile neutilizate sunt scalate \u00een cele din urm\u0103 la zero, oferind scalare la cerere \u00een stil serverless.<\/p>\n<p><\/p>\n<p>Knative este compus dintr-un set de controllere, instalate \u00een orice cluster Kubernetes, care ofer\u0103 urm\u0103toarele capabilit\u0103\u021bi:<\/p>\n<p><\/p>\n<ul>\n<li>construirea aplica\u021biilor containerizate din codul surs\u0103 (furnizat\u0103 de componenta <em>Build<\/em>),<\/li>\n<li>oferirea accesului pentru traficul extern c\u0103tre aplica\u021bii (furnizat\u0103 de componenta <em>Serving<\/em>),<\/li>\n<li>livrarea \u0219i scalarea automat\u0103 a aplica\u021biilor la cerere (de asemenea, furnizat\u0103 de componenta <em>Serving<\/em>),<\/li>\n<li>definirea surselor de evenimente care duc la lansarea aplica\u021biilor (furnizat\u0103 de componenta <em>Eventing<\/em>).<\/li>\n<\/ul>\n<p><\/p>\n<p>Componenta cheie este Serving, care ofer\u0103 livrarea, scalarea automat\u0103 \u0219i gestionarea trecerii traficului pentru aplica\u021biile gestionate. Dup\u0103 instalarea Knative, r\u0103m\u00e2ne acces complet la API-ul Kubernetes, permi\u021b\u00e2nd utilizatorilor s\u0103 gestioneze aplica\u021biile <em>\u00een mod<\/em> obi\u0219nuit, precum \u0219i s\u0103 depaneze serviciile Knative, lucr\u00e2nd cu acelea\u0219i primitive API pe care aceste servicii le utilizeaz\u0103 (module, servicii etc.).<\/p>\n<p><\/p>\n<p>De asemenea, prin Serving se automatizeaz\u0103 rutarea blue-green a traficului, asigur\u00e2nd \u00eemp\u0103r\u021birea traficului \u00eentre versiunile noi \u0219i cele vechi ale aplica\u021biei la livrarea unei versiuni actualizate a aplica\u021biei de c\u0103tre utilizator.<\/p>\n<p><\/p>\n<p>\u00censu\u0219i Knative depinde de instalarea unui controler ingress compatibil. La momentul redact\u0103rii acestui articol, sunt acceptate <noindex><a rel=\"nofollow\" href=\"https:\/\/gloo.solo.io\/\">Gloo API Gateway<\/a><\/noindex> \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/\">Istio Service Mesh<\/a><\/noindex>. Acesta va configura ingress-ul disponibil pentru rutarea traficului c\u0103tre aplica\u021biile gestionate prin Knative.<\/p>\n<p><\/p>\n<p>Istio Service Mesh poate deveni o dependen\u021b\u0103 mare pentru utilizatorii Knative care doresc s\u0103 \u00eel \u00eencerce f\u0103r\u0103 a instala panoul de control Istio, deoarece Knative depinde doar de gateway.<\/p>\n<p><\/p>\n<p>Din acest motiv, majoritatea utilizatorilor prefer\u0103 Gloo ca gateway pentru Knative, oferind un set similar de func\u021bionalit\u0103\u021bi cu Istio (dac\u0103 ne referim la scopul utiliz\u0103rii doar pentru Knative), utiliz\u00e2nd \u00een acela\u0219i timp semnificativ mai pu\u021bine resurse \u0219i av\u00e2nd costuri opera\u021bionale mai mici.<\/p>\n<p><\/p>\n<p>S\u0103 vedem Knative \u00een ac\u021biune pe un stand. Voi folosi un cluster nou instalat, rulat \u00een 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>S\u0103 \u00eencepem instalarea Knative \u0219i Gloo. Acest lucru se poate face \u00een orice ordine:<\/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>Verific\u0103m c\u0103 toate Pods sunt \u00een statusul \u201eRunning\u201d:<\/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>Gloo este gata s\u0103 routeze, s\u0103 cre\u0103m un serviciu Knative cu scalare automat\u0103 (s\u0103-l numim kservice) \u0219i s\u0103 \u00eei direc\u021bion\u0103m traficul.<\/p>\n<p><\/p>\n<p>Serviciile Knative ofer\u0103 o modalitate mai simpl\u0103 de livrare a aplica\u021biilor \u00een Kubernetes \u2014 comparativ cu modelul tradi\u021bional de Deployment+Service+Ingress. Vom lucra cu un exemplu de acest tip:<\/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: Utilizator Knative<\/code><\/pre>\n<p><\/p>\n<p>Am copiat aceasta \u00eentr-un fi\u0219ier, apoi l-am aplicat \u00een clusterul meu Kubernetes astfel:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">kubectl apply -f ksvc.yaml -n default<\/code><\/pre>\n<p><\/p>\n<p>Putem vizualiza resursele create de Knative \u00een cluster dup\u0103 livrarea \u201ehelloworld-go\u201d <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>Podul cu imaginea noastr\u0103 \u201ehelloworld-go\u201d se lanseaz\u0103 la desf\u0103\u0219urarea kservice. Dac\u0103 nu exist\u0103 trafic, num\u0103rul de poduri se va reduce la zero. Pe de alt\u0103 parte, dac\u0103 num\u0103rul cererilor simultane dep\u0103\u0219e\u0219te o anumit\u0103 valoare de prag configurabil\u0103, num\u0103rul de poduri va cre\u0219te.<\/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>Knative \u00ee\u0219i configureaz\u0103 ingress-ul folosind un resurs\u0103 special\u0103 de \u201eingress\u201d din API-ul intern Knative. Gloo preia acest API ca fiind configura\u021bia sa pentru a oferi propriet\u0103\u021bi specifice PaaS, inclusiv modelul de desf\u0103\u0219urare blue-green, aplicarea automat\u0103 a TLS, timeout-uri \u0219i alte caracteristici avansate de rutare.<\/p>\n<p><\/p>\n<p>Dup\u0103 un timp, observ\u0103m c\u0103 pod-urile noastre au disp\u0103rut (deoarece nu a fost trafic de intrare):<\/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>\u00cen cele din urm\u0103, vom \u00eencerca s\u0103 le acces\u0103m. Ob\u021binerea URL-ului pentru Knative Proxy se face u\u0219or \u0219i simplu folosind <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>F\u0103r\u0103 instalat <code>glooctl<\/code> po\u021bi verifica adresa \u0219i portul \u00een 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>S\u0103 rul\u0103m c\u00e2teva date folosind 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>Knative ofer\u0103 aproape-PaaS pentru dezvoltatori deasupra Kubernetes \u201edin cutie\u201d, folosind un gateway API Gloo cu performan\u021be ridicate \u0219i cuprinz\u0103tor. Aceast\u0103 not\u0103 a atins doar pu\u021bin num\u0103rul extins de posibilit\u0103\u021bi Knative disponibile pentru configurare, precum \u0219i func\u021bii suplimentare. La fel \u0219i cu Gloo!<\/p>\n<p><\/p>\n<p>De\u0219i Knative este \u00eenc\u0103 un proiect t\u00e2n\u0103r, echipa sa lanseaz\u0103 versiuni noi la fiecare \u0219ase s\u0103pt\u0103m\u00e2ni, iar implementarea caracteristicilor avansate, cum ar fi desf\u0103\u0219urarea automat\u0103 TLS \u0219i scalarea automat\u0103 a panoului de control, a \u00eenceput. Exist\u0103 o probabilitate mare ca, datorit\u0103 colabor\u0103rii dintre numeroase companii de cloud \u0219i ca baz\u0103 pentru noua ofert\u0103 Cloud Run de la Google, Knative s\u0103 devin\u0103 op\u021biunea principal\u0103 pentru organizarea calculelor serverless \u0219i PaaS \u00een Kubernetes. R\u0103m\u00e2ne\u021bi la curent cu nout\u0103\u021bile!<\/p>\n<p><\/p>\n<p><em>Din partea redac\u021biei SouthBridge<\/em><br \/>\nNe pas\u0103 de opinia cititorilor, a\u0219a c\u0103 v\u0103 cerem s\u0103 participa\u021bi la un scurt sondaj legat de articolele viitoare despre Knative, Kubernetes \u0219i computa\u021bia serverless:<\/p>\n<p class=\"for_users_only_msg\">Numai utilizatorii \u00eenregistra\u021bi pot participa la sondaj. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Conecta\u021bi-v\u0103<\/a><\/noindex>, v\u0103 rug\u0103m.<\/p>\n<h2 class=\"default-block__polling-title\">Ar trebui s\u0103 continui s\u0103 scriu articole \u0219i ghiduri despre Knative \u0219i computa\u021bia serverless?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Da, te rog.<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Mul\u021bumesc, nu este necesar.<\/p>\n<\/li>\n<\/ul>\n<p>    Au votat 28 de utilizatori. 4 utilizatori s-au ab\u021binut.<br \/>\n<br \/>Sursa: <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.2.1 - 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\/ro\/blog\/administrirovanie\/knative-platforma-kak-usluga-na-osnove-k8s-s-podderzhkoj-serverless\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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 platform\u0103 ca servicii bazat\u0103 pe k8s cu suport pentru serverless | ProHoster","description":"Dominant.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/knative-platforma-kak-usluga-na-osnove-k8s-s-podderzhkoj-serverless","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/52709","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=52709"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/52709\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/52710"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=52709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=52709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=52709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}