Comment choisir en fonction Kubernetes de PaaS?

Auteur | Bram Dingelstad

Traducteur | ménisque, Zebian | Guo Rui

Figure Head | RPSC téléchargé à partir de la Chine Vision

Produit | RPSC (ID: CSDNnews)

Ce qui suit est la traduction:

Nous avons rencontré cette situation: quelqu'un trouve un bug, mais ce n'est pas un bug logiciel ordinaire, même pas un bug dans le sens habituel, est la question de savoir qui son essence: les développeurs suivent aveuglément la tendance.

Ce bug un peu au début, il était dans le hall d'adopter de nouvelles technologies, ou d'adopter un nouveau module dans le projet, mais sans le vouloir, plein d'éléments étranges et battage documents, affirmant que seul besoin trois étapes peuvent résoudre vos problèmes d'affaires! Cependant, pour résoudre vraiment le problème, il semble aussi besoin de dépenser plus d'efforts.

Nous avons rencontré une telle situation, mais on est une situation similaire Kubernetes l'an dernier projet nommé. Certaines entreprises et les équipes ont été inondées Kubernetes, certaines entreprises ne sont pas encore dans la fosse. Je suis au milieu, à commencer juste pour construire un système super-complexe prêt à entrer dans la fosse. Mais avant cela, je voudrais expliquer comment déployer une simple plate-forme de classe PaaS sur Kubernetes.

Trouver le type parfait de PaaS

Où commencer? Il doit y avoir un moyen parfait, non? Peut-être, nous une recherche:

Ah ...... De toute évidence, K8S pas PaaS. Je veux construire au-dessus de PaaS PaaS, plutôt que comme l'utilisation d'un PaaS.

Alors comment faire? Au premier tour d'étude sur HackerNews elle! J'ai finalement trouvé un bon article (https://hn.algolia.com/?dateRange=all&page=0&prefix=false&query=paas%20kubernetes&sort=byPopularity&type=story), a trouvé une liste impressionnante aussi sur GitHub ( https://github.com/ramitsurana/awesome-kubernetes).

Après une recherche minutieuse, j'ai énuméré quelques-uns du candidat du projet:

  • Knative

  • Nuage OpenFaas

  • Convox

  • jardin

  • Rio

Il y a beaucoup d'autres projets alternatifs, certains projets que j'ai jamais essayé, pas trop actif dans un certain nombre de projets, certains projets apparemment utilisés pour les grandes entreprises.

mon cas

Ma situation est comme? Nous avons besoin d'électricité pour faire fonctionner un site d'entreprise sur une goutte de base Digital Ocean, avec seulement un Wordpress simple. Bien que seulement besoin d'un simple script bash peut construire le site, mais aussi de construire un serveur dans le test local, mais je veux être une plate-forme standard de l'industrie, plutôt qu'un script simple. Écrire le script très intéressant, leur propre pile de déploiement est également très pratique, mais suivre la norme, vous ne avez pas besoin de tenir compte des outils, ce que je veux vraiment.

Mes besoins

Je voudrais tester sur les déchets d'un seul serveur ces projets. K3S il y a une goutte proxy inverse, pointez sur Digital Ocean, plutôt que directement sur l'Internet public. En d'autres termes, ces projets doivent prendre en charge le déploiement local (déploiement sur site).

Une autre exigence est que le projet doit être complètement abstraction de K8S dans. Autrement dit, je ne veux pas faire face à un grand nombre de documents ne veux pas aussi YAML déployé des graphiques de barre, je voudrais penser en termes de ma propre application, il vous suffit de la ligne de commande pour terminer tous les travaux.

Résumé de la phrase est la suivante: Je veux simplement appuyer sur un bouton pour terminer tous les travaux.

Notre application a de nombreuses parties de la partie mobile juste un script simple, une grande partie de l'application, au client de jeu fournit des fonctions de communication. Quelle que soit l'application, notre plate-forme doit prendre en charge un certain nombre de différents types d'applications. Habituellement, cela signifie la nécessité d'un soutien déployé par Dockerfile.

Nous avons l'intention d'exécuter la plupart des applications sont stateful. Par exemple, Wordpress besoin d'un endroit pour enregistrer l'image. De nombreuses applications doivent également être stockés à l'intérieur de l'image. , Les applications doivent donc une certaine forme de stockage persistant.

De nombreux projets sont très bien, mais la différence entre le bien et grand projet est la communauté de projet et l'acceptation de l'industrie. Un utilisateur en utilisant seulement trois projets sur GitHub, écrivez votre propre script bash sans différence. Si vous ruiner quelque chose, ou besoin d'aide, une communauté active sera à vous compter.

Liste des éléments

Knative

Knative m'a donné d'abord l'expérience était super! Après avoir lu Knative, je trouve que je pouvais courir à partir d'un PaaS à la maison comme la plate-forme de Google. Considérant que Google K8S faire, alors projet Knative doit être parfait! Mais imaginez installer que un peu difficile. Ne semble pas trop facile à installer, et ne peut pas simplement essayer, à l'avenir peut être un risque. Peut-être que je pense, peut-être que je devrais être plus regarder en profondeur Knative, mais à cause de cette raison, je me suis retourné au candidat suivant.

Nuage OpenFaaS

L'installation est très facile! Bientôt, je serai en mesure d'exécuter la plate-forme. Il peut répondre à la plupart de mes besoins, mais il semble qu'il est plus axé sur la réalisation OpenFaaS, il est pas en soi une PaaS complète. Je ne comprends pas comment utiliser cette plate-forme pour résoudre nos problèmes. Si vous utilisez un couple de petits projets, ou il y a beaucoup de petites fonctionnalités qui OpenFaaS absolument le meilleur choix! Peut-être que je peux regarder plus tard pour voir, mais maintenant je l'ai décidé de voir le prochain candidat.

Convox

Convox semble très bon! Il est composé de plusieurs ancien ingénieur Heroku construit sur K8S sur. J'étais un peu sur le déploiement rapide de K8S DigitalOpen cluster. Expérience Développeur génial! Cependant, il semble que le projet ne prend pas en charge le déploiement local. De plus, la communauté du projet ne semble pas grand, seulement quelques early adopters. Le projet est moins bien connu, j'ai donc choisi d'autres projets.

jardin

Ce projet est très cool. Je l'aime parce qu'il est une solution pour une petite entreprise indépendante développé très créatif. L'installation est facile, leur méthodologie est dérivé des K8S très bonne abstraction, mais le projet vous permet également de contrôler K8S manière traditionnelle sous une certaine forme, tels que les fichiers YAML. Je aime vraiment ce fait, mais il fonctionne très bien! Bien que je remarqué une interface ligne de commande rugueuse, mais c'est un petit problème, mais peut éventuellement être résolu.

Mais j'ai décidé de voir ce que le prochain projet (et dernière).

Rio

Le projet répond à tous mes besoins. Facile à utiliser l'interface de ligne de commande ne nécessite pas d'interaction avec K8S en utilisant le déploiement Dockerfile. Il y a une longue liste d'autres plates-formes a échoué à atteindre ou réaliser pas très bonne fonction. Rio provenant de Rancher, il semble avoir beaucoup de soutien de la communauté très active Rancher.

Rio ensemble des déchets sur mon serveur

Je me suis vite mis en place mes K3S exemple de premier plan proxy inverse, puis commencer à Rio mise.

Selon Guide de démarrage rapide sur leur GitHub, mis en place est très simple:

# Configuration du proxy inverse k3sssh -nNTL 6443: localhost: 6443 gouttelettes & # Installation Riocurl -sfL https://get.rio.io | sh - # Exécution de l'exemple de course projectrio https://github.com/rancher/rio-demo

Ce qui est bon! Je ne peux pas attendre de voir si nous avons la même infrastructure peut facilement migrer vers cette plate-forme.

Rio installation par défaut vous permet d'utiliser leur service rDNS (situé on-rio.io), qui est très cool, mais je l'ai mis à la poubelle derrière un serveur proxy inverse n'est pas nécessaire. Je ne l'ai pas utilisé Linkerd, donc désactiver temporairement cette fonction. Utilisez Rio installer rdns --disable-métrage, letsencrypt, déclaration linkerd Réinstaller, vous obtenez les résultats dont j'ai besoin.

Ensuite, utilisez ClusterDomain kubectl installer une coutume, afin que je puisse utiliser le nom de domaine autre que on-rio.io. J'ai finalement installé Dnsmasq, mis en place un nom de domaine de faux app.rio utilisé par l'application. Peut tester facilement la communication de l'application sur le serveur par lequel les ordures.

apiVersion: admin.rio.cattle.io/v1kind: ClusterDomainmetadata: Nom: app.riospec: httpPort: 80

Je voudrais aussi trouver un moyen de se connecter de mon droplot à ce Digital Ocean cluster. Mon approche est un serveur proxy inverse du port 80 à la poubelle sur le port 8080 de la goutte. port Rio 80 de l'installation Gloo passerelle proxy.

La dernière étape, définir le point de passerelle vers Gloo de configuration nginx:

serveur {écouter 80; nom_serveur your.domain.name; lieu / {proxy_http_version 1.1; proxy_set_header hôte hôte $; proxy_pass http: // localhost: 8080;}}

Deux clés est ici proxy_http_version 1.1 et Host proxy_set_header.

proxy_http_version très important, parce que basé Envoy de Gloo ne prend pas en charge les services de gestion de réseau sur http__version 1.0, vous ne pouvez utiliser 1.1. Sinon, il retournera 426 erreur de mise à niveau requis.

tête d'hôte est très important, en raison de la nécessité de réaliser DomainePublic. Lorsque l'objectif est d'ajouter DomainePublic nom_serveur match ou agents de l'en-tête de l'hôte, sinon Gloo ne peut pas identifier le service que vous souhaitez vous connecter.

rio domaine registre your.domain.name rio-demo

Voilà tout ce que j'explore le plus approprié en fonction de voyage Kubernetes PaaS.

Merci pour la lecture!

Original: https: //bram.dingelstad.xyz/blog/finding-the-right-paas-for-k8s/

Cet article traduction RPSC, s'il vous plaît indiquer la source de la source.

chiffre d'affaires flambée de 30 ans: d'une communauté libre à une entreprise de plusieurs milliards de dollars

comprendre l'une des plus grandes réalisations de l'IA: limitations convolution réseau de neurones

GitHub a joué 10000 +, projet de haut niveau Apache ShardingSphere de The Open Road

HKUST Académicien interrogation future Zheng Guangting, a révélé les dernières applications et la pratique de l'intelligence artificielle

intelligents d'exploitation et d'entretien des défis en grande promotion: comment Ali résista les « doubles 11 chats fin »?

Ethernet Place 2.0 Jeu de garde et mettre en uvre MPC

très difficile pour vous d'écrire neuf questions face de MySQL, nous vous recommandons de la collection!

Vous trouverez aussi des algorithmes mathématiques de haute école? Google open source AutoML zéro gravité
Précédent
Pilote changement intellectuel à l'ère de 2020 NAVIGUER Embarquez sur un sommet leader nuage
Prochain
08h00 demain soir, pour vous Secret « chirurgie de greffe de visage AI »: la technologie de base et de l'application des images vidéo fixes ou derrière la greffe du visage
Ultra-détaillé! SparkStreaming Article détaillé sur la façon d'intégrer Kafka! Peut être pratiqué avec le code
Cette minute de traitement d'un milliard de noeuds de calcul dans le graphique de Platon, maintenant comment?
15 avril Changzhou transactions immobilières 348 ensembles de logements de seconde main un chiffre d'affaires total de 175 jeux
Hardcover appartement chèque sac, le talent Xiamen ici béni! Plus un super avantages multi-investissement
oie herbe | HyunA / Jennie / Lisa, avec qui vous l'argent à ongles sélectionner?
Enseignez-vous la beauté La bonne façon d'ouvrir les cardigans en tricot, cliquez-moi
Je suis allé porter la saison Mary Jane, s'il vous plaît ont joué Emma Roberts et Alexa Chung
Arc-en-fart | Elsa original, les haricots frères et Ken sont les amateurs de bijoux vintage
États-Unis pour vous enseigner | Lorsque la mise en feu de l'élément papillon, pas une fille est innocente
Speak vraiment | Je veux essayer et essayer à nouveau Zhang Yixing, ce succès?
Cravate Pour Son ouverture Shanghai Lujiazui L + MALL magasin phare, en passant l'esthétique de la mode actuelle de la vie urbaine