{"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\/fr\/blog\/administrirovanie\/knative-platforma-kak-usluga-na-osnove-k8s-s-podderzhkoj-serverless","title":{"rendered":"Knative \u2014 une plateforme en tant que service bas\u00e9e sur k8s avec support serverless","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Knative \u2014 une plateforme en tant que service bas\u00e9e sur k8s avec support serverless\" src=\"\/wp-content\/uploads\/2019\/11\/aea325ba02a1c869e3d4576c46a5ec1e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kubernetes est sans aucun doute la plateforme dominante pour le d\u00e9ploiement de conteneurs. Elle offre la possibilit\u00e9 de g\u00e9rer presque tout en utilisant ses API et des contr\u00f4leurs personnalis\u00e9s qui \u00e9tendent son API via des ressources personnalis\u00e9es.<\/p>\n<p><\/p>\n<p>Cependant, l'utilisateur doit toujours prendre des d\u00e9cisions d\u00e9taill\u00e9es sur la mani\u00e8re exacte de d\u00e9ployer, configurer, g\u00e9rer et mettre \u00e0 l'\u00e9chelle ses applications. Les questions relatives \u00e0 la mise \u00e0 l'\u00e9chelle des applications, \u00e0 la s\u00e9curit\u00e9 et au trafic restent \u00e0 la discr\u00e9tion de l'utilisateur. C'est ce qui distingue Kubernetes des plateformes classiques \u00ab en tant que service \u00bb (PaaS), telles que Cloud Foundry et Heroku.<\/p>\n<p><\/p>\n<p>Les plateformes disposent d'une interface utilisateur simplifi\u00e9e, ax\u00e9e sur les d\u00e9veloppeurs d'applications, qui sont le plus souvent engag\u00e9s dans la configuration d'applications individuelles. Le routage, le d\u00e9ploiement et les m\u00e9triques sont g\u00e9r\u00e9s de mani\u00e8re transparente pour l'utilisateur par le syst\u00e8me PaaS sous-jacent.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Le flux de travail \u00ab code source \u2013 livraison \u00bb est g\u00e9r\u00e9 par le PaaS en cr\u00e9ant une image de conteneur personnalis\u00e9e, en la d\u00e9ployant, en configurant une nouvelle route et un sous-domaine DNS pour le trafic entrant. Tout cela est ex\u00e9cut\u00e9 sur commande. <code>git push<\/code>.<\/p>\n<p><\/p>\n<p>Kubernetes fournit (intentionnellement) uniquement les blocs de base pour de telles plateformes, laissant \u00e0 la communaut\u00e9 le soin de faire ce travail elle-m\u00eame. Comme <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/kelseyhightower\/status\/935252923721793536\">l'a dit Kelsey Hightower,<\/a><\/noindex>:<\/p>\n<p><\/p>\n<blockquote><p>Kubernetes est une plateforme pour construire des plateformes. C'est le meilleur point de d\u00e9part, mais pas la fin.<\/p><\/blockquote>\n<p>En cons\u00e9quence, nous voyons une multitude de distributions Kubernetes, ainsi que des h\u00e9bergeurs qui tentent de cr\u00e9er un PaaS pour Kubernetes, comme OpenShift et Rancher. Dans le contexte d'un march\u00e9 Kube-PaaS en pleine expansion, Knative entre sur le ring, cr\u00e9\u00e9 en juillet 2018 par Google et Pivotal.<\/p>\n<p><\/p>\n<p>Knative est le r\u00e9sultat d'une collaboration entre Google et Pivotal, avec le soutien limit\u00e9 d'autres entreprises, telles qu'IBM, RedHat et Solo.im. Il propose des fonctionnalit\u00e9s PaaS similaires pour Kubernetes avec un support de premier ordre pour les applications bas\u00e9es sur le calcul sans serveur. Contrairement aux distributions Kubernetes, Knative s'installe en tant que compl\u00e9ment sur tout cluster Kubernetes compatible, et se configure via des ressources personnalis\u00e9es.<\/p>\n<p><\/p>\n<h2 id=\"chto-takoe-knative\">Qu'est-ce que Knative ?<\/h2>\n<p><\/p>\n<p>Knative est d\u00e9crit comme \u00ab une plateforme bas\u00e9e sur Kubernetes pour la gestion et la livraison des charges de travail gr\u00e2ce \u00e0 des calculs sans serveur modernes \u00bb. Knative, en se pr\u00e9sentant comme une telle plateforme, \u00e9volue automatiquement les conteneurs en fonction des requ\u00eates HTTP simultan\u00e9es. Les services non utilis\u00e9s finissent par \u00eatre r\u00e9duits \u00e0 z\u00e9ro, offrant une scalabilit\u00e9 \u00e0 la demande dans un style de calcul sans serveur.<\/p>\n<p><\/p>\n<p>Knative se compose d'un ensemble de contr\u00f4leurs install\u00e9s dans n'importe quel cluster Kubernetes et fournissant les fonctionnalit\u00e9s suivantes :<\/p>\n<p><\/p>\n<ul>\n<li>assemblage d'applications conteneuris\u00e9es \u00e0 partir de code source (fourni par le composant <em>Build<\/em>),<\/li>\n<li>fournir l'acc\u00e8s au trafic entrant vers les applications (fourni par le composant <em>Serving<\/em>),<\/li>\n<li>livraison et dimensionnement automatique des applications \u00e0 la demande (\u00e9galement fourni par le composant <em>Serving<\/em>),<\/li>\n<li>d\u00e9finition des sources d'\u00e9v\u00e9nements d\u00e9clenchant l'ex\u00e9cution des applications (fourni par le composant <em>Eventing<\/em>).<\/li>\n<\/ul>\n<p><\/p>\n<p>Le composant cl\u00e9 est Serving, qui fournit la livraison, le dimensionnement automatique et la gestion du passage du trafic pour les applications g\u00e9r\u00e9es. Apr\u00e8s l'installation de Knative, l'acc\u00e8s complet \u00e0 l'API Kubernetes demeure, permettant aux utilisateurs de g\u00e9rer les applications <em>de mani\u00e8re<\/em> classique, tout en servant \u00e0 d\u00e9boguer les services Knative, utilisant les m\u00eames primitives API que ces services (modules, services, etc.).<\/p>\n<p><\/p>\n<p>Avec Serving, la routage blue-green du trafic est \u00e9galement automatis\u00e9, garantissant la r\u00e9partition du trafic entre les nouvelles et anciennes versions de l'application lors de la fourniture d'une version mise \u00e0 jour par l'utilisateur.<\/p>\n<p><\/p>\n<p>Knative d\u00e9pend \u00e9galement de l'installation d'un contr\u00f4leur ingress compatible. Au moment de la r\u00e9daction de cet article, les suivants sont pris en charge : <noindex><a rel=\"nofollow\" href=\"https:\/\/gloo.solo.io\/\">Gloo API Gateway<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/\">Istio Service Mesh<\/a><\/noindex>. Il configurera l'ingress disponible pour router le trafic vers les applications g\u00e9r\u00e9es par Knative.<\/p>\n<p><\/p>\n<p>Istio Service Mesh peut \u00eatre une d\u00e9pendance importante pour les utilisateurs de Knative qui souhaitent l'essayer sans installer le tableau de bord Istio, car Knative d\u00e9pend uniquement de la passerelle.<\/p>\n<p><\/p>\n<p>Pour cette raison, la plupart des utilisateurs pr\u00e9f\u00e8rent Gloo comme passerelle pour Knative, car elle offre un ensemble de fonctionnalit\u00e9s similaire \u00e0 celui d'Istio (si l'on consid\u00e8re uniquement l'utilisation de Knative), tout en consommant beaucoup moins de ressources et en entra\u00eenant des co\u00fbts d'exploitation inf\u00e9rieurs.<\/p>\n<p><\/p>\n<p>Testons Knative en action sur notre stand. Je vais utiliser un cluster fra\u00eechement install\u00e9, lanc\u00e9 dans 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>Commen\u00e7ons l'installation de Knative et Gloo. Cela peut \u00eatre fait dans n'importe quel ordre :<\/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>V\u00e9rifions que tous les Pods sont en statut \u00ab Running \u00bb :<\/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 est pr\u00eat \u00e0 router, cr\u00e9ons un service Knative \u00e9volutif automatiquement (appelons-le kservice) et dirigeons-y le trafic.<\/p>\n<p><\/p>\n<p>Les services Knative offrent une mani\u00e8re plus simple de d\u00e9ployer des applications dans Kubernetes \u2014 par rapport au mod\u00e8le habituel Deployment+Service+Ingress. Travaillons avec un exemple comme celui-ci :<\/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: Utilisateur Knative<\/code><\/pre>\n<p><\/p>\n<p>J'ai copi\u00e9 cela dans un fichier, puis je l'ai appliqu\u00e9 \u00e0 mon cluster Kubernetes de cette mani\u00e8re :<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">kubectl apply -f ksvc.yaml -n default<\/code><\/pre>\n<p><\/p>\n<p>Nous pouvons consulter les ressources cr\u00e9\u00e9es par Knative dans le cluster apr\u00e8s avoir d\u00e9ploy\u00e9 notre \u2018helloworld-go\u2019 <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>Le Pod avec notre image \u2018helloworld-go\u2019 se lance lors du d\u00e9ploiement du kservice. Si aucun trafic n'est pr\u00e9sent, le nombre de pods sera r\u00e9duit \u00e0 z\u00e9ro. Inversement, si le nombre de requ\u00eates simultan\u00e9es d\u00e9passe un certain seuil configurable, le nombre de pods augmentera.<\/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 configure son ingress en utilisant une ressource \u2018ingress\u2019 sp\u00e9cifique dans l'API interne de Knative. Gloo utilise cette API comme sa configuration pour fournir des caract\u00e9ristiques typiques des PaaS, y compris le mod\u00e8le de d\u00e9ploiement bleu-vert, la mise en \u0153uvre automatique de TLS, des d\u00e9lais d'attente et d'autres fonctionnalit\u00e9s avanc\u00e9es de routage.<\/p>\n<p><\/p>\n<p>Apr\u00e8s un certain temps, nous constatons que nos pods ont disparu (en raison de l'absence de trafic entrant) :<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">kubectl get pod -n default\n\nAucune ressource trouv\u00e9e.\nkubectl get deployment -n default\nNOM                             SOUHAIT\u00c9   ACTUEL   \u00c0 JOUR   DISPONIBLE   \u00c2GE\nhelloworld-go-fjp75-deployment   0         0         0            0           9m46s<\/code><\/pre>\n<p><\/p>\n<p>Enfin, nous allons essayer de les atteindre. Obtenir l'URL pour le proxy Knative est facile et sans effort gr\u00e2ce \u00e0 <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>Sans install\u00e9 <code>glooctl<\/code> vous pouvez voir l'adresse et le port dans le service kube :<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">kubectl get svc -n gloo-system knative-external-proxy\nNOM                     TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)                      \u00c2GE\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>Faisons circuler quelques donn\u00e9es avec cURL :<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">curl -H \"Host: helloworld-go.default.example.com\" http:\/\/35.190.151.188\nBonjour utilisateur Knative !<\/code><\/pre>\n<p><\/p>\n<p>Knative offre une sorte de presque-PaaS pour les d\u00e9veloppeurs au-dessus de Kubernetes \u00ab pr\u00eat \u00e0 l'emploi \u00bb, utilisant une passerelle API Gloo haute performance et fonctionnelle. Cette note a \u00e0 peine effleur\u00e9 le large \u00e9ventail de possibilit\u00e9s de configuration de Knative, ainsi que des fonctionnalit\u00e9s suppl\u00e9mentaires. Il en va de m\u00eame pour Gloo !<\/p>\n<p><\/p>\n<p>Bien que Knative soit encore un projet jeune, son \u00e9quipe publie de nouvelles versions toutes les six semaines, et la mise en place de fonctionnalit\u00e9s avanc\u00e9es, comme le d\u00e9ploiement automatique de TLS, le dimensionnement automatique du tableau de bord, a commenc\u00e9. Il est fort probable qu'en raison de la collaboration de nombreuses entreprises cloud, ainsi qu'en tant que base de la nouvelle offre Cloud Run de Google, Knative puisse devenir une option de premier plan pour la mise en place de calculs sans serveur et de PaaS sur Kubernetes. Restez \u00e0 l'\u00e9coute !<\/p>\n<p><\/p>\n<p><em>De la r\u00e9daction de SouthBridge<\/em><br \/>\nNous sommes soucieux de l'opinion de nos lecteurs, c'est pourquoi nous vous invitons \u00e0 participer \u00e0 un court sondage concernant les futurs articles sur Knative, Kubernetes, et le calcul sans serveur :<\/p>\n<p class=\"for_users_only_msg\">Seuls les utilisateurs enregistr\u00e9s peuvent participer au sondage. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Connectez-vous<\/a><\/noindex>, s'il vous pla\u00eet.<\/p>\n<h2 class=\"default-block__polling-title\">Voudriez-vous que nous continuions \u00e0 \u00e9crire des articles et des guides sur Knative et le calcul sans serveur ?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Oui, s'il vous pla\u00eet.<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Merci, pas besoin.<\/p>\n<\/li>\n<\/ul>\n<p>    28 utilisateurs ont vot\u00e9. 4 utilisateurs se sont abstenus.<br \/>\n<br \/>Source : <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 - 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\/fr\/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\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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 une plateforme en tant que service bas\u00e9e sur k8s avec support serverless | ProHoster","description":"Dominant.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/knative-platforma-kak-usluga-na-osnove-k8s-s-podderzhkoj-serverless","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/52709","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=52709"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/52709\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/52710"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=52709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=52709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=52709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}