±à¼ÍƼö: |
±¾ÎÄÖ÷Òª´Ó¼¯ÍÅÄÚÈÝÆ÷ÔÆÆ½Ì¨´ÓÑ¡ÐÍ¡¢¼Ü¹¹Éè¼Æ¡¢·½°¸Éè¼Æµ½Æ½Ì¨´Ó0¿ªÊ¼½¨Éè¼°×îÖÕÂäµØÊµ¼ùÈ«¹ý³Ì£¬°éËæÆ½Ì¨ÂäµØÍ¶²úµÄÍ¬Ê±ÍÆ¶¯ÒµÎñÓ¦ÓýøÐÐÔÆÔÉú¸ÄÔ죬¼ÓËÙÒµÎñÓ¦ÓÃÉÏÈÝÆ÷ÔÆ²¢ÇÒÈÃÔÆÉÏÒµÎñÀûÓÃÈÝÆ÷ÔÆµÄÓÅÊÆ»ñÈ¡¸ü´óµÄÒµÎñ¼ÛÖµ£¬Í¬Ê±Í¨¹ý¿É¹Û²âÐÔÆ½Ì¨ÊµÊ±¼à²â¿ÉÒµÎñµÄÁ¬ÐøÐԺͿÉÓÃÐÔ£¬È«Á¦ÎªÔÆÉÏÒµÎñ±£¼Ý»¤º½¡£
±¾ÎÄÀ´×ÔÓÚ΢ÐŹ«Öںżܹ¹Ê¦¼¼ÊõÁªÃË£¬ÓÉLinda±à¼¡¢ÍƼö¡£ |
|
Ò»¡¢½¨Éè±³¾°
È«ÃæÉÏÔÆºÍ³¯ÔƶËÇ¨ÒÆ½«³ÉΪÇ÷ÊÆ£¬µ±Ç°±£ÏÕÐÐÒµµÄÒ»¸öÆÕ±é¹²Ê¶Ö®Ò»¾ÍÊÇͨ¹ý¿Æ¼¼Çý¶¯ÒýÁìÆóÒµ½øÐÐÊý×Ö»¯×ªÐÍÉý¼¶¡£´«Í³µÄÐéÄ⻯¼¼Êõ£¬ÔÚ×ÊԴʹÓÃÂÊ¡¢Áé»îÐԺ͵¯ÐÔ·½ÃæÌáÉý¶È²¢²»¸ß£¬Òò´ËÔÆ¼ÆËã¡¢´óÊý¾Ý¡¢AI¼¼Êõ£¬³ÉΪ¸÷ÆóÒµµÄÖØµã½¨ÉèÁìÓò£¬ÔÚÒýÁìÈ«ÃæÃæÏòÔÆÔÉú¼¼Êõ½¨Éè·½Ïò£¬Ö÷Òª¸²¸Çµ¯ÐÔ¼ÆËã¡¢AI+GPU¡¢±ßÔµ¼ÆËã¡¢ServelessµÈÖ÷Á÷¼Ü¹¹£¬ÎÒ˾´Ó¼¼ÊõÉÏѡȡÖ÷Á÷K8Sƽ̨£¬ÔÚ¼¼Êõµ××ùµÄ»ù´¡ÔËά±£ÕÏÉÏÒýÈëSRE£¬¿ÆÑ§µÄÌá¸ßϵͳ¿ÉÓÃÐÔ£¬Ìá¸ß×ÊÔ´ÀûÓÃÂÊ£¬½µµÍ×ÜÌåTCOµÄͬʱ£¬ÎªÉϲãÓ¦ÓõĴ´Ð¡¢¿ìËÙµü´úºÍÎȶ¨ÔËÐÐÌṩÓÐЧ֧³Å¡£ÔÚ΢·þÎñ¡¢DevOps¡¢·Ö²¼Ê½µÈ·½ÃæÈÝÆ÷ÐéÄ⻯¼¼ÊõÌìÉú¾ß±¸ÓÅÊÆ£¬Òò´Ë³ÉΪÊý¾ÝÖÐÐÄÐÂÒ»´úÔÆ»ù´¡¼Ü¹¹µÄÑ¡Ôñ¡£
1¡¢ÆóÒµÒµÎñÓ¦ÓÃϵͳ·Ö²ã
ÆóÒµÈí¼þ¿ª·¢µÄÒ»¸ö·¢Õ¹½×¶Î£¬¼òµ¥µãÊáÀí¿ÉÒÔΪ£º
ÆóÒµµÄÓ¦ÓÃÈí¼þ¿ª·¢¡¢Éè¼Æ¡¢»·¾³ÔËÐÐÈ«²¿ÔÚ¹«Ë¾ÄÚ²¿Ë½ÓÐÔÆ»·¾³ºÍÊý¾ÝÖÐÐÄ£»
Èí¼þ¿ª·¢¡¢Éè¼Æ¡¢²âÊÔµÈÔÚÆóÒµÄÚ²¿£¬µ«ÊÇ×îÖÕ²¿ÊðÔÚ¹«ÓÐÔÆ»·¾³ÔËÐУ»
Èí¼þµÄ¿ª·¢¡¢Éè¼Æ¡¢²âÊÔ¡¢Õû¸ö¹¹½¨ºÍ²¿Êð¡¢³ÖÐø¼¯³É¹ý³ÌÈ«²¿ÔÚ¹«ÓÐÔÆ»·¾³½øÐС£

2¡¢»ùÓÚPaaSƽ̨µÄIT¼Ü¹¹¼ÓËÙÆóÒµÒµÎñϵͳÃô½Ý
ÈÝÆ÷¼¼ÊõÊÇÐγÉPaaSƽ̨µÄÐÂÆõ»ú¡£ÈÝÆ÷ÊÇ2016ÄêÈí¼þÐÐÒµÆß´óÇ÷ÊÆÖ®Ê×£¬ÒÔDockerΪ´ú±íµÄÈÝÆ÷¼¼ÊõÊÇÒ»ÖÖÇáÁ¿¼¶ÐéÄ⻯¼¼Êõ£¬ÊµÏÖÓ¦Ó÷â×°±ê×¼»¯£¬ÐγɻìºÏÔÆ²¿Êð±ê×¼¡£
΢·þÎñ¼Ü¹¹ÒýÁìÆóÒµÈí¼þ¼Ü¹¹µÄ±ä¸ï£¬½«Ó¦Ó÷ָî³ÉһϵÁÐϸÁ£¶È·þÎñµÄÓ¦Óüܹ¹Ä£Ê½£¬ËüÓëÈÝÆ÷³É¾ÍÁËÆóÒµÓ¦Óÿª·¢¡¢²¿ÊðºÍÐÔÄÜÉìËõµÄÃô½Ý¡£Î§ÈÆÆóÒµÒµÎñµÄ¹ØÁªÐÔ²ð·Ö΢·þÎñ£¬Ê¹ITÃô½Ý´ø¶¯ÒµÎñÃô½Ý¡£

¶þ¡¢ÈÝÆ÷ÔÆPaaSµÄ½¨ÉèÄ¿±ê
Kubernetes×÷ΪÈÝÆ÷±àÅż¼Êõ±ê׼ΪPaaS¼¼ÊõÑݽø£¬PaaSÓëIaaSÈÚºÏÌṩÁË»ù´¡£¬ÔÆÔÉúΪÆóÒµÉú²ú»·¾³ÔËÐÐÈÝÆ÷Ó¦ÓöøÉè¼Æ¡£
ÒÔK8sΪ¼¼ÊõºËÐĵÄÈÝÆ÷ÔÆPaaSƽ̨µÄ½¨ÉèÖ÷Òª°üÀ¨£ºÔÆ¹ÜÆ½Ì¨½¨Éè¡¢CI/CD¶Ô½Ó¡¢ÈÝÆ÷¾µÏñ£¨Ó¦ÓÃÉ̳ǣ©¹ÜÀí¡¢ÈÕÖ¾Óë¼à¿Ø¶Ô½Ó¡¢Ó¦ÓñàÅÅ¡¢×ÊÔ´µ÷¶È¡¢ÍøÂç´æ´¢µÈ¡£ÎªÆóÒµÒµÎñÌṩ¸ß¿ÉÓøßÐÔÄÜ¿ÉÉìËõµÄÈÝÆ÷Ó¦ÓùÜÀí·þÎñ£¬´Ù½øÒµÎñ¼ÛÖµµÄ¿ìËÙ½»¸¶¡£

Èý¡¢ÈÝÆ÷ƽ̨½¨Éè¼Ü¹¹Éè¼Æ¼°Êµ¼ù¾Ñé
1¡¢¼¼ÊõÑ¡ÐÍ
ÎÒÃÇ´Ó2019ÄêÄê³õ¿ªÊ¼½øÐм¼Êõµ÷ÑУ¬ºòÑ¡µÄ²úÆ·°üÀ¨£ºKubersphere ¡¢RancherLab¡¢Kubernetes¡¢OpenShift¡£ÎÒÃǶÔÿ¸ö·½°¸¶¼½øÐÐÁËÉî¶ÈµÄÔ¤Ñо¿ºÍ¼¼ÊõÆÀ¹À£¬×îÖÕÑ¡ÔñÁËOpenShift¡£
Ñ¡ÔñOpenShiftµÄÔÒò£¬Ö÷ÒªÊÇOpenShiftÊÇÒ»¸ö˽ÓеĻùÓÚKubernetesµÄÆóÒµ¼¶PaaS£¨Platform-as-a-Service£©½â¾ö·½°¸£¬Ö÷ÒªÓÃÀ´ÔÚÈÝÆ÷Öд¡¢²¿ÊðÒÔ¼°ÔËÐÐÓ¦ÓóÌÐò¡£¶ÔÓÚµ±³õÈÝÆ÷¼¼Êõ¼°ÈËÔ±´¢±¸»¹´¦ÓÚÆð²½½×¶ÎµÄÎÒÃÇÀ´Ëµ£¬½¨ÉèÖÜÆÚÏà¶Ô½Ï¶Ì£¬ÔÚÒýÈëÆ½Ì¨²¢ÇÒ½øÐÐÂ䵨¶¨ÖƵĹý³ÌÖпÉÒԲο¼Í¬ÀàÆóÒµµÄÓ¦Óð¸Àý¡£

2¡¢OpenShift×é¼þ¼Ü¹¹
OpenShift µÄºËÐÄ×é¼þ°üÀ¨Master½Úµã¡¢Node½Úµã¡¢ÈÝÆ÷²Ö¿â£¨Container Registry£©¡¢Â·Óɲ㣨Routing
Layer£©¡¢·þÎñ²ã£¨Service Layer£©¡¢Web ConsoleºÍCLI¡£
¸÷×é¼þÖ®¼äµÄ²ã¼¶¹ØÏµÈçÏÂͼËùʾ£º

3¡¢¼¼ÊõÖ§³Å
ÈÝÆ÷ÔÆPaaS£¬ÊÇ»ùÓÚ Kubernetes(OpenShift) ¹¹½¨µÄ·Ö²¼Ê½¡¢¶à×â»§¡¢ÆóÒµ¼¶ÈÝÆ÷¹ÜÀíÆ½Ì¨£¬×öΪÏÂÒ»´úÔÆ¼ÆËã¼¼Êõ£¬¶ÔÖ§³ÅÎÒ˾Êý×Ö»¯×ªÐͺÍм¼ÊõÑо¿ÓÐÖØÒªÒâÒå¡£
lÆóÒµ¼¶PaaSƽ̨ÄÜÁ¦£º¸ß¿ÉÓü¯Èº£¬µ¯ÐÔÉìËõ£¬¶à×â»§°²È«¸ôÀ룻
l¸ßЧ¿ª·¢ÔËάÄÜÁ¦£ºÎïÀí»úÖ±½Ó²¿Êð£¬ÍêÉÆµÄÔËάºÍ¼à¿ØÌåϵ£»
lDevOpsÄÜÁ¦£ºCI / CD ¡¢Î¢·þÎñÖÎÀí¡¢Ó¦ÓùÜÀíµÈ¹¦ÄÜ£¬¿ìËÙ¹¹½¨¡¢²¿Êð¼°ÔËάÈÝÆ÷¼Ü¹¹£¬ÊµÏÖÓ¦ÓõÄÃô½Ý¿ª·¢ÓëÈ«ÉúÃüÖÜÆÚ¹ÜÀí¡£

4¡¢¼¼Êõ¶ÑÕ»
ÈÝÆ÷ÔÆPaaSÆ½Ì¨Éæ¼°µÄ¼¼ÊõÕ»Ö÷Òª°üÀ¨£ºwebconsole¡¢GitLab CI¡¢K8s¡¢ETCD¡¢CRI-OµÈ¡£»ùÓڵײãµÄºìñCoreOS²Ù×÷ϵͳÔËÐÐOpenShiftµÄºËÐÄ×é¼þ¹¦ÄÜ¡£

5¡¢Âß¼¼Ü¹¹
ÈÝÆ÷ÔÆPaaSƽ̨ÊÇÒ»Ì×¶ÔÈÝÆ÷»¯Ó¦ÓýøÐйÜÀíµÄ·Ö²¼Ê½Æ½Ì¨£¬¿ÉÒÔÌṩ¸ß¿ÉÓᢸßÐÔÄÜ¡¢¿ÉÉìËõµÄÈÝÆ÷Ó¦ÓùÜÀí·þÎñ¡£µ×²ãÊÇ»ù´¡ÉèÊ©×ÊÔ´²ã£¬°üÀ¨Ö÷»ú¼ÆËã½Úµã¡¢ÍøÂç¡¢´æ´¢µÈ×ÊÔ´¹²Í¬¹¹½¨µÄÈÝÆ÷¼¯Èº¡£
ÕûÌåÂß¼¼Ü¹¹Éè¼ÆÈçÏ£ºÔËάÈËÔ±Õë¶ÔÈÝÆ÷¼¯ÈºÄڵĻù´¡½Úµã¡¢¿ØÖƽڵãÒÔ¼°¼ÆËã½ÚµãµÄµ÷¶È¹ÜÀí£¨±ÈÈç×ÊÔ´·ÖÅä¡¢ÏÞ¶î¡¢µ÷¶È¹ÜÀíµÈ£©½øÐÐÕûÌå¼Ü¹¹Éè¼ÆÒÔ¼°ÔËά¹ÜÀí£¬¿ª·¢ÈËԱͨ¹ýGitLabÌá½»´úÂëºó£¬CICDÁ÷Ë®Ïß´ò°ü¹¹½¨¾µÏñ²¿Êðµ½ÈÝÆ÷¼¯Èº¡£
ͬʱ£¬×ñ´ÓÎÒ˾µÄIT¼¼Êõ¹æ·¶ºÍÔËάҪÇó£¬ÈÝÆ÷ÔÆPaaSƽ̨¶Ô½ÓµÄϵͳÖ÷Òª°üÀ¨LDAPͳһÉí·ÝÑé֤ƽ̨¡¢Í³Ò»ÈÕ־ƽ̨¡¢Í³Ò»¼à¿Ø¼°¸æ¾¯Æ½Ì¨¡¢DevOpsƽ̨¡¢ÔÆ¹ÜÆ½Ì¨¡¢ÏÖÓÐÍøÂç¼Ü¹¹¡¢¶ÔÏó´æ´¢¡¢±¤ÀÝ»úµÈ¡£

6¡¢ÈÝÆ÷¼¯Èº²¿ÊðÁ÷³Ì
µ±Ç°ÈÝÆ÷¼¯Èº²¿ÊðÁ÷³ÌÈçÏÂͼËùʾ£ºÁ÷Ë®Ïß´ÓGitLabÀÈ¡´úÂë½øÐÐCICD¹ý³Ì£¨Ö§³ÖÁ½ÖÖ·½Ê½£ºJenkinsÁ÷Ë®Ïß¡¢GitLab
CI£©Éú³ÉÖÆÆ·£¬¹¹½¨¾µÏñ£¬²¿Ê𣨲¿ÊðÖ§³ÖÈýÖÖ·½Ê½£ºHelm²¿Êð¡¢ÊÖ¶¯²¿Êð¡¢GitLab²¿Ê𣩵½ÈÝÆ÷¼¯Èº¡£

7¡¢ÈÝÆ÷ÔÆPaaSƽ̨ÓëÄÚ²¿DevOpsƽ̨
Ŀǰ¼¯ÍÅÄÚ²¿´æÔÚDevOpsƽ̨ºÍÈÝÆ÷ÔÆPaaSƽ̨¡£
¸ù¾Ýʵ¼ÊÒµÎñ³¡¾°½øÐÐÓ¦Óû®·Ö£¬DevOpsƽ̨Ö÷ÒªÓÃÓÚÖ§³Ö´«Í³ÐéÄâ»úµÄ×Ô¶¯»¯²¿Êð£¨ÒÔJenkins
pipelineΪµ××ù£¬Á÷Ë®Ïß²¿Êðµ½´«Í³ÐéÄâ»ú£¬Ò²¿ÉÒÔÖ§³Ö´«Í³Ó¦Óò¿Êðµ½ÈÝÆ÷ÔÆPaaS£©£¬ÈÝÆ÷ÔÆPaaSÆ½Ì¨ÖØµãÖ§³ÖÔÆÔÉúÓ¦ÓõĿìËÙ²¿Êð£¨ÔÆÔÉúÓ¦ÓÃͨ¹ýGitLab
CIÁ÷Ë®Ïß²¿Êðµ½ÈÝÆ÷ÔÆÆ½Ì¨ £©¡£

8¡¢ÈÝÆ÷ÔÆÈÕÖ¾ÊÕ¼¯
µ±Ç°ÈÝÆ÷ƽ̨µÄÈÕÖ¾Êä³ö½øÐÐÁ˱ê×¼»¯¶¨ÒåÇÒ¶Ô½ÓÍⲿÈÕ־ƽ̨-ELKͳһÈÕ־ƽ̨£¬ÓÉÈÕ־ƽ̨½øÐÐÔËÐÐʱÈÕÖ¾ÊÕ¼¯¡£Ä¿Ç°Ò²ÔÚͬ²½´î½¨¶ÀÁ¢µÄ¿É¹Û²âÐÔÆ½Ì¨£¬½øÐÐÕû¸öDevOps¹¤¾ßÁ´Á´Ìõ£¨°üÀ¨ÈÝÆ÷ÔÆÆ½Ì¨£©µÄÈÕÖ¾ÊÕ¼¯ÒÔ¼°Ö¸±ê·ÖÎöչʾ£¬Í¬Ê±ÎªÎÒÃǵÄAIOpsÌṩ»ù´¡Ö§³Å¡£

9¡¢¼à¿Ø·½°¸
´«Í³»ùÓÚIPµÄCPU¡¢mem¡¢´ÅÅÌµÈ¼à¿ØÏî²»ÔÚÊÊÓÃÓÚÈÝÆ÷£¬ÐèÕë¶Ô·þÎñ̽ÕëÔö¼Ó½¡¿µ¼ì²é£¬Ö÷Òª¼à¿Ø°üÀ¨:¼¯Èº¼à¿Ø¡¢·ÖÇø¼à¿Ø¡¢½Úµã¼à¿Ø¡¢×é¼þ¼à¿Ø¡¢Ó¦ÓÃ¼à¿ØºÍEtcd¼à¿Ø¡£ÈÝÆ÷ÔÆÆ½Ì¨MasterºÍNode¼ÆËã×ÊÔ´£¨CPU¡¢ÄÚ´æ¡¢SWAP¡¢´ÅÅÌ¡¢ÈÕÖ¾¹Ø¼ü×ֵȣ©Í¨¹ýZabbix½øÐлù´¡¼à¿Ø£¬OCPÖÐÔËÐеÄPod£¨CPU¡¢Äڴ棩ͨ¹ýPrometheus½øÐÐ¼à¿Ø£¬Ïà¹Ø¼à¿ØÊý¾ÝʹÓÃGrafanaÒDZíÅ̽øÐÐչʾ¡£

10¡¢»ù´¡¼Ü¹¹
Ö§³ÅÈÝÆ÷ÔÆÆ½Ì¨µÄ·þÎñÆ÷ÓÐÁ½ÖÖÀàÐÍ£¬Ò»ÖÖÊÇÐéÄâ»ú£¬Ò»ÖÖÊÇÂã½ðÊô·þÎñÆ÷¡£ºÍÐéÄ⻯·þÎñÆ÷Ïà±È£¬Âã½ðÊô·þÎñÆ÷£¨Bare
Metal Server£©¼«´óµØ¹æ±ÜÁËÐéÄ⻯·þÎñÆ÷µÄÐÔÄÜËðʧÒÔ¼°àÐÔÓÁÚ¾ÓЧӦ¡£±¾ÖÊÉÏÂã½ðÊô·þÎñÆ÷¾ÍÊÇÎïÀí·þÎñÆ÷£¬²»¹ýÓÖºÍÔÆ·þÎñµÄ½áºÏ£¬ÒÔ´ïµ½ÔÆ¼ÆËãµÄµ¯ÐÔ£¬Òò´ËÊÇÒ»ÖÖÓ²¼þºÍÈí¼þ½áºÏµÄ²úÎï¡£
Ó¢ÌØ¶ûÒ²Ôø·¢±íÁËһƪÎÄÕÂÀ´¶¨ÒåÂã½ðÊô¼´·þÎñ£º¡°Â㡱£¬¼´ÒªÇóËü±¾Éí¿ÉÒÔÌṩÎïÀí»ú¼¶±ðµÄÐÔÄܺͰ²È«¸ôÀ룻¡°¼´·þÎñ¡±ÔòÒâζ×ÅËü»¹ÄÜʵÏÖÎïÀí»úÌåÑé¡¢ÒÔ¼°»ùÓÚÔÆµÄ×ÊÔ´¹ÜÀíºÍµ÷ÅäÄÜÁ¦µÄ¸ß¶ÈÈںϡ£Ñ¡ÔñÂã½ðÊô·þÎñÆ÷»¹ÊÇÐéÄâ»ú£¬ÓÉÊý¾ÝÖÐÐĵÄʵ¼ÊÇé¿ö¶ø¶¨¡£ÓÉÓÚÓ¦ÓÃϵͳÖÖÀ಻һ£¬¶Ô»ù´¡ÉèÊ©µÄ×ÊÔ´ÐèÇóÒ²²»Ò»Ñù£¬ÀýÈçÆ«¼ÆËãÐ;ÍÐèÒª¸ü¶àCPU£¬¶øÂã½ðÊô·þÎñÆ÷¿ÉÁé»îÅäÖúÍά»¤¡£
ͬʱ£¬Âã½ðÊô²¿ÊðÒ²ÊÇÒ»ÖÖÇ÷ÊÆµÄÈÝÆ÷²¿Êð·½°¸£¬ÓиüºÃÐÔÄÜ£¬¸üÄܳä·Ö·¢»ÓÈÝÆ÷¼¼ÊõÓÅÊÆ¡£Ç¡ÈçÀ´×ÔTwitterµÄOCI£¨¿ª·ÅÈÝÆ÷±ê×¼£©Ö´ÐжÊÂChris
AniszczykÔøÌáµ½µÄ£¬¡°Èç¹û±È½ÏÄÇЩÀ´×ÔCNCFºÍOCIµÄʹÈÝÆ÷¸ü¼Ó±ê×¼»¯µÄÏîÄ¿£¬Äã»á·¢ÏÖËüÃÇȷʵ¸üÈÝÒ×ÔÚÂã½ðÊôÉÏÔËÐС£ÎÒÈÏΪһ¶Îʱ¼äºóÄ㽫¿´µ½¸ü¶àµÄʹÓÃÂã½ðÊôµÄÈÝÆ÷£¬ÒòΪÏà±ÈÒ»¸ö·Ç³£¸´ÔÓµÄOpenStack»·¾³£¬Ëüȷʵ¸üÈÝÒ×ÔÚÂã½ðÊô»·¾³Öд´½¨¡£¡±
×ۺϿ¼ÂÇÏ£¬ÈÝÆ÷ÔÆÆ½Ì¨Ñ¡ÔñÂã½ðÊô·þÎñÆ÷²¿Êð¡£Âã½ðÊôÈÝÆ÷²¿ÊðµÄ¼æ¹ËÓÅÊÆÎÞ·¨Í¨¹ý²¿·ÖÓ²¼þ»òÈí¼þµÄ¸üл»´úÄÜʵÏÖ£¬ÐèÒª´ÓÕûÌå¼Ü¹¹ÈëÊÖ£¬°üÀ¨¼ÆËã¡¢´æ´¢ºÍÍøÂçÓ²¼þµÄÑ¡Ôñ¡¢´îÅäºÍƽºâ£¬ÔÙµ½»ù´¡ÉèÊ©¹ÜÀíºÍÓ¦ÓòãÈí¼þµÄ¿ª·¢ºÍµ÷ÓÅ£¬µ½×îºóƽ̨µÄ²¿ÊðºÍÔËά·½Ê½ÓÅ»¯£¬¶¼Òª¿¼Âǵ½Î»¡£ÔÚ»ù´¡ÉèʩѡÐÍʱ£¬¿¼ÂÇÓ²¼þ³É±¾¹ÌÈ»ºÜÖØÒª£¬µ«ÕâÖ»ÊÇÕûÌåÐÔÄܺÍÐԼ۱ȵÄÒ»²¿·Ö£¬Ñ¡¶ÔÉú̬ϵͳºÜ¹Ø¼ü¡£Ó¢Ìضû?ÖÁÇ¿?¿ÉÀ©Õ¹´¦ÀíÆ÷¼Ü¹¹Êǵ±Ç°¹ã·ºÓ¦ÓÃÔÚÔÆ¼ÆË㳡¾°ÉϵĴ¦ÀíÆ÷¼Ü¹¹£¬Æä¹ã·ºµÄ¿ÉÓÃÐÔΪ¿Í»§ÌṩÁ˹ؼüÒµÎñÓ¦ÓóÌÐòËùÐèµÄÒ»ÖÂÐԺͿɿ¿ÐÔ¡£
Ëæ×ÅÈÝÆ÷ÔÆ¼¼ÊõµÄÈÕÇ÷±ê×¼ÒÔ¼°Éú̬ÈÕÇ÷³ÉÊ죬ÈÝÆ÷ÔÆÏòÉÏ·¢Õ¹¸ü¶à¾Û½¹ÓÚ΢·þÎñ»¯Ó¦ÓõÄÉè¼ÆºÍʵÏÖ£»ÏòÏ·¢Õ¹¸ü¶àÀûÓÃIAÐÂÓ²¼þÆ½Ì¨ÌØÐÔ£¬Í¨¹ý±ê×¼»¯µÄ½Ó¿ÚÊÊÅä¸ü¶àµÄ¼ÆËã¡¢´æ´¢¡¢ÍøÂç·½°¸¡£Ó¢Ìضû½üÄêÀ´ÍƳöµÄһϵÁлùÓÚIAÐÂÓ²¼þÌØÐԵļÆËã¡¢´æ´¢¡¢ÍøÂç¡¢°²È«½â¾ö·½°¸£¬¸³ÄÜÈÝÆ÷ÔÆ²»¶ÏÖúÁ¦ÆóÒµ½µ±¾ÔöЧ£¬³É¹¦Íê³ÉÊý×Ö»¯×ªÐÍ¡£
Ó¢ÌØ¶ûÒ²Ôںͺìñ»ý¼«¹¹½¨Ò»Ì廯½â¾ö·½°¸£¬Á½¼Ò¹«Ë¾Õë¶Ô¶àÔÆ¼Ü¹¹ÏÂÔÆÔÉú²Î¿¼¼Ü¹¹Öвο¼ÈçÏ£º

ÈÝÆ÷ÔÆÂã½ðÊô·þÎñÆ÷²ÉÓõÄÊÇDell PowerEdge R740£¬´¦ÀíÆ÷ÊÇÓ¢ÌØ¶û?ÖÁÇ¿?½ðÅÆ6230CPU@2.10GHz¼°ÒÔÉϱ£ÕÏ´¦ÀíÐÔÄÜ¡£

ËÄ¡¢Ó¦Óó¡¾°µÄʵ¼ù
1¡¢ÒµÎñÓ¦ÓÃʹÓÃGitLab CI ²¿Êðµ½OpenShift µÄÔÆÔÉú¸ÄÔìÈ«¹ý³ÌʵÀý
1£©ÒµÎñÓ¦Óü¼ÊõÕ®¸Ä½ø
³ýÁË´úÂ룬¼¼ÊõÎĵµ¡¢¹¤¾ßÅäÖá¢Êý¾Ý¿â½Å±¾¡¢CI µÈ¾¡Á¿Í³Ò»Ê¹ÓÃÔ´´úÂë¹ÜÀí¡£
Äܹ»Óù¤¾ß¡¢×Ô¶¯»¯½â¾öµÄÎÊÌâ²»Òª¼òµ¥ÒÀÀµÎĵµ¡¢¿Ú¿ÚÏà´«¡£
ÔÚ¿ª·¢»·¾³¾¡Á¿¼õÉÙÍⲿÒÀÀµ£¬·½±ã»·¾³´î½¨¡£
¿ª·¢¿ò¼Ü¡¢¼¼ÊõÕ»Éý¼¶£¬³¥¼¼ÊõÕ®¡£
Ö®ºó²ÅÊǾßÌåµÄÔÆÔÉú¸ÄÔìµã¡£
2£©ÔÆÔÉú¸ÄÔ죬¹Ø¼ü¶¯×÷°üÀ¨£º
´´½¨ Dockerfile ÓÃÓÚ¹¹½¨Ó¦ÓõÄÈÝÆ÷¾µÏñ¡£
´´½¨ Helm Chart ÓÃÓÚ²¿Êðµ½ OpenShift¡£
´´½¨ .gitlab-ci.yml ÓÃÓÚ×Ô¶¯»¯ÒÔÉϹ¤×÷¡£
¾ßÌåµÄ¸ÄÔì¹ý³ÌÈçÏÂͼËùʾ£º

ͨ¹ýGitLab CIÁ÷Ë®Ïß½øÐÐÈÝÆ÷»¯²¿ÊðÈçÏÂͼËùʾ£º

2¡¢¿É¹Û²âÐÔÆ½Ì¨´î½¨£º
1£©¼¼Êõ£º
»ùÓÚ΢·þÎñ¼¼Êõ£ºThanos +Loki+Minio£»
2£©¿É¹Û²âÐÔÆ½Ì¨µÄ½¨ÉèÄ¿±ê£º
¼¯ÖÐʽÈÕÖ¾ÖÐÐÄ£¨½«ÈÕÖ¾±ê×¼»¯Êä³öºÍͳһ´æ´¢£©£¬Í³Ò»·ÖÎö¡£Í³Ò»Õ¹Ê¾ºÍ¶àά¹ØÁª£¨ÐγÉͳһµÄ¼à¿ØÊÓͼ£¬²¢¿É¸ù¾ÝÖ÷Ìâ×ö¹ØÁª·ÖÎö£©¡£
3£©ÕûÌåÉè¼Æ¿ò¼Ü£º

4£©¿É¹Û²âÐÔÆ½Ì¨²¿Êð¼Ü¹¹£º
LB ΪÍⲿ²¿Êð£¬Ö÷ÒªÓÃÓÚ SSL Termination¡£ÓÉÓÚ LB ÊÇÍⲿ¿ØÖÆ£¬Òò´ËʹÓà Nginx
×ÔÖ÷ÅäÖ÷ַ¢µ½¶à¸ö·þÎñ¡£Nginx Ö±½ÓÁ¬½ÓÁË Prometheus¡¢Thanos Querier
ʵÀý±©Â¶ÏàÓ¦ WebUI¡£
ʹÓà OAuth2 Proxy ×÷Ϊ Prometheus µÈδÄÚÖÃȨÏÞ¹ÜÀíµÄÓ¦ÓõĴúÀí£¬²ÉÓà Sidecar
ģʽ¡£
ÒÔÉ쵀 Prometheus Ö÷ÒªÊÇ¼à¿Ø DevOps ²úÆ·Á´Èç GitLab¡¢JFrog¡¢Jenkins
µÈ£¬OCP ÓÐ×Ô¼ºµÄ Prometheus£¬Á½¸ö Prometheus ʵÀýץȡͬÑùµÄÊý¾Ý¡£

5£©Thanos
Thanos¾ÛºÏPrometheus¶àÊý¾ÝÔ´²¢½øÐÐ×Ô¶¯È¥Öغ󣬸øÓû§Ìṩ¶àάÊý¾Ý²é¿´¡£

6£©Loki
ͨ¹ýLoki»ñÈ¡ÈÕÖ¾£¬ÔÚgrafanaÉϽøÐÐչʾ¡£

7£©Prometheus¼à¿ØÕ¹Ê¾

¿É¹Û²âÐÔÆ½Ì¨»á´ÓDevOps¹¤¾ßÁ´£¨GitLab¡¢Jenkins¡¢Sonar¡¢Jfrog£©¼°OpenShiftÈÝÆ÷ƽ̨ÊÕ¼¯ËùÓÐÈÕÖ¾ÐÅÏ¢£¬²¢ÇÒÉè¼ÆÏàÓ¦µÄÖ¸±ê£¬×îÖÕͨ¹ý¿É¹Û²âÐÔÆ½Ì¨½øÐÐչʾ£¬½»¸¶¸øÓû§½øÐзþÎñ״̬²é¿´£¬ÈÕÖ¾ÐÅÏ¢²éѯ£¬°ïÖúÎÊÌâÅŲéÕï¶Ï£¬ÌáÉýƽ̨ÕûÌåÔËάÌåÑé¡£
Îå¡¢ÒµÎñЧ¹û
µ±Ç°Ä³Ð©ºËÐÄÓ¦Ó㨱ÈÈ缯ÍÅÈý´óAPPÖ®Ò»µÄÖØµãÒµÎñAPP£¬×Ó¹«Ë¾µÄ²¿·Öto CÓ¦Ó㬼¯ÍŵÄÄÚ²¿¹ÜÀíÀàϵͳµÈ£©ÒѾÅÜÔÚÈÝÆ÷ÔÆ£¬¿ìËÙ½»¸¶ÓÈÆäÔÚÒµÎñ½ÚµãÆÚ¼äÈÝÆ÷ÔÆ°ïÖúÒµÎñÓ¦ÓÃʵÏÖ¿ìËÙÉìËõÈÝÓÅÊÆ³ä·Ö·¢»ÓÁËÓÅÊÆ¡£±ÈÈç´Ó֮ǰҵÎñÅÜÔÚ´«Í³ÐéÄâÉÏÊÇÒµÎñ½ÚµãÆÚ¼äÓöµ½Î´¿ÉÆÚµÄÀ©ÈÝ¿ÉÄÜ»á³öÏÖÀ©ÈÝǰҵÎñÓµ¶Â£¬À©Èݹý³ÌÖÐÒµÎñµÈ´ýµÈÇé¿ö¡£½ÓÈëÈÝÆ÷ÔÆÖ®ºóʵÏÖÁË×ÊÔ´µÄ×ÔÖúÃë¼¶»ñÈ¡£¬»ñÈ¡¿ÉÓÃ×ÊÔ´´Ó֮ǰµÄ4h(×îÀíÏëÇé¿ö)½µµ½ÁËÃë¼¶¡£Í¬Ê±Ê¹ÓÃGitLab
CI½øÐв¿Êð¿ÉÒÔʵÏÖ¿ìËٻعö£¬±£ÕÏÒµÎñµÄÁ¬ÐøÐԺͿÉÓÃÐÔ¡£
ÔÚ»ù´¡¼Ü¹¹²ãÃæ£¬Ñ¡ÔñÂã½ðÊô²¿Ê𣬿ÉÒÔ±ÜÃâËðºÄÌá¸ß×ÊÔ´µÄÀûÓÃÂÊ£¬ÌáÉý ROI £¬Í¬Ê±Í¨¹ýÓ¢ÌØ¶û?ÖÁÇ¿?¿ÉÀ©Õ¹´¦ÀíÆ÷¡¢Ó¢Ìضû?°ÁÌÚ?³Ö¾ÃÄÚ´æµÈ¼¼Êõ£¬¸ü¸ßЧµØÀûÓÃÓ²¼þ¼¶±ðµÄ´´Ð£¬¼ÓËÙ¼ÆËã¡¢½µµÍÑÓ³Ù£¬ÊµÏÖPaaSƽ̨ÕûÌå½»¸¶Ð§ÄÜ´ó´óÌáÉý¡£
Áù¡¢ÌôÕ½¼°Õ¹Íû
ÎÒÃÇÔÚÈÝÆ÷ÔÆ½¨ÉèÍÆ¹ã¡¢Ç¨Òƹý³ÌÖÐÃæÁÙµÄ×î´óÌôÕ½À´×ÔÓÚ¼¼ÊõÈËÔ±µÄÀíÄîת±ä£¬ÈÝÆ÷¼¼Êõ¸Ä±äÁËÈí¼þ½»¸¶µÄÉú̬£¬ÐèÒª¼¼ÊõÈËÔ±ÒÔеÄÀíÄî¹¹½¨Ó¦Óã¬ËùÒÔÎÒÃÇ»¨ÁË´óÁ¿µÄʱ¼ä¾«Á¦ÔÚ¶Ô¼¼ÊõÈËÔ±½øÐÐÔÆÔÉúÀíÄîµÄÐûµ¼ÅàÑø£¬È»ºóɸѡÊʺϵÄÒµÎñÓ¦ÓýøÐÐÔÆÔÉú¸ÄÔì¡£
ºóÐøÎÒÃǽ«Öð²½Íƶ¯Î¢·þÎñ¼Ü¹¹ÒýÈ룬ʵÏÖÓ¦Óüܹ¹ºÍ»ù´¡¼Ü¹¹×ªÐÍ£¬³ÖÐøÍÆ¶¯Èý´óAPPÖð²½½ÓÈëÈÝÆ÷ƽ̨¡£
ÈÝÆ÷ÔÆPaaSƽ̨µÄ½¨ÉèÊǺ¸ÇÓ¦Óá¢Èí¼þºÍ»ù´¡ÉèÊ©¶àÀàÐͼ¼ÊõÕ»µÄ´´ÐÂÏîÄ¿¡£¹Ø¼üÒµÎñÈÝÆ÷»¯¾ö²ßʱ£¬¶ÔÕûÌå¼Ü¹¹Éè¼Æ»á¸üΪÉóÉ÷£¬ÐèÒªÖØÊÓ¶Ô»ù´¡ÉèÊ©×ÊÔ´µÄÆÀ¹ÀÓëÑ¡ÐÍ¡£ |