Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÔÚAWSÖд´½¨Ò»¸ö¿É¿¿µÄKubernetes¼¯Èº
 
×÷ÕߣºOleg Chunikhin À´Ô´£ºdzone.com ·¢²¼ÓÚ£º 2017-7-10
  2015  次浏览      27
 

×÷Ϊһ¸ö¼¯ÖÐÓÚ¸´ÔÓµÄÏîÄ¿¼¯³ÉµÄ¼¼Êõ¹«Ë¾£¬²»µ«Í³Ò»ÒÅÁôϵͳ¶øÇÒÄ£¿é»¯µÄ½â¾ö·½°¸£¬È·±£³Ö¾ÃµÄ¿ÉÀ©Õ¹ÐÔ£¬ÎÒÃÇÕýÔÚ´ÓÊ´óÁ¿µÄÏîÄ¿£¬°üÀ¨¿Í»§Èí¼þ¿ª·¢£»´ò°ü£¬¿ªÔ´ºÍSaaSÈí¼þ¼¯³É£»»ù´¡ÉèÊ©ÉèÖ㻺ͲúÆ·ÔËÓªÓëά»¤¡£

´ÓÒ»¸ö¼¼ÊõµÄ½Ç¶ÈÀ´¿´£¬ÎÒÃǵķ½·¨ÓÀÔ¶ÊÇÎ޹صġ£ÎÒÃÇÓëJavaºÍ.NETºó¶Ë¡¢webºÍÒÆ¶¯¶Ë£¨ËùÓÐÆ½Ì¨£©¡¢AmazonºÍAzureÔÆ·þÎñºÍ»ù´¡ÉèÊ©£¬ºÍ¼´Ê¹ÊDZ¾µØ²¿ÊðÒ»Æð¹¤×÷¡£

¶ÔÎÒÃǶøÑÔ£¬ÈÝÆ÷»¯×÷Ϊ¹ÜÀí¸´ÔÓϵͳºÍ½ø³ÌµÄÒ»ÖÖ·½·¨£¬ÒѾ­ºÜ³¤Ò»¶Îʱ¼ä³ÉΪʵ¼ÊµÄ±ê×¼£¬µ«ÊÇËæ×ÅÈç´Ë¶àµÄ¸´ÔÓÐԺͼ¼ÊõÔÚÆð×÷Óã¬ÎÒÃÇÓÀÔ¶ÔÚѰÕÒÐµķ½·¨À´Ìá¸ßÎÒÃǵŤ×÷ЧÂÊ£¬Öظ´ÎÒÃÇËù×öµÄ£¬²¢ÇÒÈÃÎÒÃǵÄÍŶӼ¯ÖÐÓÚÿ¸öÏîÄ¿¶ÀÌØµÄÒµÎñÐèÇó¡£

ʵÏÖÕâ¸öµÄÒ»¸ö·½·¨¾ÍÊÇͨ¹ýÒ»¸öÁé»î¿É¿¿µÄƽ̨µÄÓ¦ÓÃÀ´¹ÜÀí¸´ÔӵĶ༯ȺÈÝÆ÷Èí¼þ¡ª¡ªÎªÁ˸÷ÖÖ¸÷ÑùµÄDevOpsÐèÒªºÍÖ§³Ö²úÆ·ÔËÓªºÍÔÙʹÓ㬹¹½¨¿ÉÖØ¸´Ê¹ÓõÄ×é¼þ¡£

ÔÚÆ½Ì¨ÐèÇóÖУ¬ÎÒÃÇÈ·ÈÏÁËÒÔϼ¸µã£º

¾¡¿ÉÄܱÜÃâ±»³§ÉÌËø×¡¿ÉÐÐÐÔ¡£Æ½Ì¨ÐèÒª¿ÉÒÆÖ²ÐÔ(Äܹ»ÔÚ²»Í¬µÄÔÆºÍ±¾µØÉÏÔËÐÐ)£¬Ëü±ØÐëÒÀÀµÓÚ¿ª·Å±ê×¼ºÍЭÒé¡£Ëü»¹ÐèÒª×÷Ϊ´óÁ¿ÏîÄ¿¡¢·þÎñºÍ×éÖ¯µÄ»ù´¡¡£

ÊÊÓÃÓÚ²»Í¬µÄÒµÎñ»·¾³¡£Õâ¾ÍÐèÒªÓÐÐí¿ÉµÄ¿ªÔ´¼¼Êõ¡¢ÉÌÒµÖ§³ÖµÄ¿ÉÓÃÐÔºÍÃâ·ÑÑ¡Ïî¡£

¿ÉÀ©Õ¹ÐÔ¡£Ö§³Ö´Ó³¬Ð¡(ÀýÈçÒ»¸öÎïÀí»òÐéÄâ½Úµã)µ½´óÐÍ(¼¸Ê®¸ö½Úµã)µ½³¬´ó(³É°ÙÉÏǧ¸ö½Úµã)µÄÅäÖá£

¿É¿¿ÐÔ¡£¶ÔÓÚ²»Í¬µÄ»·¾³ºÍËõ·Å£¬ÎÒÃÇÐèÒª¶Ô¸÷ÖÖ×ÔÎÒ»Ö¸´ºÍ¹ÊÕÏ×ªÒÆµÄÖ§³Ö¡£

Áé»îÐԺ͹¦Äܷḻ¡£ÎÒÃÇÏ£ÍûÓÐһЩ¿ª·¢¡¢¸ßЧDevOpsºÍ²úÆ·ÔËÓª×Ô¶¯»¯ËùÐèµÄ¹¦ÄܺͳéÏó¡£

²¿Êð¼òµ¥¡£Ò×ÓÚ²¿ÊðºÍÉèÖò»Í¬µÄ»·¾³£¬×îºÃÊÇ¿ªÏä¼´Óá£Ëü»¹ÐèÒªÇáÁ¿¼¶¡¢Éú²ú¾ÍÐ÷ºÍ¾­¹ýʵս²âÊÔ¡£

½â¾ö·½°¸Â·¾¶

һЩ¿ò¼Ü´æÔÚ£¬µ«ÊÇÏÂÃæµÄÈý¸öÊÇÏÖʵµÄ¾ºÕùÕߣº

¡¤ Docker Swarm

¡¤ Kubernetes

¡¤ HashicorpµÄstack ¹¤¾ß¡ª¡ªnomad, consul, etc.

¡¤ (²¢ÇÒÈÙÓþÍÆ¼ö Apache Mesos)

ÔÚ½øÐÐÁËһЩÑо¿ºÍÔ­ÐÍ¿ª·¢Ö®ºó£¬ÎÒÃǽ«Kubernetes×÷Ϊ±ê×¼DevOpsºÍ¼¯Èº±àÅÅÆ½Ì¨µÄÖ÷ÒªºòÑ¡¶ÔÏó£¬Ô­ÒòÓкܶࡣ

KubernetesµÄÓŵã

ÏêϸÃèÊöÎÒÃÇÈçºÎ±È½Ï¹¤¾ß²»ÊÇÎÒÃÇÕâÆªÎÄÕµÄÄ¿µÄ£¬µ«ÊÇÎÒ»¹ÊÇÏë¸ø¸öС½áÀ´ËµÃ÷ÏÂKubernetesµ½µ×ÄÄÀïºÃ£º

podÀíÄһÌ×co-locatedÈÝÆ÷·Ç³£Ç¿´ó,Ëü½â¾öÁËDocker ComposeÏàͬµÄÎÊÌ⣬µ«¸ü¼ÓÓÅÑÅ¡£pod£¬²»ÊÇÈÝÆ÷£¬Êµ¼ÊÉÏÊÇKubernetesµÄÒ»¸ö¹¤×÷¸ºÔص¥Ôª¡£

ƽ¸²¸ÇÍøÂçµØÖ·¿Õ¼ä£¬Ã¿¸öpodµÃµ½Ò»¸öΨһµÄIPµØÖ·£¬Í¨¹ý±¾µØÖ÷»úºÍÈÝÆ÷ÄÚpodͨÐÅ¡£

¡°·þÎñ¡±¸ÅÄîͨ¹ýÎȶ¨µÄ¸²¸ÇÍøÂçIPµØÖ·µÄL3ƽºâµÄÒ»Ì×pod£¬ÌṩÁ˼òµ¥µÄ·þÎñ·¢ÏÖ¡£

DNSfurtherÌá¸ß·þÎñ·¢ÏÖ¡£podÄܹ»Í¨¹ýËüÃǵÄÃû×ÖÕÒµ½·þÎñ¡£

Ãû³Æ¿Õ¼ä¡£ÕâЩ¿ÉÒÔ½«¶ÔÏó·Ö³É×飬²¢Îªµ¥¸ö¼¯ÈºÖеĶà×â»§ÌṩһÖÖ·½·¨¡£

Ò»Ì׷ḻµÄpod¿ØÖÆÆ÷¿ÉʵÏÖ¿ªÏä¼´Óãº

ÓÃÓڶԳƼ¯ÈºµÄ²¿Ê𡢸±±¾ºÍ¸´ÖÆ¿ØÖÆÆ÷£»

Ϊ×é¼þ±êʶµÄ¼¯ÈºÉèÖÃpetÊǺÜÖØÒªµÄ£»

ÓÃÓÚ¸¨Öú×é¼þµÄDaemon¼¯£¬ÀýÈçÈÕÖ¾ÍÐÔËÈ˺ͱ¸·Ý½ø³Ì£»

ÓÃÓÚ·´Ïò´úÀíºÍL7¸ºÔØÆ½ºâµÄlngresses£¬ÒÔ¼°¸ü¶à¡£

¸½¼þµÄ¸ÅÄî,Ìṩ¡°ºáÇйØÏµ¡±µÄÌØÐÔ¡£

·á¸»¡¢³Ö¾Ã´æ´¢¹ÜÀí¹¦ÄÜ¡£

Óë´ó¶àÊýIaaSÔÆÌṩÉÌʵÏÖÁ¼ºÃµÄ¼¯³É¡£

×ܶøÑÔÖ®£¬ÔÚÎÒ¿´À´£¬KubernetesÔÚ¡°Ì«ÉÙ¸ÅÄÐèҪд¸ü¶àÒýÓôúÂ롱ºÍ¡°Ì«¶à¸ÅÄϵͳ²»¹»Áé»î¡±Ö®¼äÕÒµ½ÁËÕýÈ·µÄƽºâ¡£

KubernetesµÄȱµã

²»ÐÒµÄÊÇ£¬¼´±ãÊÇÌ«ÑôÒ²Óкڵ㡣KubernetesÊdzöÁËÃûµÄÔÚÉú²úϵͳÖÐÄÑÓá£

ÎÒÃÇÆ½Ì¨¹¹½¨½ø³ÌµÄÐèÇóÊÇÖ÷ÒªÀ´Ô´ÓÚÒ»°ãƽ̨ÐèÇó£¬ÎÒÃÇÏë×öµÄÊÇÒÔϼ¸µã£º

ÉèÖÃÒ»¸ö¡°vanilla¡±Kubernetes¼¯Èº£¬²»ÊÇ»ùÓÚKubernetesµÄ×Ô¶¨Òå²úÆ·¡£

Äܹ»×Ô¶¨Ò弯ȺÅäÖò¢ÇÒÒ×ÓÚ¹¹½¨½ø³Ì¡£

¼ò»¯¹¹½¨½ø³ÌºÍ¾¡¿ÉÄܵļõÉÙ¹ÜÀíÔ±»·¾³µÄÐèÇó¡£

Èò¿Êð½ø³ÌÇá±ãºÍ¿ÉÖØ¸´Ê¹Óã¬ÒÔ±ãÎÒÃÇÄܹ»ÔÚ¶àÖÖÆ½Ì¨ÉÏά»¤Ëü¡ª¡ªÖÁÉÙAzure£¬AWSºÍÂã»ú¡£

ÒÀÀµÔƹ©Ó¦ÉÌÌØ¶¨¹¤¾ß½øÐÐIaaS×ÊÔ´¹ÜÀí¡ª¡ªAWSµÄCloud Formation£¬AzureµÄResource Manager ¡£

±£Ö¤×÷Ϊ½á¹ûµÄ²¿ÊðÊÇÉú²ú¾ÍÐ÷µÄ£¬¿É¿¿µÄ£¬×ÔÎÒÐÞ¸´µÄ£¬¿ÉÀ©Õ¹µÄµÈµÈ£¨¼´Âú×ãÉÏÊöƽ̨µÄËùÓÐÒªÇ󣩡£

ÓÐÐí¶à·½·¨¹¹½¨Ò»¸öKubernetes¼¯Èº¡ª¡ªËüÃÇÖеÄһЩÉõÖÁÊǹٷ½ÎļþºÍÃèÊöÖеÄÄÚÈÝ¡ª¡ªµ«ÊǶÔËûÃÇÿ¸ö½øÐе÷²é£¬ÎÒÃÇ¿´µ½²»Í¬µÄÎÊÌ⣬×èÖ¹ÁËËüÃdzÉΪ EastBanc TechnologiesµÄÏîÄ¿µÄ±ê×¼¡£½á¹û£¬ÎÒÃÇÉè¼ÆºÍ¹¹½¨ÁËÒ»¸öKubernetes¼¯ÈºÉèÖúÍÅäÖýø³Ì£¬Ëü½«ÎªÎÒÃǹ¤×÷¡£

ÖØÐ¹¹ÏëKubernetes²¿Êð

ΪÁËÎÒÃǵÄKubernetes²¿Êð³ÌÐò£¬ÎÒÃǾö¶¨ÒÀÀµÔƹ©Ó¦É̹¤¾ß½øÐÐIaaS×ÊÔ´¹ÜÀí£¬Ò²¾ÍÊÇ AWSµÄCloud Formation ºÍAzureµÄResource Manager¡£

ΪÁË´´½¨Ò»¸ö¼¯Èº£¬²»ÐèÒªÔÚÄã»úÆ÷ÉÏÉèÖÃÈκζ«Î÷£¬Ö»ÓÃCloud FormationÄ£°åºÍAWS¿ØÖÆÌ¨À´´´½¨Ò»¸öжÑÕ»¡£ÎÒÃÇʵÏÖµÄKubernetes¼¯ÈºÔÆÐγÉÄ£°å´´½¨Á˼¸¸ö×ÊÔ´£¬ÈçÏÂͼËùʾ£º

ÈÃÎÒÃǸüÉîÈëµÄ¿´ÏÂÕâЩ×ÊÔ´£º

Master EIPΪKubernetesÖ÷½ÚµãÌṩÎȶ¨µÄ¹«¹²¶ËµãIPµØÖ·¡£

ÔÚÆô¶¯Ê±£¬KubernetesÖ÷³õʼ»¯½Å±¾»¹·ÖÅä±ê×¼µÄ˽ÓÐIPµØÖ·(127.20.128.9)ÒÔÈ·±£Ö÷½ÚµãÒ²ÓÐÒ»¸öÎȶ¨µÄ˽ÓÐIP£¬¶ËµãΪ½ÚµãKubelets¡£

Master EBSÔÚÆô¶¯Ê±¸½ÊôÓÚÖ÷½Úµã£¬²¢ÇÒÓÃÓÚ´æ´¢¼¯ÈºÊý¾Ý¡£

KubernetesmasterÔÚAuto Scaling GroupÖпªÊ¼£¬ÒÔÈ·±£AWSÍòÒ»¹ÊÕÏÄָܻ´¡£Ä¿Ç°£¬master Auto Scaling Group¾ßÓÐ×îС¡¢ÏëµÃµ½µÄºÍ×î´óÊýÁ¿µÄʵÀýÉèÖÃΪ1¡£

ÔÚ¶à¸ö¿ÉÓÃÐÔÇøÓòÖÐAuto Scaling GroupÖÐÔËÐнڵ㡣

S3 bucketÓÃÓÚ·ÖÏíÖ¤Êétokens£¬ÎªÁ˽ڵãºÍ¿Í»§Á¬½Óµ½master¡£Master½«ÔÚµÚÒ»¸öÆô¶¯Ê±Éú³ÉÖ¤ÊéºÍtokens£¬²¢½«ËüÃÇÉÏ´«µ½bucketÖС£

masterºÍ½Úµã·ÖÅäIAMµÄ½ÇÉ«ÐèÒªAWS×ÊÔ´µÄ·ÃÎÊȨÏÞ¡£

masterºÍ½ÚµãʵÀý´ÓÒ»¸öAMI±»´´½¨£¬Ëæ×ÅKubernetesÔ¤ÏȰ²×°ËùÐèµÄËùÓÐÈí¼þ×é¼þ¡£

ΪÁËÅäÖÃKubernetesÈí¼þ×é¼þÔÚmasterºÍ½ÚµãÉÏÔËÐУ¬ÎÒÃÇʹÓÃÁ˱àдµÄ¶à½Úµã¼¯ÈºÅäÖ÷½·¨£¬ÔÚKubernetesµÄÎĵµÖÐÓÐÃèÊö¡£

ÏÂͼչʾÁËÅäÖýá¹û£º

¼¯Èº³õʼ»¯ÉèÖ÷ֳÉ3Àࣺ

Packer½Å±¾ÎªÁ˼¯Èº×¼±¸AMI

Cloud FormationÄ£°åΪÁ˼¯Èº´´½¨»ò¸üÐÂAWS×ÊÔ´

Bootstrap½Å±¾×÷Ϊmaster»ò½ÚµãʵÀýboot½ø³Ì×îºóÒ»²½ÔËÐÐ

AMI×¼±¸

ÎÒÃÇ»ùÓÚ¹Ù·½Kubernetes AMI k8s-debian-jessieΪ¼¯Èº¹¹½¨ÁËÒ»¸ö×Ô¶¨ÒåAMI£¬Ëü·´¹ýÀ´Ò²Ö»ÊÇÒ»¸ö±ê×¼µÄDebian JessieÓ³Ïñ£¬°²×°ÁËһЩ¸½¼Ó°ü¡£

AMI×¼±¸Í¨¹ýpacker½Å±¾Ö´ÐС£½ÓÏÂÀ´µÄ²½Öè¾ÍÒªÖ´Ðеģº

¸üа²×°°ü¡£

´´½¨docker-bootstrapºÍkubelet-systemd·þÎñ¡£

¸üÐÂdocker-systemd flanneld·þÎñÅäÖÃ,ÕâÑùflanneld¸²¸ÇÍøÂç¿ÉÒÔÔÚ·þÎñÆ÷Æô¶¯Ê±ÅäÖá£

Pull etcd¡¢flanneldºÍ Kubernetes hyperkube Docker¾µÏñ£¬ÒÔÈ·±£¿ìËÙÆô¶¯¡£

´´½¨/etc/rc. /etc/kubernetes/bootstrap½Å±¾²¢Ìí¼ÓÆäÖ´Ðе½ /etc/rc.local ½Å±¾£¬ËùÒÔËü×÷ΪOSÆô¶¯Ë³ÐòµÄ×îºóÒ»²½ÔËÐеġ£

´Óhyperkubedocker¾µÏñÌáÈ¡hyperkube binary £¬°ÑËü·Åµ½/usr/bin£¬ÒÔ±ãkubelet½ø³Ì¿ÉÒÔÔÚdockerÈÝÆ÷Ö®ÍâÔËÐС£

×¼±¸¾²Ì¬podÇåµ¥ÎļþºÍÔÚ/etc/kubernetesÀïµÄKubernetesÅäÖÃÎļþ¡£

×¼±¸ÆäËû¸¨Öú¹¤¾ß£¬ÔÚʵÀýbootstrapÆÚ¼äʹÓÃ(ÀýÈçsafe_format_and_mount.sh½Å±¾)¡£

ÇåÀíÁÙʱºÍÈÕÖ¾Îļþ¡£

Cloud FormationÄ£°å

Cloud FormationÄ£°å´´½¨ºÍ³õʼ»¯AWS×ÊÔ´ÒѾ­ÔÚÉÏÃæµÚÒ»ÕÅͼÀïչʾÁË¡£×÷ΪÕâ¸öÅäÖõÄÒ»²¿·Ö£¬ËüΪKubernetes masterºÍ½ÚµãʵÀý´´½¨ÁËÆô¶¯ÅäÖöÔÏ󣬲¢ÇÒ½«ËüÃÇÓëmasterºÍ½ÚµãAuto Scaling Groups¹ØÁªÆðÀ´¡£

MasterºÍ½ÚµãÆô¶¯ÅäÖö¼°üÀ¨AWSÓû§Êý¾Ý½Å±¾£¬ÔÚ¼¸¸ö»·¾³±äÁ¿ÉèÖÃÀï´´½¨ /etc/kubernetes/stack-config.shÎļþ¡£

ÕâЩ»·¾³±äÁ¿ÊDZ»/etc/kubernetes/bootstrap½Å±¾Ê¹Óã¬À´È¡µÃ¹ØÓÚËüËùÕýÔÚÔËÐеĻ·¾³µÄÓï¾³ÐÅÏ¢¡£

ÌØ±ðÊÇMaster EIP£¬ÊµÀý½ÇÉ«£¨Kubernetes master»ò½Úµã£©£¬ºÍs3 bucketÃû³ÆÍ¨¹ýÕâÖÖ·½Ê½´«µÝ¡£

ʵÀý Bootstrap½Å±¾

ʵÀýbootstrap½Å±¾×÷ΪÔÚʵÀýÆô¶¯Ë³ÐòµÄ×îºóÒ»²½ÔËÐС£½Å±¾ÔÚmasterºÍ½ÚµãÉϹ¤×÷ÉÔ΢ÓÐЩ²»Í¬¡£½ÓÏÂÀ´µÄ²½Öè±ØÐë×÷ΪÕâ¸ö½ø³ÌµÄÒ»²¿·ÖÖ´ÐУº

ÔÚËùÓнڵãÉÏ:

´Ó/etc/kubernetes/stack-config.sh ¼ÓÔØÓï¾³ºÍ»·¾³ÐÅÏ¢¡£

ΪÁËKubernetesµþ¼ÓÍøÂ磬½ûÓÃʵÀýIPÔ´Ä¿µÄµØ£¬¼ì²éʹÓÃAWS CLIÀ´È·±£IP·Óɹ¤×÷Õý³£¡£

Ö»ÔÚmasterÉÏ:

¸½¼Ómaster EBSºÍÈ·±£Ëü±»¸ñʽ»¯²¢°²×°¡£

¸½¼ÓEIP´óʦ¡£

¹ØÁªÎȶ¨µÄ˽ÓÐIP¡£

¼ì²éÊÇ·ñtokenºÍÖ¤ÊéÎļþ´æÔÚS3 bucketºÍÖ¤ÊéÎļþ¡£

Èç¹ûS3 bucket²»°üº¬ËùÐèµÄÎļþ£¬Éú³ÉËüÃDz¢ÉÏ´«µ½bucket¡£

Èç¹ûS3 bucket°üº¬ËùÐèµÄÎļþ,ÏÂÔØµ½ /srv/kubernetesĿ¼¡£

Ö»ÔÚ½ÚµãÉÏ:

µÈ´ýÖªµÀS3 bucket°üº¬ËùÐèÎļþ¡£

ÏÂÔØÎļþµ½ /srv/kubernetes Ŀ¼¡£

È·±£docker-bootstrap·þÎñÒѾ­Æô¶¯¡£

Ö»ÔÚmasterÉÏ:

ÔÚdocker-bootstrapÖе±×÷Ò»¸öÈÝÆ÷ÔËÐÐetcd¡£

ÉèÖÃflanneldÅäÖÃÃØÔ¿¡£

ÔÚdocker-bootstrapÖе±×÷Ò»¸öÈÝÆ÷ÔËÐÐflanneld¡£

ÅäÖÃdocker£¬ÎªÊ¹ÓÃflanneld¸²¸ÇÍøÂçºÍÖØÆô¡£

ÅäÖÃkubeletºÍkube-proxy¡£

¿ªÊ¼kubelet·þÎñ¡£

ÔÚkubeletÔÚmasterÉÏÆô¶¯ºó£¬Ëü¸ºÔðÔÚ¾²Ì¬Çåµ¥ÎļþÖж¨ÒåµÄpodÖÐÆô¶¯ÆäËûKubernetes×é¼þ£¨ÀýÈç apiserver, scheduler, controller-managerµÈµÈ£©£¬È»ºó±£³ÖËûÃÇÔËÐС£KubeletÔÚ½ÚµãÉÏÆô¶¯Ö»ÔÚÒ»¸öpodÀïÆô¶¯kube-proxy£¬È»ºóÁ¬½Óµ½master½øÐнøÒ»²½µÄÖ¸Áî¡£

м¯Èº

Ò»µ©masterÆô¶¯²¢ÍêÈ«³õʼ»¯£¬¹ÜÀíÔ±¾Í¿ÉÒÔ´ÓS3 bucketÏÂÔØKubernetes¿Í»§¶ËÅäÖÃÎļþ¡£bucketÖеÄÎļþÖ»ÄÜͨ¹ýmaster EC2ʵÀý½ÇÉ«¡¢½ÚµãEC2ʵÀý½ÇÉ«ºÍAWSÕÊ»§¹ÜÀíÔ±·ÃÎÊ¡£

¼¯ÈºREST APIͨ¹ýÔÚ±ê×¼¶Ë¿ÚÉϵıê×¼¶Ë¿ÚÉϵÄHTTPSÌṩ¿ÉÓá£

°²È«£¬¿É¿¿ºÍ×÷Ϊ±ê×¼µÄ¿ÉÀ©Õ¹ÐÔ

ÓÉÓÚÎÒÃǵÄŬÁ¦£¬ÎÒÃÇÏÖÔÚÓÐÁËÒ»¸ö¼òµ¥µÄ·½·¨ÔÚAWSÉϽ¨Á¢Ò»¸ö¿É¿¿µÄ£¬Éú²ú¾ÍÐ÷µÄKubernetes¼¯Èº¡£

Cloud FormationÄ£°å¿ÉÒÔÓûò½øÒ»²½¶¨ÖÆ£¬ÒÔÂú×ãÌØ¶¨µÄÏîÄ¿ÐèÇó(ÀýÈçÌí¼Ó¶îÍâµÄAWS×ÊÔ´£¬ÀýÈçRDS£¬»ò¸ü¸Ä¼¯ÈºÔËÐеÄÇøÓò»ò¿ÉÓÃÐÔÇø(AZ))¡£ÎÒÃÇ»¹¿ÉÒÔºÜÈÝÒ×µØ×Ô¶¨ÒåÔÚ¼¯ÈºÉÏÔËÐеĸ½¼Ó×é¼þ¡£

´Ó°²È«ÐԵĽǶÈÀ´¿´£¬ÓÉÓÚÒÔÏÂÌØÐÔ£¬Ä¬ÈÏ·½Ê½ÏµÄм¯ÈºÊǰ²È«µÄ£¬¸ÐлÒÔÏÂÌØÐÔ£º

Ϊ¿Í»§ºÍ¼¯Èº½ÚµãµÄ·ÃÎÊ£¬Kubernetes¼¯ÈºetcdÅäÖÃÁË´«Êä²ã°²È«ÐÔ(TLS)¡£

ΪÁ˿ͻ§¶Ë·ÃÎʼ¯ÈºAPI·þÎñÆ÷ÅäÖÃÁËTLS¡£

ΪÁËÿ¸öKubernetes·þÎñ£¬Ä¬ÈÏKubernetes·ÃÎÊ¿ØÖÆÅäÖÃÁËÒ»¸öµ¥¶À¹ÜÀíÔ±Óû§ÕÊ»§ºÍ²»Í¬µÄ·þÎñÕË»§¡£

ËùÓÐÕÊ»§tokenºÍÃÜÂëÊÇËæ»úÉú³ÉµÄ¡£

ËùÓÐTLSÃÜÔ¿¡¢Ö¤ÊéºÍKubernetesÃØÃÜtokensºÍÃÜÂëÊÇͨ¹ýÒ»¸ö¶ÀÌØµÄS3 bucket£¬ÔÚÖ÷·þÎñÆ÷ºÍ·Ö²¼Ê½Ê×´ÎÆô¶¯Éú³ÉµÄ¡£

ÃÜÔ¿¡¢Ö¤ÊéºÍtokenÎļþÓÃÓÚÔÚmasterºÍ½ÚµãʵÀýÉÏÅäÖÃKubernetes×é¼þ£¬±»·Åµ½ÁÙʱÎļþϵͳ°²×°Ä¿Â¼£¬ËùÒÔÃØÃÜÐÅÏ¢²»±£´æÔÚ´ÅÅÌÉÏ(S3 bucket³ýÍâ)¡£

ÃØÃÜÎļþ·ÅÖõ½S3 bucketֻͨ¹ýACLÅäÖã¬Ö»ÊÚȨ·ÃÎʼ¯ÈºmasterºÍ½ÚµãʵÀýµÄ½ÇÉ«(AWSÕÊ»§¹ÜÀíÔ±)¡£

еļ¯ÈºÒ²Êǿɿ¿µÄ:

ÔÚ½ÚµãʧЧµÄÇé¿öÏ£¬Í¨¹ý½ÚµãµÄAuto Scaling Group½«Æô¶¯Ò»¸öнڵ㣬²¢ÇÒнڵã»á×Ô¶¯¼ÓÈ뼯Ⱥ£¬»Ö¸´¿ÉÓõļÆËãÄÜÁ¦¡£

ÔÚmasterʧ°ÜµÄÇé¿öÏ£¬Í¨¹ýmaster Auto Scaling GroupÒ»¸öеÄmasterʵÀý½«¿ªÊ¼¡£ÐµÄmasterʵÀý½«»á×Ô¶¯ÖØÐÂÁ¬½ÓmasterEIPºÍmaster EBS£¬´Ó¶ø»Ö¸´ÒÔǰµÄ¼¯Èº¹¦ÄܺÍÅäÖá£

ͨ¹ý¿ìÕÕ±¸·ÝÅäÖÃʵÏÖ³£¹æEBS£¬¿É¿¿ÐÔ¿ÉÒÔ½øÒ»²½Ìá¸ß¡£Õâ¸ö¹ý³Ì±¾Éí¿ÉÒÔ×÷Ϊһ¸öpod»òÔÚKubernetes¼¯ÈºÖеĸ½¼Ó×é¼þÔËÐС£

½ÚµãAuto Scaling GroupĬÈÏÅäÖÿçÔ½¶à¸ö¿ÉÓÃÐÔÇøÓò¡£

¼¯ÈºÒ²¿ÉÉìËõ:

×îµÍµÄ¹æÄ£¿ÉÄÜÊÇÊÇÒ»¸öµ¥¶ÀµÄmaster½Úµã£¬¿ÉÒÔÔËÐÐÓû§¸ºÔØ£¬ÓÉÓÚmaster kubeletÅäÖÃ×¢²áÖ÷API·þÎñÆ÷¡£

Ëõ·Å¿ÉÒÔͨ¹ýÔÚ½ÚµãAuto Scaling GroupÌí¼Ó¸ü¶àµÄ½Úµã¡£

ÏÂÒ»²½¼°½ÓÏÂÀ´µÄ°²ÅÅ

ÒѾ­ÊµÏÖÁËÔÚÉú²úÖÐÔËÐÐKubernetes¼¯ÈºËùÐèµÄ×îÐ¡ÌØÐÔ¼¯£¬ÈÔÈ»ÓиĽøµÄ¿Õ¼ä¡£

µ±Ç°£¬¼¯ÈººÜÈÝÒ×Êܵ½master½ÚµãÕýÔÚÔËÐеĿÉÓÃÐÔÇøÓòʧ°ÜµÄÉ˺¦¡£ÓÉÓÚAWS EBSÏÞÖÆ£¬master Auto Scaling Group±»¹ÊÒâÏÞÖÆÔÚÒ»¸ö¿ÉÓÃÇøÓò(EBS²»ÄÜÔÚÓëËü×î³õ´´½¨µÄ²»Í¬µÄAZÖÐʹÓÃ)¡£¿Ë·þÕâ¸öÎÊÌâÓÐÁ½ÖÖ·½·¨:

ͨ¹ý¶¨ÆÚ¿ìÕÕmaster EBSºÍ´Ó×îеĿìÕÕÔÚ²»Í¬µÄAZÀï×Ô¶¯»Ö¸´¡£ÕâÊÊÓÃÓÚÌØÐ¡ÐͲ¿Êð£¬Ö»ÐèÒª×ÔÎÒÐÞ¸´ºÍһЩͣ»úʱ¼äÊÇ¿ÉÒÔ½ÓÊܵġ£

ͨ¹ýÉèÖöàÖ÷»úKubernetesÅäÖá£ÓÃÓÚ´ó¹æÄ£²¿ÊðµÄĬÈÏÅäÖÃ(ʵ¼ÊÉÏÊÇ´ó¶àÊý²¿Êð)¡£

ÎÒÃÇÕýÔڼƻ®Á½¸ö¶¼Ö´ÐС£

¼´Ê¹ÉÏÃæÃèÊöµÄ¸Ä½ø£¬¼¯ÈºÈÔÈ»»áÊܵ½Õû¸öÇøÓòʧ°ÜµÄÓ°Ïì¡£Òò´Ë£¬ÎÒÃÇÕýÔڼƻ®ÒýÈ뼯ȺÁªºÏ×÷Ϊһ¸öÑ¡Ï²¢Îª¿çÇøÓòºÍ»ìºÏ²¿ÊðÌṩ²»Í¬µÄ×Ô¶¯»¯ÔÖÄѻָ´²ßÂÔ¡£

°²È«ÐÔÒ²¿ÉÒÔͨ¹ýEBS¼ÓÃܸĽø£¬Ç¶È빤¾ßÈçHashiCorp Vault£¬ÒÔ¼°¿ÉÄܸıäµÄÃØÃÜ·Ö²¼²ßÂÔ¡£

   
2015 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤