ÔÚÏÖ´úÆóÒµÊý×Ö»¯×ªÐ͵ÄÀ˳±ÖУ¬Î¢Ð§Àͼܹ¹ÕýÖð½¥³ÉΪÆóÒµ¹¹½¨¸ßЧ¡¢ÎÞаӦÓõÄÖ÷Á÷¼Æ»®¡£¶øÈÝÆ÷ÊÖÒÕ£¬ÌØÊâÊÇKubernetesµÄÆÕ¼°£¬ÎªÎ¢Ð§À͵ݲÅÅ¡¢ÖÎÀíÌṩÁ˼«´ó±ãµ±¡£ÆñÂÛÊÇLinux£¬ÕÕ¾ÉWindowsƽ̨£¬ÈÝÆ÷¶¼³ÉΪÁËÊ±ÊÆËùÇ÷¡£
WindowsÈÝÆ÷ÔÚKubernetesÖеÄÓ¦Óã¬ÔøÒ»¶È±»Òµ½çÊÓΪ¡°ÄÑÒÔÓâÔ½µÄÄÑÌ⡱¡£½ñÌì£¬Ëæ×ÅÊÖÒÕµÄÒ»Ö±³ÉÊìºÍÉú̬µÄÖð²½ÍêÉÆ£¬WindowsÈÝÆ÷ÔÚKubernetesÖеĽÇÉ«±äµÃÓú·¢Ö÷Òª£¬¿ªÆôÁËÆóÒµ¿çƽ̨¡¢¶àÔÆÇéÐÎϵÄȫпÉÄÜ¡£
ΪºÎWindowsÈÝÆ÷ÔÆÔÆÖ÷Òª£¿ÃÕµ××ÅʵºÜ¼òÆÓ¡ª¡ªÐí¶àÆóÒµµÄӪҵϵͳÉî¶ÈÒÀÀµWindowsÉú̬£¬ÎÞÂÛÊǹŰåµÄ.NETÓ¦Óá¢ÆóÒµ¼¶µÄ°ì¹«ÇéÐΡ¢ÕÕ¾ÉרÃŵÄÉÌÓÃÈí¼þ£¬Windows¶¼Õ¼ÓÐ×Ų»¿ÉÌæ»»µÄְλ¡£½«WindowsÈÝÆ÷ÒýÈëKubernetes£¬²»µ«¼«´óµØÍØ¿íÁËÈÝÆ÷»¯µÄÓ¦ÓýçÏߣ¬Ò²ÎªÆóÒµ´øÀ´ÁËØ¨¹ÅδÓеĵ¯ÐÔºÍ×Ô¶¯»¯ÄÜÁ¦¡£
WindowsÈÝÆ÷ÔÚKubernetesÖеÄÓ¦Óó¡¾°ÊÂʵÓÐÄÄЩ£¿ËüÄÜ×ÊÖúÆóҵʵÏÖ»ìÏýÔÆÕ½ÂÔ¡£²»ÉÙÆóÒµÔÚÍâµØÊý¾ÝÖÐÐݲÅÅWindowsЧÀÍÆ÷£¬Í¬Ê±Ò²ÔÚÔÆ¶ËʹÓÃAzureµÈ¹«¹²ÔÆÐ§ÀÍ¡£Í¨¹ýÔÚKubernetesÖм¯³ÉWindowsÈÝÆ÷£¬¿ÉÒÔÇáËÉʵÏÖ¿çÇéÐεÄͳһÖÎÀí£¬Í»ÆÆ¹Å°å¶àƽ̨ÔËάµÄ±ÚÀÝ¡£
WindowsÈÝÆ÷»¹Ö§³Ö΢ЧÀͲð·Ö£¬½«ÖØ´óµÄWindowsÓ¦Óòð½â³ÉÈô¸É×ÔÁ¦µÄ¡¢ÇáÁ¿¼¶µÄ΢ЧÀÍ£¬´Ó¶ø´ó´óÌáÉýÓ¦ÓõݲÅÅËÙÂʺÍά»¤Ð§ÂÊ¡£
WindowsÈÝÆ÷µÄ°²ÅźÍÖÎÀíÒ»¾ÃæÁÙ²»ÉÙÊÖÒÕÌôÕ½¡£ÓÉÓÚWindowsServerµÄÌØÓмܹ¹£¬WindowsÈÝÆ÷ÔÚ¼æÈÝÐÔ¡¢ÐÔÄÜÓÅ»¯¡¢Çå¾²ÐԵȷ½Ãæ¶¼±ÈLinuxÈÝÆ÷¸üÎªÖØ´ó¡£ÐҺã¬Ëæ×ÅMicrosoftºÍÔÆÅÌËãÐÐÒµµÄÅäºÏÆð¾¢£¬ÕâЩÎÊÌâÖð²½±»Õ¹ÏÖÏ¢Õù¾ö¡£
Microsoft×ÔWindowsServer2019Æð£¬Í¨¹ý¶ÔÈÝÆ÷ÊÖÒÕµÄÒ»Á¬ÓÅ»¯£¬ÌṩÁ˸üÎȹ̡¢¸ü¸ßЧµÄWindowsÈÝÆ÷Ö§³Ö¡£GitHub¡¢AzureKubernetesService£¨AKS£©µÈƽ̨Ҳͬ²½ÍƳöÁ˶ÔWindowsÈÝÆ÷µÄÖ§³Ö£¬¼«´óµØ½µµÍÁËÆóÒµ½ÓÄÉÃż÷¡£
ÁíÒ»·½Ã棬Kubernetes×÷Ϊҵ½ç×î³ÉÊìµÄÈÝÆ÷±àÅÅÆ½Ì¨£¬Ò²Ò»Ö±ÍƳöÖ§³ÖWindows½ÚµãµÄ¹¦Ð§¡£ÔçÔÚKubernetes1.14°æ±¾£¬¹Ù·½¾Í×îÏÈÒýÈëWindowsServerµÄÖ§³Ö£¬²¢Öð²½ÍêÉÆÏà¹ØAPI£¬Ê¹WindowsÈÝÆ÷¿ÉÒÔÏñLinuxÈÝÆ÷Ò»Ñù±»µ÷Àí¡¢ÖÎÀí¡£
»ùÓÚ´Ë£¬ÆóÒµ¿ÉÒÔÔÚͳһ¼¯ÈºÖÐͬʱÔËÐÐLinuxºÍWindows½Úµã£¬ÊµÏÖÎÞаµÄ¶àƽ̨΢ЧÀͼܹ¹¡£
ËäÈ»£¬ÒªÔÚKubernetesÖиßЧÔËÓÃWindowsÈÝÆ÷£¬»¹ÐèҪ˼Á¿Öî¶àÊÖÒÕϸ½Ú¡£ÀýÈç£¬ÍøÂçÉèÖᢴ洢¼Æ»®¡¢Çå¾²Õ½ÂÔ¡¢ÒÔ¼°ÉúÃüÖÜÆÚÖÎÀí¡£ÕâЩ¶¼ÊÇʵÏÖ¡°¿çƽ̨ÎÞ·ìÐ×÷¡±µÄÒªº¦»·½Ú¡£Ä³Ð©ÐèÒªÌØÊâÇý¶¯»òÒÀÀµÌض¨Ó²¼þµÄÓ¦Óã¬Ò²¿ÉÄÜ´øÀ´ÌØÁíÍâÌôÕ½¡£²»¹ý£¬Ëæ×ÅMicrosoftAzureÔÆºÍÉçÇøµÄÒ»Á¬Á¢Ò죬Ïà¹ØÊÖÒռƻ®ÈÕÒæÍêÉÆ£¬×îÖÕÓû§¿ÉÒÔÏíÊܵ½¿¿½üLinuxÈÝÆ÷µÄÓÅÑÅÌåÑé¡£
×ܽáÀ´¿´£¬WindowsÈÝÆ÷µÄ¼ÓÈ룬ΪÆóÒµ·¿ªÁËÒ»Éȸü¿íÀ«µÄ΢ЧÀÍ´óÃÅ¡£½èÖúKubernetesǿʢµÄ±àÅÅÄÜÁ¦£¬ÆóÒµ¿ÉÒÔÔÚ°ü¹ÜWindowsÓ¦ÓÃÐÔÄܺÍÇå¾²µÄ»ù´¡ÉÏ£¬³ä·ÖÑéÕ¹ÈÝÆ÷µÄµ¯ÐÔºÍ×Ô¶¯»¯ÓÅÊÆ¡£Õâ²»µ«½öÊÇÒ»³¡ÊÖÒÕÉý¼¶£¬¸üÊÇÒ»³¡ÆóÒµÊý×Ö»¯¡¢¿çƽ̨¡¢¶àÔÆÕ½ÂÔµÄÉî¶ÈˢС£
δÀ´£¬WindowsÈÝÆ÷½«ÔÚÆóÒµµÄITÉú̬ÖÐÊÎÑÝÔ½À´Ô½Ö÷ÒªµÄ½ÇÉ«£¬ÖúÍÆÆóÒµÂõÏòÔ½·¢ÖÇÄÜ¡¢Ñ¸ËÙµÄÊý×ÖδÀ´¡£
ÔڿƼ¼Ò»Ö±ÑݽøµÄ½ñÌ죬½«WindowsÈÝÆ÷ÍêÉÆ¼¯³Éµ½KubernetesÖ®ÖУ¬ÒѳÉΪÆóÒµÊý×ÖÕ½ÂÔÖв»¿É»òȱµÄÒ»»·¡£Ëæ×ÅWindowsServerµÄÒ»Á¬ÓÅ»¯ºÍKubernetesƽ̨µÄ¹¦Ð§ÔöÇ¿£¬¸ü¶àÆóÒµ×îÏȹØ×¢¿çƽ̨ÈÝÆ÷ÖÎÀíµÄ×î¼Ñʵ¼ù¡£
ÔõÑù×î´ó»¯Ê¹ÓÃWindowsÈÝÆ÷ÔÚKubernetesÖеÄDZÁ¦£¿ÓÐÄÄЩҪº¦ÊÖÒÕºÍʵ¼ùÂÄÀúÖµµÃ½è¼ø£¿±¾ÎĽ«´ÓÊÖÒÕʵÏÖ¡¢¼Ü¹¹Éè¼Æ¡¢Çå¾²Õ½ÂÔ£¬µ½Î´À´Éú³¤Ç÷ÊÆ£¬ÎªÄãÏêϸÉî¶ÈÆÊÎö¡£
ÊÖÒռܹ¹·½Ã棬´òÔìÒ»¸ö¸ßЧµÄWindowsÈÝÆ÷KubernetesÇéÐΣ¬Òªº¦ÔÚÓÚ½ÚµãµÄÍýÏëÓëµ÷Àí¡£Æóҵͨ³£»á½ÓÄÉ»ìÏý°²ÅÅÕ½ÂÔ£¬½«LinuxºÍWindows½ÚµãÁ¬Ïµ£¬ÐÎ³É¶àÆ½Ì¨µÄ¼¯Èº¼Ü¹¹¡£ÕâÖֽṹ²»µ«Öª×ã¶àÑù»¯µÄÓ¦ÓÃÐèÇó£¬Ò²´øÀ´Á˵÷ÀíÉϵÄÌôÕ½¡£
KubernetesÔÚµ÷ÀíÆ÷ÉÏÒýÈë½Úµã±êÇ©£¨NodeLabels£©ºÍ½ÚµãÑ¡Ôñ£¨NodeSelectors£©»úÖÆ£¬¿ÉÒÔ×ÊÖúÆóÒµ¾«×¼¿ØÖÆÈÝÆ÷ÔÚÄ¿µÄ½ÚµãÉÏÔËÐС£ÀýÈ磬½«WindowsÈÝÆ÷µ÷Àíµ½ÌØ¶¨±êÇ©µÄWindows½Úµã£¬´Ó¶øÊµÏÖ×ÊÔ´¸ôÀëºÍ¹ÊÕϸôÀë¡£
´æ´¢¼Æ»®Ò²ÊÇÒ»¸ö½ûÖ¹ºöÊӵĻ·½Ú¡£WindowsÈÝÆ÷¶Ô´æ´¢µÄÐèÇó½ÏLinuxÂÔÓвî±ð£¬ÌØÊâÊÇÔÚ³¤ÆÚ»¯´æ´¢·½Ãæ¡£ÆóÒµ¿ÉÒÔÒÀÍÐKubernetesÖ§³ÖµÄ´æ´¢ÀࣨStorageClasses£©Óë´æ´¢²å¼þ£¨CSI£©£¬ÊµÏÖ¶ÔWindowsÈÝÆ÷µÄ´æ´¢À©Õ¹¡£
¶øÊ¹ÓÃAzureFilesµÈÔÆ´æ´¢½â¾ö¼Æ»®£¬Ò²ÎªWindowsÈÝÆ÷ÌṩÁ˵¯ÐÔ¡¢¿ÉÀ©Õ¹µÄ´æ´¢Ö§³Ö£¬È·±£Ó¦ÓõÄÎȹÌÐÔºÍÊý¾ÝÇå¾²¡£
ÍøÂçÉèÖ÷½Ã棬WindowsÈÝÆ÷µÄÍøÂçÄ£×ÓÓëLinux±£´æ²î±ð£¬ÓÈÆäÊÇÔÚÍøÂçÕ½ÂԺͶ˿ÚÓ³ÉäÉÏ¡£½èÖúKubernetesÍøÂçÕ½ÂÔ£¨NetworkPolicies£©ºÍCNI£¨ContainerNetworkInterface£©²å¼þ£¬¿ÉÒÔÎÞаÉèÖÃWindowsÈÝÆ÷µÄÍøÂç»á¼ûȨÏÞºÍÅþÁ¬Â·¾¶¡£
ÔÚÏÖʵ²Ù×÷ÖУ¬AzureKubernetesService£¨AKS£©µÈÔÆÆ½Ì¨Ò²ÌṩÁËÕë¶ÔWindows½ÚµãµÄÍøÂçÓÅ»¯¼Æ»®£¬ÎªÆóÒµÌṩÁËһվʽµÄ½â¾ö¼Æ»®¡£
Çå¾²ÐÔ·½Ã棬WindowsÈÝÆ÷ÒýÈëÁËÐí¶àÐÂÔªËØ£¬°üÀ¨¸ôÀë¼¶±ð¡¢Óû§È¨ÏÞ¡¢¾µÏñÊðÃûµÈ¡£ÆóÒµÓ¦Á¬ÏµKubernetesµÄÇå¾²Õ½ÂÔ£¬½ÓÄÉPodÇå¾²Õ½ÂÔ£¨PodSecurityPolicies£©ºÍ½ÇÉ«»ù´¡»á¼û¿ØÖÆ£¨RBAC£©£¬È·±£²Ù×÷µÄºÏ¹æÐÔºÍÇå¾²ÐÔ¡£
ÌØÊâÊÇÔÚÉú²úÇéÐÎÖУ¬Ê¹ÓÃAzureSecurityCenterµÈÔÆÇå¾²¹¤¾ß£¬¿ÉÒÔʵÏÖ×Ô¶¯¼à¿ØºÍÍþв·ÀÓù£¬ÎªWindowsÈÝÆ÷µÄÇå¾²»¤º½¡£
Ëæ×ÅÊÖÒÕ³ÉÊ죬¼Ü¹¹µÄÒ»Ö±ÓÅ»¯£¬ÆóÒµ»¹Ó¦Ë¼Á¿ÈÝÆ÷µÄ×Ô¶¯À©ËõÈÝ£¨Auto-Scaling£©Õ½ÂÔ¡£KubernetesµÄHorizontalPodAutoscaler£¨HPA£©¿ÉÒÔÆ¾Ö¤Ó¦ÓøºÔØ×Ô¶¯µ÷½âʵÀýÊýÄ¿£¬µ«ÔÚWindowsÇéÐÎÏ£¬»¹ÐèÁ¬ÏµÓ¦ÓÃÌØÕ÷¾ÙÐе÷ÓÅ¡£
ͨ¹ý¼à¿ØÖ¸±ê£¨ÈçCPU¡¢ÄÚ´æºÍ×Ô½ç˵ָ±ê£©£¬ÆóÒµ¿ÉÒÔʵÏÖ×ÊÔ´µÄ¶¯Ì¬µ÷Å䣬ȷ±£Ð§À͵ĸ߿ÉÓÃÐԺͱ¾Ç®ÓÅ»¯¡£
Ò»Á¬¼¯³É/Ò»Á¬½»¸¶£¨CI/CD£©Á÷³ÌÔÚWindowsÈÝÆ÷µÄ°²ÅÅÖÐҲʩչ×ÅÒªº¦×÷Óá£Ê¹ÓÃAzureDevOps¡¢JenkinsµÈ¹¤¾ß£¬¿ÉÒÔʵÏÖ´Ó´úÂëÌá½»µ½ÈÝÆ÷¾µÏñ¹¹½¨£¬ÔÙµ½×Ô¶¯»¯°²ÅŵÄÈ«Á÷³Ì¡£Õâ²»µ«ÌáÉýÁË¿ª·¢Ð§ÂÊ£¬Ò²È·±£ÁËÉú²úÇéÐεÄÒ»ÖÂÐԺͿÉ×·ËÝÐÔ¡£
Ò»Ö±ÍêÉÆµÄCI/CD¹ÜµÀ£¬ÓÐÖúÓÚÆóÒµ¿ìËÙµü´ú¡¢Ñ¸ËÙÏìÓ¦Êг¡×ª±ä¡£
Õ¹ÍûδÀ´£¬WindowsÈÝÆ÷ÔÚKubernetesÖеÄÉú³¤¿Õ¼äÖØ´ó¡£Ò»·½Ã棬MicrosoftÒ»Ö±ÍÆ³öÖ§³ÖWindowsÈÝÆ÷µÄаæWindowsServerºÍAzureƽ̨£¬Ê¹µÃÆäÐÔÄÜ¡¢¼æÈÝÐÔÒ»Á¬ÌáÉý¡£ÁíÒ»·½Ã棬KubernetesÉçÇøÒ²ÔÚÆð¾¢Íƶ¯¿çƽ̨ÄÜÁ¦µÄ±ê×¼»¯ÓëÓÅ»¯£¬ÀýÈçK8sµÄÔöǿ֧³Ö¶à½ÚµãÀàÐÍ¡¢¶àÔÆÇéÐΣ¬È·±£WindowsÈÝÆ÷¿ÉÒÔºÍLinuxÈÝÆ÷Ò»Ñù£¬Î޷켯³ÉÓÚÔÆÔÉúÉú̬ÖС£
ijЩÁ¢ÒìÓ¦Óó¡¾°Ò²Ö𽥸¡³öË®Ãæ¡£ÀýÈ磬±ßÑØÅÌËã¡¢¹¤Òµ×Ô¶¯»¯¡¢½ðÈڿƼ¼µÈÁìÓò£¬ÐèÇó¶ÔWindowsÇéÐεÄÒÀÀµÓÈΪÏÔÖø¡£¹ØÓÚÕâЩÐÐÒµ£¬½«WindowsÈÝÆ÷ÈÚÈëKubernetes£¬²»µ«ÄÜʵÏָ߶È×Ô¶¯»¯£¬Ò²ÄÜ´øÀ´¸üÇ¿µÄ¿ÉÀ©Õ¹ÐԺ͵¯ÐÔÓ¦¶ÔÖØ´óÓªÒµÐèÇóµÄÄÜÁ¦¡£
×îÖÕ£¬ÆóÒµÈôÒª³ä·ÖʹÓÃWindowsÈÝÆ÷ÔÚKubernetesÖеÄDZÁ¦£¬ÐèÒªÁ¬Ïµ×ÔÉíÓªÒµÌØµã£¬ÓÅ»¯¼Ü¹¹Éè¼Æ£¬Ò»Á¬¸ú×ÙÊÖÒÕ¶¯Ì¬£¬²¢Í¶ÈëÅàѵÓëÊÖÒÕ»ýÀÛ¡£¿çƽ̨µÄÈÝÆ÷ÖÎÀíÒѳÉÎªÍÆ¶¯ÆóÒµÊý×Ö»¯×ªÐ͵ÄÖ÷ÒªÒýÇæ¡£Ö»ÒªºÏÀí½á¹¹¡¢Éî¸ûʵ¼ù£¬Î´À´µÄ΢ЧÀÍÉú̬½«Ô½·¢¸»ºñ¶à²Ê£¬WindowsÈÝÆ÷½«ÔÚÆäÖÐÊÎÑÝÔ½À´Ô½Òªº¦µÄ½ÇÉ«£¬ÎªÆóÒµ¹¹½¨Ò»¸ö¸ßЧ¡¢ÖÇÄÜ¡¢Çå¾²µÄITÐÂÉú̬Ìṩǿʢ֧³Ö¡£
ÈôÊÇÄã¶ÔWindowsÈÝÆ÷ÔÚKubernetesÖеÄÓ¦Óû¹ÏëÉîÈëÏàʶ£¬ËæÊ±½Ó´ý½»Á÷ÌÖÂÛ£¬ÅäºÏ̽Ë÷ÕâÒ»¼¤¸ÐÈËÐĵÄÊÖÒÕÀ˳±£¡