Ê×Ò³
ѧϰ
»î¶¯
רÇø
¹¤¾ß
TVP
·¢²¼
¾«Ñ¡ÄÚÈÝ/¼¼ÊõÉçȺ/ÓŻݲúÆ·,¾¡ÔÚС³ÌÐò
Á¢¼´Ç°Íù

ÔõÑùΪ k8s ÕÒµ½×îºÏÊ浀 PaaS ½â¾ö·½°¸£¿

×î½ü¼¸Ä꣬Kubernetes ³ÉΪÐí¶àÈ˹Ø×¢µÄ½¹µã¡£ÊÂʵÉÏ£¬ÓÐЩ¹«Ë¾·¢ÏÖ Kubernetes ÄÜ·¢»Ó¾Þ´ó×÷Ó㬵«ÓÐЩ¹«Ë¾»¹Î´·¢ÏÖÆä¼ÛÖµ£¬²¢ÔÚÕâ¸ö¹ý³ÌÖн«×Ô¼º¸ãµÃ¡°±éÌåÁÛÉË¡±¡£¶ÔÎÒÀ´Ëµ£¬ÎÒÕý´¦ÓÚÖмäλÖá£ÎÒ´òËã×öÀàËÆÊÂÇ飬²¢ÇÒ×öºÃÁ˲ȿÓ×¼±¸¡£ÔÚ´Ë֮ǰ£¬ÏÈÈÃÎÒÃÇ¿´¿´ÈçºÎÔÚ k8s Éϲ¿ÊðÒ»¸ö¼òµ¥µÄ¡¢ÀàËÆÓÚ PaaS µÄƽ̨¡£

1. ÕÒµ½Ò»¸öÍêÃÀµÄÀà PaaS ƽ̨

ÄÇô£¬ÎÒÃÇ´ÓÄÄÀ↑ʼ£¿¿Ï¶¨ÓÐÒ»ÖÖ¼òµ¥·½·¨ÄÜÕÒµ½ÕâÑùµÄ¶«Î÷£¬Ò²Ðí£¬ÎÒÃÇ´Ó¼òµ¥µÄ DuckDuckGo ËÑË÷¿ªÊ¼¡£

DuckDuckGo ËÑË÷ûɶÓÃ

ÏÔÈ»£¬k8s ²»ÊÇ PaaS¡£ÎÒÏë»ùÓÚ k8s ¹¹½¨Ò»¸ö PaaS£¬µ±È»²»ÊÇ°ÑËüµ±×÷Ò»¸ö PaaS À´Ê¹Óá£

È»ºó£¬ÎÒÃÇÔÚ HackerNews ÉÏËÑË÷һϡ£µÚÒ»¸ö²éѯÕÒµ½Ò»ÆªÊ§Ð§ÎÄÕ¡£´ËÍ⣬ÎÒÔÚ GitHub ÉÏżȻ·¢ÏÖÒ»¸öºÜ°ôµÄÁÐ±í¡£

https://github.com/ramitsurana/awesome-kubernetes

ÔÚ½øÐиü¹ã·ºµÄËÑË÷ºó£¬ÎÒÕë¶Ô×Ô¼ºµÄÓ¦Óó¡¾°ÁгöÒ»¸ö¿ÉÄܵĺòÑ¡ÏîÄ¿ÁÐ±í¡£

  • Knative
  • OpenFaaS Cloud
  • Convox
  • Garden
  • Rio

»¹ÓкܶàÆäËûÑ¡Ôñ£¬ÎÒ³¢ÊÔ¹ýÆäÖÐһЩ£¬»¹ÓÐһЩÊÇÕë¶Ô´óÆóÒµµÄ¡£

2. ÎÒµÄÓ¦Óó¡¾°

ÔÚ Quest Vault £¬ÎÒÃÇÔÚ DigitalOcean droplet ÉÏ°²×°Ò»¸ö¼òµ¥µÄ Wordpress À´ÔËÐÐÎÒÃǵĵçÉÌÍøÕ¾¡£¾¡¹ÜÄÜͨ¹ýÔËÐÐһЩ¼òµ¥µÄ bash ½Å±¾ÊµÏÖ²¿Ê𣬲¢ÔÚ±¾µØÔËÐвâÊÔ / ¹ý¶É·þÎñÆ÷µÄ¸±±¾£¬µ«ÊÇ£¬ÎÒÏë¹¹½¨Ò»¸ö»ùÓÚÐÐÒµ¼¼ÊõµÄƽ̨£¬¶ø²»ÊÇһЩ bash ½Å±¾¡£±àдÕâЩ bash ½Å±¾ºÜÓÐȤ£¬²¢ÇÒÓµÓÐ×Ô¼ºµÄ²¿Êð¼¼ÊõÕ»Ò²ºÜ¼òµ¥£¬µ«ÊÇ£¬ÎÒÏ£Íû Quest Vault ÄÜÓµÓÐÒ»¸ö¡°ºÀ»ªÐ©¡±µÄ¶«Î÷£¬Ò»¸ö±ê×¼µÄ¡¢ÈÃÎÒÃDz»±ØΪʹÓõŤ¾ß²ÙÐĵĶ«Î÷¡£

https://questvault.net/

ÏÖÔÚ£¬ÎÒÏëÔڰ칫ÊÒÔËÐÐ k3s µÄ garbage server ÉϲâÊÔÕâЩÏîÄ¿¡£K3s ÓÐÒ»¸öµ½ DigitalOcean droplet µÄ·´Ïò´úÀí£¬¶ø²»ÊÇÔÚ»¥ÁªÍøÉÏ·ÃÎÊ¡£ÕâÒâζ×ÅÏîÄ¿Ó¦¸ÃÖ§³ÖÄÚ²¿²¿Êð¡£

https://k3s.io/

ÎÒ»¹Ï£ÍûÄÜÍêÈ«³éÏó³ö k8s¡£ÕâÒâζ×ÅÎÒ²»Ïë´¦ÀíÌ«¶àµÄ yaml »òÕßÒ»Ö±²¿Êð helm charts£¬ÎÒÏë¶à¿¼ÂÇÏÂÓ¦ÓóÌÐò£¬²¢ÇÒͨ¹ý CLI ¾Í¿ÉÒÔ×öµ½¡£

¼ò¶øÑÔÖ®£ºÎÒÏëÒªµÄÊÇ£¬Ö»Òª°´Ò»¸ö°´Å¥£¬Ëü¾Í¹¤×÷¡£

ÎÒÃǵÄÓ¦ÓóÌÐòÓкܶà»î¶¯×é¼þ£¬ÓÐЩֻÊǼòµ¥½Å±¾£¬ÓÐЩÔòÊÇΪÓÎÏ·¿Í»§¶ËÌṩͨÐŵĴóÐÍÓ¦ÓóÌÐò¡£²»¹ÜÊÇʲô£¬ÎÒÃǵÄƽ̨ÐèÒªÖ§³Ö´óÁ¿²»Í¬µÄÓ¦ÓóÌÐòÀàÐÍ¡£Õâͨ³£Òâζ×ÅÖ§³Öͨ¹ý Dockerfile ½øÐв¿Êð¡£

ÎÒÃǼƻ®ÔËÐеĴó¶àÊýÓ¦ÓóÌÐò¶¼Óë״̬ÃÜÇÐÏà¹Ø¡£ÒÔ Wordpress ΪÀý£¬ÎÒÃÇÐèÒªÒ»¸ö´æ´¢Í¼Æ¬µÄµØ·½¡£ÎÒÃÇ»¹ÓкܶàÐèÒª´æ´¢µÄÓ¦ÓÃÄÚÕÕƬÅÄÉã¡£ÎÒÃÇÐèÒªÒ»ÖÖ·½·¨Ê¹ÎÒÃǵÄÓ¦ÓóÌÐò¾ßÓÐijÖÖÐÎʽµÄ³Ö¾Ã»¯¡£

ÎÒϲ»¶µÄÏîÄ¿ºÜ¶à£¬µ«ÊÇÒ»¸öºÃÏîÄ¿ºÍÒ»¸öΰ´óÏîÄ¿µÄÇø±ðÔÚÓÚÉçÇøºÍÐÐÒµµÄ²ÉÓá£ÓµÓÐ×Ô¼ºµÄ bash ½Å±¾ºÍÔÚ GitHub ÉÏÓÐ 3 ¸ö»î¶¯Óû§µÄÏîÄ¿¼¸ºõûÓÐÇø±ð¡£Èç¹ûÄã¸ãÔÒÁË£¬»òÕßÎÞÂÛ³öÓÚʲôԭÒòÐèҪһЩ½¨Ò飬Ä㶼ϣÍûÄÜ´ÓÒ»¸ö»îÔ¾µÄÉçÇø»ñµÃ°ïÖú¡£

3. ÏîÄ¿Çåµ¥ËÙÀÀ

Knative

ÎÒµÄ Knative ¾­ÑéÓÐÒ»¸ö²»´íµÄ¿ªÍ·£¡µ±¶Á¹ý¹ØÓÚËüµÄÎÄÕºó£¬ÎҺܸßÐ˵صÃÖª£ºÎÒÄÜÔËÐÐÒ»¸öƽ̨£¬¹È¸èÔÚÆäƽ̨ÄÚ²¿¾Í°ÑËüÓÃÓÚËûÃÇ×Ô¼ºµÄÀàËÆ PaaS µÄ²¿Ê𡣿¼Âǵ½¹È¸è´´ÔìÁË k8s£¬ÕâÒ»¶¨·Ç³£ºÏÊÊ£¡ËüµÄ°²×°¹ý³Ì±ÈÔ¤ÆÚÀ§Äѵöࡣ

https://knative.dev/docs/install/any-kubernetes-cluster/

ËƺõûÓÐʲô¼òµ¥·½·¨À´°²×°Õâ¸öƽ̨£¬¶øÇÒ£¬ÎÞ·¨ÇáËɵØʹÓÃÒ»¸öƽ̨»áÊǽ«À´µÄÒ»¸ö·çÏÕ¡£

OpenFaaS Cloud

°²×°·Ç³£¼òµ¥£¡ÎҺܿì¾ÍÈÃÕâ¸öƽ̨ÔËÐÐÁËÆðÀ´¡£ËüÂú×ãÎҵĴó¶àÊýÐèÇ󣬲»¹ý£¬ËüËƺõ¸üÏñÊÇʵÏÖ OpenFaas µÄÒ»ÖÖÓÐȤ·½Ê½£¬¶ø²»ÊÇÍêÈ«³ÉÊìµÄ PaaS ¿ÉÑ¡·½°¸¡£ÎÒ²»ÖªµÀÈçºÎ½«ÎÒÃǵÄÓÃÀý·Åµ½Õâ¸öÌرðµÄƽ̨ÉÏ¡£Èç¹ûÄãÕýÔÚ´îÅäʹÓÃñîºÏ¶È±È½ÏµÍµÄÏîÄ¿»ò±È½ÏСµÄ¹¦ÄÜ£¬ÕâÊÇÒ»¸öºÜºÃµÄÑ¡Ôñ£¡

Convox

Convox ¿´ÆðÀ´ºÜ°ô£¡¼¸ÃûÇ° Heroku ¹¤³Ìʦ£¬ÔÚ k8s ÉϹ¹½¨µÄÒ»¸öƽ̨¡£ËƺõÍêÃÀ£¡ÎÒÏë³¢ÊÔһϣ¬ÂíÉϾͿªÊ¼ÔÚ DigitalOcean k8s ¼¯ÈºÉϲ¿ÊðËü¡£¿ª·¢ÌåÑé·Ç³£°ô£¡

È»¶ø£¬ËûÃÇËƺõ²¢²»Ö§³Öƽ̨µÄÄÚ²¿²¿Êð°æ±¾¡£´ËÍ⣬³ýһЩÔçÆÚ²ÉÓÃÕßÍ⣬Õâ¸öÏîÄ¿ËƺõûÓÐÒ»¸ö·Ç³£´óµÄÉçÇø¡£Ïà±È¶øÑÔ£¬Õâ¸öÏîÄ¿²»ÊǺܳöÃû£¬×îÖÕÎÒ·ÅÆúËü£¬È¥Ñ°ÕÒÁíÒ»ÖÖÑ¡Ôñ¡£

Garden

ÕâÊÇÒ»¸ö·Ç³£¿áµÄÏîÄ¿¡£ÎÒϲ»¶Ëü£¬Ò»¼ÒСÐ͵ĶÀÁ¢¹«Ë¾¿ª·¢µÄÒ»¸ö´´ÐÂÐͽâ¾ö·½°¸¡£°²×°ÆðÀ´ºÜ¼òµ¥£¬¶øÇÒËûÃǵķ½·¨¶Ô k8s ×öÁ˺ܺõijéÏ󣬵«ÊÇËûÃÇÒ²ÔÊÐíÄãͨ¹ý¾­µäµÄ k8s ·½Ê½À´±£³ÖijÖÖÐÎʽµÄ¿ØÖÆ£¬±ÈÈç yaml Îļþ¡£ÎÒÕæµÄºÜÔ¸ÒâÓÃËü£¬Ð§¹ûºÜºÃ£¡

È»¶ø£¬ÎÒȷʵעÒâµ½£¬ËüµÄһЩ CLI »¹²»ÊǺÜÍêÉÆ£¬µ«ÊÇ£¬ÎÒÈÏΪÕâÖ»ÊÇЩС覴㬲¢²»ÄÜ´ú±í×îÖÕ²úÆ·¡£

Rio

Õâ¸öÏîÄ¿·ûºÏËùÓÐÌõ¼þ¡£Ò»¸öÕæÕýÈÝÒ×ʹÓÃµÄ CLI£¿Êǵġ£²»ÔÙÒÔÈκη½Ê½Óë k8s ½»»¥£¿Êǵġ£Ê¹Óà Dockerfile ½øÐв¿Êð£¿Êǵģ¡ËüÃÇ»¹ÌṩÁË´óÁ¿ÆäËûƽ̨ûÓÐʵÏÖ»òʵÏֵúܲîµÄÌØÐÔ¡£À´×Ô Rancher µÄ Rio Ëƺõ´ÓËûÃÇ»îÔ¾µÄÉçÇøµÃµ½ÁË´óÁ¿Ö§³Ö¡£

https://rancher.com/blog/2019/rio-revolutionizing-the-way-you-deploy-apps

ÔÚ garbage server ÉϽøÐа²×°ÉèÖÃ

ÎÒ¿ìËÙµØΪ k3s ʵÀýÉèÖú÷´Ïò´úÀí£¬²¢¿ªÊ¼ÉèÖà Rio¡£

²ÎÕÕËûÃÇ GitHub Ò³ÃæÉϵĿìËÙÈëÃÅÖ¸ÄÏ£¬Õâ¸ö¹ý³Ì±äµÃ³¬¼¶¼òµ¥£º

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
#?Setting?up?the?reverse?proxy?to?k3s?ssh?-nNTL?6443:localhost:6443?droplet?&??#?Installing?Rio?curl?-sfL?https://get.rio.io?|?sh?-??#?Running?the?example?project?rio?run?https://github.com/rancher/rio-demo?

ÕâÑù¾ÍÐС£ÎÒ³¬¼¶¼¤¶¯£¬Ï£ÍûÂíÉÏ¿´Ò»Ï£¬ÏÖÓеĻù´¡ÉèÊ©ÄÜ·ñͬÑùÇáËɵØǨÒÆ¡£

Rio µÄĬÈÏ°²×°ÔÊÐíÄãʹÓÃËûÃÇµÄ rDNS ·þÎñ on-rio.io£¬Õâ¸ö·þÎñºÜ¿á£¬µ«²»ÐèÒª°ÑÎÒµÄ garbage server ·ÅÔÚ·´Ïò´úÀíºóÃæ¡£ÎÒ»¹Ã»ÓÐʹÓà Linkerd µÄ¾­Ñ飬ËùÒÔÏÖÔÚÖ»ÊǽûÓÃËü¡£Ê¹ÓÃÃüÁî rio install --disable-feature rdns,letsencrypt,linkerd ÖØа²×°ºó£¬ÎÒ»ñµÃÁËÏëÒªµÄ½á¹û¡£

½ÓÏÂÀ´£¬Í¨¹ý kubectl °²×°×Ô¶¨ÒåµÄ ClusterDomain£¬ÕâÈÃÎÒÄÜʹÓà on-rio.io Ö®ÍâµÄÁíÒ»¸öÓò¡£×îºó£¬ÎÒ°²×°ÁË dnsmasq£¬²¢´´½¨ÁËÒ»¸öÃûΪ app.rio µÄ¼ÙÓòÃû£¬ÎÒµÄÓ¦ÓóÌÐò»áÔÚÕâ¸öÓòÃûÉϽâÎö¡£Õ⽫ÈÃÎÒÄÜÇáËɵØÔÚ garbage server ÉϲâÊÔµ½Ó¦ÓóÌÐòµÄÁ¬½Ó¡£

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
apiVersion:?admin.rio.cattle.io/v1?kind:?ClusterDomain?metadata:???name:?app.rio?spec:???httpPort:?80?

ÎÒ»¹µÃÏë°ì·¨´Ó DigitalOcean droplet Á¬½Óµ½Õâ¸ö¼¯Èº¡£ÎÒ´Ó garbage server É쵀 80 ¶Ë¿Ú·´Ïò´úÀíµ½ 8080 ¶Ë¿ÚÉ쵀 droplet¡£Rio ʹÓà 80 ¶Ë¿Ú°²×°ÁË Gloo µÄ gateway-proxy¡£

×îºóÒ»²½£¬ÎÒÉèÖÃÁË nginx ÅäÖã¬Ê¹ÆäÖ¸Ïò Gloo Íø¹Ø£º

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
server?{?????listen?80;?????server_name?your.domain.name;?????location?/?{?????????proxy_http_version?1.1;?????????proxy_set_header?Host?$host;?????????proxy_pass?http://localhost:8080;?????}?}?

ÕâÓÐÁ½¼þÖØÒªµÄµØ·½ÐèҪעÒ⣬·Ö±ðÊÇ proxy_http_version 1.1 ºÍ proxy_set_header Host¡£proxy_http_version ·Ç³£ÖØÒª£¬ÒòΪ»ùÓÚ Envoy µÄ Gloo ²»Ö§³Ö http_version 1.0 ÉϵÄÍø¹Ø£¬¶øÖ»Ö§³Ö 1.1 ÉϵÄÍø¹Ø¡£·ñÔò£¬Ëü»á·µ»ØÒ»¸ö 426 Upgrade Required ´íÎó¡£

Host Í·¶ÔÓÚʵÏÖ PublicDomain ·Ç³£ÖØÒª¡£ÐèҪעÒâµÄÊÇ£¬ÒªÌí¼ÓÒ»¸ö PublicDomain£¬Ëü±ØÐëÓë server_name »ò±»´úÀíµÄ Host Í·Æ¥Å䣬·ñÔò Gloo ÎÞ·¨Ê¶±ðÎÒÒª·ÃÎʵÄÊÇÄĸö·þÎñ¡£

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
rio?domain?register?your.domain.name?rio-demo?

Õâ¾ÍÊÇÎÒÑ°ÕÒ×îºÏÊ浀 Kubernetes PaaS ½â¾ö·½°¸µÄðÏÕ¡£

  • ·¢±íÓÚ:
  • Ô­ÎÄÁ´½Ó£ºhttp://news.51cto.com/art/202005/616096.htm
  • ÈçÓÐÇÖȨ£¬ÇëÁªÏµ cloudcommunity@tencent.com ɾ³ý¡£

ɨÂë

Ìí¼ÓÕ¾³¤ ½ø½»Á÷Ⱥ

ÁìȡרÊô 10ÔªÎÞÃż÷ȯ

˽Ïí×îР¼¼Êõ¸É»õ

ɨÂë¼ÓÈ뿪·¢ÕßÉçȺ
Áìȯ
http://www.vxiaotou.com