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-demoCe 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: 80Je 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-demoVoilà 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!