±à¼ÍƼö: |
±¾ÎĽéÉÜÁËÈÝÆ÷ÔÆPaasƽ̨¼°»ù´¡¹¦ÄÜ¡¢»ùÓÚK8sµÄPaasƽ̨¹¦ÄÜʵÏÖ¼°ÈÝÆ÷Paasƽ̨×ܽáµÈ¡£
±¾ÎÄÀ´×ÔÓÚ¹«ÖÚºÅͼ½âÔ´Â룬ÓÉ»ðÁú¹ûÈí¼þLinda±à¼¡¢ÍƼö¡£ |
|
»ùÓÚK8sµÄÈÝÆ÷ÔÆPaasƽ̨Ӧ¸ÃÊÇÿ¸öʹÓÃk8sµÄ¹«Ë¾±ØÐëÒª×öµÄÒ»¼þÊ£¬½ñÌìÎÒÃdz¢ÊÔÒÔÓ¦ÓÃΪÖÐÐÄ£¬²ÉÓôî»ýľµÄ·½Ê½Íê³ÉÒ»¸ö×îС°æ±¾µÄÈÝÆ÷ÔÆPaasƽ̨µÄÉè¼Æ£¬Let's
Go
1. »ù´¡¹¦ÄÜ
ÎÒÃÇÆÚÍûÊÇʵÏÖÒ»¸ö¾¡¿ÉÄÜ×ÔÖúµÄ·þÎñ£¬ËùÒÔÀïÃæÏȲ»¿¼ÂÇһЩÖîÈçÉóÅú£¬Ö®ÀàµÄ²Ù×÷£¬Ôڴ˲¿·ÖÎÒÃÇÒªÍê³ÉÓ¦ÓôӴò°üµ½ÉÏÏߵĹؼüÁ÷³Ì
1.1 ¾µÏñ´ò°ü
Ñз¢±àдºÃ´úÂ룬´Ëʱ¾ÍÒª½øÐдúÂëµÄÉú²ú»·¾³²¿Ê𣬶ø²¿ÊðµÄ×îСµ¥ÔªÍ¨³£¾ÍÊÇDocker¾µÏñ£¬ÄÇôÎÒÃǾÍҪʵÏÖÒ»¸ö×ÔÖúµÄ¾µÏñ´ò°ü·þÎñ£¬À´ÊµÏÖ´ÓÔ´´úÂëµ½docker¾µÏñµÄ½»¸¶
Ñз¢½«´úÂëÌá½»µ½GIt´úÂë²Ö¿âºó£¬¿ÉÒÔÈôúÂë²Ö¿â¹ÜÀíÔ±É趨һ¸ö»Øµ÷¹³×Ó£¬Í¨ÖªÎÒÃǵIJ¿ÊðÁ÷Ë®Ïߣ¬°´ÕÕ²¿ÊðÁ÷Ë®Ïß°´ÕÕ֮ǰÉ趨µÄ²½ÖèÀ´½øÐÐÄ¿±ê¾µÏñµÄ¹¹½¨£¬²¢½«¹¹½¨µÄ¾µÏñ·¢²¼µ½ÎÒÃǵľµÏñ²Ö¿âÖÐ
ÆäÖв¿ÊðÁ÷Ë®ÏßÎÒÃÇ¿ÉÒÔÖ±½ÓʹÓÃÀÏÅÆµÄJenkins£¬Ò²¿ÉÒÔÑ¡ÔñTektonÕâÖÖÔÆÔÉúµÄ²¿Ê𹤾ß
1.2 »ù´¡·þÎñ
Èç¹û½ö½ö´ÓÓ¦Óñ¾ÉíÀ´Ëµ£¬³ýÁË»ù´¡µÄÔËÐл·¾³ºÍ´úÂ룬ͨ³£»¹»áÒÀÀµÓÚһЩ»ù´¡·þÎñ(²»¿¼ÂÇÓ¦ÓòãµÄÒÀÀµ)£¬
±ÈÈçmysql¡¢redis¡¢kafkaµÈ»ù´¡·þÎñ£¬µ«ÊÇÖîÈçÕâÖÖ·þÎñͨ³£¿ÉÄܲ¢²»ÔÚk8sÖÐ(opeartor³ýÍâ)£¬Ôò´ËʱÎÒÃǾÍÐèÒªÒ»ÖÖ×ÔÖúµÄ¼¯³É·½Ê½£¬ÕâÀïÎÒÃÇͨ¹ýservice
catalog ½øÐм¯³É£¬Óû§Ö»ÐèÒª½øÐÐÉêÇ룬Ôò¾Í¿ÉÒÔ×ÔÖú»ñÈ¡¶ÔÓ¦µÄ»ù´¡·þÎñ×ÊÔ´
1.3 ÈÕÖ¾¼à¿Ø
Ó¦ÓÃÉÏÏߺó£¬ÎÒÃÇÈçºÎ»ñÈ¡µ½¶ÔÓ¦µÄ½¡¿µ×´Ì¬ÄØ£¿Í¨³£¾ÍÐèÒªÈÕÖ¾ºÍ¼à¿ØÀ´½øÐи¨Öú£¬ÎÒÃÇÏ£ÍûÒ»ÖÖ·½Ê½¿ÉÒÔ×ÔÖúµÄ½øÐзþÎñµÄÈÕÖ¾ÊÕ¼¯¡¢¼à¿ØÏîµÄÊÕ¼¯£¬´ËʱÎÒÃǾÍÐèÒªÒ»ÖÖÓë¼à¿ØºÍÈÕ־ϵͳ¼¯³ÉµÄ·½Ê½£¬
»¹»áÉæ¼°µ½¸÷×Ô¼à¿Ø¸æ¾¯£¬Õë¶ÔÈÕÖ¾ÎÒÃÇʹÓÃEFKÀ´½øÐÐÈÕÖ¾µÄÊÕ¼¯£¬¼à¿ØÔò²ÉÓÃPrometheusÍê³É£¬´ËÍâ³ýÁËÓ¦ÓõĻù´¡×ÊÔ´¼à¿Ø£¬¿ÉÒÔÈÃÒµÎñÒ²½øÐжÔÓ¦ÒµÎñÖ¸±êµÄ±©Â¶£¬ÕâÑùÎÒÃǾͿÉÒÔʵÏÖÒµÎñ²ãµÄÖ¸±ê¼¶±ðµÄ¼à¿Ø
1.4 ¸ºÔؾùºâ
Ó¦ÓÃÉÏÏߺó£¬Í¨³£ÐèÒª¶ÔÍâÌṩ·ÃÎÊ£¬ÔÚk8sÖÐÒòÎªÍøÂçµÄÔÒò£¬Í¨³£ÐèҪͨ¹ýingressÀ´½øÐÐÍøÂçÄÚ²¿serviceµÄ±©Â¶£¬ÔòÒª¸øÓû§Ìṩһ¸ö¿ÉÒÔ½«·þÎñºÍ¸ºÔؾùºâ×Ô¶¯¹ØÁªµÄ×é¼þ
¸ºÔؾùºâ×é¼þµÄÑ¡Ôñͨ³£ÓÐÁ½ÖÖ£ºÀÏÅÆµÄ¸ºÔؾùºâ×é¼þ(Nginx/Kong/Haproxy)ºÍ΢·þÎñ·þÎñÍø¹Ø(Traefik)µÈ£¬Ñ¡ÔñµÄºËÐÄͨ³£ÊÇÎÒÃÇÒª²»Òª¸ÄÔ죬±ÈÈçÎÒÃÇÏëÔÚingressÉÏ×öһЩ»ù´¡ÑéÖ¤¡¢ÈÛ¶Ï¡¢ÏÞÁ÷µÈʵÏÖÔò¾ÍÐèÒª½øÐжþ´Î¿ª·¢£¬Ôò¾ÍÐèҪѡÔñºÏÊʼ¼ÊõÕ»µÄingress
ÕâЩIngressͨ³£ÎÒÃÇÐèҪһЩרÓнڵ㣬¼´Ö»¸ºÔðingressµÄÔËÐУ¬¼´Í¨³£ËµµÄProxy½Úµã£¬ÎÒÃÇÐèÒª½áºÏK8sÖеÄÎÛµãÀ´½øÐÐһЩ¿ØÖÆ£¬Ö»ÔÊÐíingressÈÝÆ÷µ÷¶Èµ½ÕâЩ½ÚµãÉÏ
1.5 ²¿Êð¸üÐÂ
´ó¶àÊýÓ¦Óö¼»áËæ×ŲúÆ·µÄµü´ú»òÕßbugÐÞ¸´£¬½øÐдúÂëµÄµü´ú£¬¶øÔÚk8sÖÐÔòͨ³£¾ÍÊÇÎÒÃÇ˵µÄ¾µÏñ¸üУ¬´Ë¹ý³Ì¿ÉÒÔ½èÖúk8sµÄdeploymentÀ´½øÐÐ×Ô¶¯Íê³É
ÔÚÓ¦ÓøüеÄʱºò£¬Í¨³£ÐèÒª½øÐлҶȲâÊÔ£¬¼´Ö»ÔÊÐí²¿·ÖÓû§½øÐзÃÎÊ£¬Èç¹û³öÏÖÒì³££¬Ôò¾ÍÁ¢¿Ì»Ø¹ö£¬Èç¹ûÕý³£¾Í¹ö¶¯¸üÐÂÕû¸öÓ¦Óü¯Èº£¬¶øÔÚk8sÖÐʵÏÖ¸ÃÖÖ·½·¨Ö÷Òª°üÊÇͨ¹ýDeploymentÀ´ÊµÏÖ£¬ÎÒÃÇÕâÀïÖ÷ÒªÊǰ´ÕÕÓû§»Ò¶ÈµÄ±ÈÀýͨ¹ý´´½¨Ò»¸öеÄDeployment£¬Èç¹û³É¹¦¾Í¼ÌÐø¸üоɵÄDeploymentÀ´ÊµÏÖ
1.6 Ó¦ÓÃÏÂÏß
Õë¶ÔÏÂÏßµÄÓ¦Óã¬Í¨³£ÎÒÃÇÒª½øÐжÔÓ¦µÄ×ÊÔ´µÄÊͷŲÙ×÷£¬ÕâÀï¿ÉÄÜÐèÒªÒ»¸ögcÄ£¿é£¬¸ºÔðÓ¦Óõĸ÷ÖÖ×ÊÔ´µÄÇåÀí¹¤×÷
ÖÁ´ËÎÒÃÇ»ùÓÚk8sºÍÓ¦ÓõÄһЩ»ù±¾ÐèÇó£¬Íê³ÉÁË»ù´¡°æ±¾µÄÓ¦ÓôӴúÂë´ò°ü¡¢ÉÏÏß¼à¿Ø¡¢²¿Êð¸üС¢¿É¹Û²âÐÔ(ÈÕÖ¾¼à¿Ø)µÈ»ùÓÚÔÆÔÉúµÄÓ¦ÓÃÈ«ÉúÃüÖÜÆÚ¹ÜÀí
2.»ùÓÚK8sµÄPaasƽ̨¹¦ÄÜʵÏÖ
ÔÚ±¾½ÚÖÐÎÒÃÇÖ÷Òª¹Ø×¢»ùÓÚK8sÆ½ÃæÍê³ÉһЩPaasƽ̨Ïà¹ØµÄ¹¦ÄܵÄʵÏÖ£¬Ö÷Òª°üº¬£º¶à×â»§¹ÜÀí¡¢µ¯ÐÔÉìËõ¡¢ÈÝÁ¿¹æ»®¡¢ÅäÖùÜÀí¡¢¹²Ïí´æ´¢¡¢¼¯Èº¹ÜÀí¡¢Ó¦ÓÃÊг¡µÈ¹¦ÄÜ
2.1 ¶à×â»§¸ôÀë
¶à×â»§ÊÇ»ùÓÚpaasƽ̨µÄÒ»ÖÖÖØÒª»úÖÆ£¬¶à×â»§µÄ±¾ÖÊÊÇʵÏÖ×ÊÔ´µÄ¸ôÀ룬×ÊÔ´µÄ¸ôÀëͨ³£ÓÖ°üº¬ÎïÀí¸ôÀëºÍÈí¼þ¸ôÀ룬ËùνÎïÀí¸ôÀë¼´ÔÚÎïÀíʵÌåÉÏ(±ÈÈç·þÎñÆ÷)¾Í½øÐиôÀ룬¶øÈí¼þ¸ôÀëÔòÊÇָͨ¹ý×¼Èë¿ØÖÆÀ´½øÐÐ×ÊÔ´µÄ·ÃÎʸôÀ룬¿¼ÂÇ´ó¶àÊýµÄ¹«Ë¾ÄÚ²¿Í¨³£²»»á¶Ôk8s½øÐÐÎïÀí¸ôÀ룬ËùÒÔÎÒÃÇÕâÀï¿ÉÒÔÖ±½ÓʹÓÃk8sÖеÄnamespaceÀ´×öÈí¼þ¼¸±¶µÄ¸ôÀë
2.2 µ¯ÐÔÉìËõ
µ¯ÐÔÉìËõ°´Ðè¼Æ·ÑÊÇPaasƽ̨µÄµäÐÍÌØµã£¬¶øK8sÖÐ×Ô´øÁËHPA(ºáÏò×Ô¶¯ÉìËõ)£¬²¢ÇÒͨ¹ýautoscalerʵÏÖÁËVPA(×ÝÏò×Ô¶¯ÉìËõ)ÒÔ¼°Cluster×Ô¶¯ÉìËõ,
ÒÀ¿¿ÕâЩ¿ØÖÆÆ÷ÎÒÃÇ¿ÉÒÔºÜÈÝÒ×µÄΪÓû§Ìṩµ¯ÐÔÉìËõµÄ¹¦ÄÜ(Ò»°ã»¹ÊǺáÏòµÄ¶àһЩ)
2.3 ÈÝÁ¿¹æ»®
ÈÝÁ¿¹æ»®Ö÷ÒªµÄÄ¿±êÊÇͨ¹ýÏÞ¶¨¸÷ÒµÎñÏßµÄ×ÊÔ´Åä¶îʵÏÖ×ÊÔ´¸ôÀ룬ͬʱͨ¹ýÈÝÁ¿¼ÆËã¿ÉÒÔ½øÐÐ×ÊÔ´¼Æ·Ñ£¬²¢ÇÒ½øÐÐδÀ´ÈÝÁ¿µÄ¹æ»®¾ö²ß×ÊÔ´²É¹º£¬½øÐÐÆóÒµµÄ³É±¾ºËËãÓë¿ØÖÆ£¬
´Ë²¿·ÖÖ÷ÒªÊÇÒÀÀµÓÚk8sµÄResourceQuotaÀ´ÊµÏÖÅä¶î¹¦ÄÜ£¬Í¨¹ý¼à¿ØÊý¾ÝÀ´×ö³É±¾ºËËã
2.4 ÅäÖùÜÀí
ÔÚÓ¦Óÿª·¢µÄ¹ý³ÌÖÐͨ³£»áʹÓÃһЩÅäÖÃÐÅÏ¢£¬±ÈÈç»ù´¡µÄÈÕÖ¾¡¢»º´æ¡¢Êý¾Ý¿âµÈÅäÖÃÐÅÏ¢£¬ÔÚÒÔǰµÄ»·¾³ÖÐҪôÊÇ»ùÓÚenvÎļþ£¬ÒªÃ´ÊÇ»ùÓÚÅäÖÃÖÐÐÄÀ´½øÐйÜÀí£¬¶øÔÚk8sÖÐÎÄÃû¿ÉÒÔͨ¹ýconfigMapºÍSecretÁ½ÖÖ×ÊÔ´À´ÊµÏÖ»ù´¡µÄÅäÖùÜÀí£¬¼´½«ÅäÖÃÊý¾ÝÓë¾µÏñ·ÖÀ룬ʵÏÖ°´»·¾³½øÐÐ×Ô¶¯µÄÅäÖüÓÔØ
2.5 ¹²Ïí´æ´¢
ÔÚk8sÖй²Ïí´æ´¢Ö÷ÒªÊÇÒÀÀµÓÚPV/PVCÀ´ÊµÏÖ£¬Õⲿ·ÖÓÉÓÚÿ¸ö¹«Ë¾µÄ»ù´¡ÉèÊ©²îÒìÏà¶Ô½Ï´ó£¬Í¨³£ÐèÒª¸ù¾Ý¹«Ë¾ÏÖÓеļ¼ÊõÄÜÁ¦À´½øÐе÷Õû£¬¾ßÌåµÄʵÏÖÔòÒÀÀµÓÚCSIÏà¹ØµÄʵÏÖ£¬ÕâÀï²»ÔÙ½øÐÐ˵Ã÷
2.6 ¼¯Èº¹ÜÀí
ÔÚ¹«Ë¾ÄÚ²¿µÄ»·¾³ÖÐÓÐʱºòÐèÒª½øÐÐÈÝÔÖ±¸·ÝµÈµÄ¿¼ÂÇ£¬Ôò¾ÍÐèÒª½øÐжà»ú·¿²¿Êð£¬ÄÇÎÒÃǵÄPAASµÄƽ̨ҲÐèÒªÓµÓÐÕâÖֶ༯Ⱥ¹ÜÀíµÄÄÜÁ¦,
ÆäʵҲÊÊÓÃÓÚÉú²ú¡¢²âÊԵȶ໷¾³¼¯ÈºµÄ¹ÜÀí£¬¼¯ÈºµÄ¹ÜÀíÖ÷ÒªÊÇΪÁ˽â¾öƽ̨¶à»·¾³²¿ÊðµÄÎÊÌ⣬ͨ¹ýÒ»Ìׯ½Ì¨À´½øÐÐÕû¸ö¼¯ÍÅËùÓм¯ÈºµÄ¹ÜÀí
2.7 Ó¦ÓÃÊг¡
Ó¦ÓÃÊг¡Ö÷ÒªÊÇÖ¸µÄÕë¶ÔһЩÖîÈçredis¡¢etcd¡¢kafkaÖмä¼þµÈÓ¦ÓóýÁË֮ǰ˵µÄ·þÎñĿ¼µÄ¼¯³É·½Ê½Ö®Í⣬ÎÒÃÇ»¹ÔÊÐíÓû§Í¨¹ýopeartorÀ´´´½¨Ò»Ð©»ù´¡·þÎñ£¬´Ó¶øÍƶ¯»ù´¡ÉèÊ©µÄÈÝÆ÷»¯£¬Õⲿ·Öͨ³£ÐèÒª¸ù¾Ýµ±Ç°µÄ»·¾³»¹ÓпªÔ´µÄopeartorÀ´½øÐÐ΢µ÷£¬´Ó¶øÊÊÅ乫˾µÄÄÚ²¿»·¾³
2.8 Óû§ÖÐÐÄ
Ôںܶ๫˾ͨ³£¶¼»áÓÐһЩÆóÒµÄÚ²¿µÄÓû§ÖÐÐÄ·þÎñ£¬¿ÉÒÔ¼¯³É¸Ã²¿·ÖÀ´½øÐÐÈÝÆ÷ÔÆÆ½Ì¨µÄÓû§ÈÏÖ¤ÉõÖÁһЩȨÏÞ¿ØÖÆ£¬±ÜÃâÖØ¸´ÔìÂÖ×Ó
2.9 »ù´¡¹¦ÄÜ
³ýÒÔÉϵÄÒµÎñ¹¦ÄÜÍ⣬ͨ³£ÎÒÃÇ»¹Òª½øÐлù´¡µÄ¹¦ÄÜ£¬±ÈÈç²Ù×÷É󼯡¢È¨ÏÞ¿ØÖÆ¡¢°²È«¹Ü¿ØµÈ»ù´¡¹¦ÄÜ£¬ÖÁ´ËÎÒÃÇÒѾӵÓÐÁËÒ»¸ö»ù´¡¿ÉÓõĻùÓÚk8sµÄÔÆÔÉúPaasƽ̨
3. ÈÝÆ÷Paasƽ̨×ܽá
ͨ¹ýÉÏÃæµÄµÄ»ù´¡½¨É裬ÎÒÃÇͨ³£¿ÉÒԵõ½Ò»¸öÒÔÓ¦ÓÃΪÖеĻùÓÚK8sµÄÈÝÆ÷PaaSƽ̨£¬²¢ÇÒ´Ó¸÷ÖÖ¹¦ÄÜÉÏÀ´¿´£¬»ùÓÚk8sµÄ¸÷ÖÖ×ÊÔ´ÎÒÃÇÖ»ÐèÒªºÜÉٵĿª·¢¹¤×÷£¬¾Í¿ÉÒÔÍê³ÉÕû¸öPaasƽ̨µÄ½¨É裬´ÓÏÂÒ»½ÚÎÒÃÇ¿ªÊ¼½øÐÐһЩ¹Ø¼ü²¿·ÖµÄ¿ª·¢¹¤×÷£¬²¢½øÐÐһЩk8s
operatorµÄ¿ª·¢, Let's Go¡£¡£ |