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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú


ÈçºÎ½â¾öÈÝÆ÷ÍøÂçÐÔÄܼ°¸´ÔÓÍøÂ粿ÊðÎÊÌ⣿
 
×÷Õߣº³Âº£Èª À´Ô´£º¼«¿ÍÍ·Ìõ ·¢²¼ÓÚ 2017-4-21
  2015  次浏览      27
 

½üÁ½Ä꣬ÈÝÆ÷ÒѾ­Ëæ×Å Docker ¼¼ÊõµÄ´«²¥»ð±éÈ«Çò£¬ÏÖÔÚÒѾ­ÓÐÔ½À´Ô½¶àµÄÆóÒµÓû§ÔÚ¿ª·¢¡¢²âÊÔÉõÖÁÉú²ú»·¾³ÖпªÊ¼²ÉÓà Docker µÈÈÝÆ÷¼¼Êõ¡£

È»¶ø£¬Ä¿Ç°Ö÷Á÷µÄ Docker ¹ÜÀíÆ½Ì¨£¬±ÈÈç K8S£¬µ±ÆóÒµÏë¹¹½¨Ò»Ì×ÍøÂç·½°¸£¬ÐèÒª¾«Í¨ Linux ÌṩµÄ¸÷Öָ߼¶ÍøÂ繦ÄÜ£¬Õâ¸ö¼¼ÊõÃż÷Ì«¸ßÁË¡£ÌرðÊǶÔרעÓÚÒµÎñ¿ª·¢µÄ Docker Óû§¶øÑÔ£¬ÕâÀà²Ù×÷ÍùÍùÏԵùýÓÚ¸´ÔÓ¡£

¶øÇÒ£¬ÓÉÓÚÔÚÐé»úÖв¿ÊðÈÝÆ÷£¬ÔÆÆ½Ì¨ºÍ Docker ƽ̨¶¼ÓÐ×Ô¼ºµÄÐéÄâ»¯ÍøÂçʵÏÖ·½°¸£¬¶þÕß¹¦ÄÜÖØµþ£¬Ê¹ÓÃʱ»áÏ໥ǶÌ×£¬µ¼ÖÂµÄÆäÍøÂçÐÔÄÜËðºÄ·Ç³£ÑÏÖØ£¬ÉõÖÁ´ïµ½ 80%¡£

ËùÒÔ£¬ËäÈ»ÈÝÆ÷¼¼ÊõÕýÔÚÖð²½±»´ó¼ÒÈÏ¿ÉÓëÓ¦Ó㬵«ÆäÍøÂçÐÔÄÜÒÔ¼°ÅäÖõĸ´Ôӳ̶ÈÒ»Ö±¶¼ÔÚ±»´ó¼ÒËùÚ¸²¡¡£½ñÌìµÄÄÚÈÝ£¬½«»á¸ø´ó¼Ò½éÉÜÒ»ÖÖÈÝÆ÷²¿Êð·½°¸£¬°ïÖú´ó¼Ò½â¾öÍøÂçÕâ¸öÄÑÌâ¡£

DockerµÄÍøÂçÄ£Ðͼܹ¹

Ê×ÏÈ£¬ÎÒÃÇÏÈ¿´¿´ Docker ÌṩÁËÄÄÐ©ÍøÂ繦ÄÜ£¬Docker µÄÍøÂçÄ£ÐÍÊÇÕâÑùµÄ:

Docker µÄÍøÂç½á¹¹·ÖΪ 3 ¸ö²ã´Î£ºNetwork¡¢Endpoint ºÍ Container¡£¶Ô±Èµ½ÎïÀíÉ豸¿ÉÒÔÕâôÀí½â£ºNetwork Êǽ»»»»ú£¬Endpoint ÊÇÍø¿¨£¬Container ¾ÍÊÇ·þÎñÆ÷¡£

¾ö¶¨ Network Õâ¸ö½»»»»úµÄ¹¤×÷·½Ê½µÄ×é¼þ£¬¾ÍÊÇ Network Driver¡£³£ÓÃµÄ Driver ÓÐÁ½¸ö£º

1.Bridge

2.Overlay

Bridge Driver

Bridge Driver ÊÇÖֱȽÏÖ±½ÓµÄ·½Ê½£ºBridge Ö¸µÄÊÇ Linux Kernel ʵÏÖµÄÐé»ú½»»»»ú¡£Ã¿¸öÍøÂçÔÚËÞÖ÷»úÉÏÓÐÒ»¸ö Bridge ʵÀý£¬Ä¬ÈÏÊÇ Docker0£¬ÓжÔÓ¦µÄ IP µØÖ·ºÍÍø¶Î£¬Ã¿¸ö Docker ʵÀý´ÓÍø¶ÎÀïÃæ·ÖÅäÒ»¸öµØÖ·¡£½á¹¹ÈçÏ£º

ÔÚͬһ¸ö Bridge Ï嵀 Endpoint ÊÇÒ»¸ö¶þ²ãÍøÂ磬ҪʵÏÖ¿çËÞÖ÷»úµÄ Endpoint Ö®¼äͨÐÅ£¬Ö»ÄÜ×ßÈý²ãÍøÂ磬Ҳ¾ÍÊÇͨ¹ý·ÓÉת·¢¹ýÈ¥¡£Òª¶ÔÍâÌṩ·þÎñ£¬»¹ÐèÒª¶ÔËÞÖ÷»úµÄ IP ¶Ë¿Ú×öת»»(Nat)¡£ÕâÖÖÇé¿öÏÂÖ÷ÒªÍøÂçÐÔÄÜËðʧ·¢ÉúÔÚ¶Ë¿Úת»»(Nat)ºÍ·ÓÉÉÏÃæ¡£

ͬʱÕâÒ²ºÍÇàÔÆ SDN 1.0 ÀïÃæµÄ»ù´¡ÍøÂçʵÏÖ·½Ê½ÊÇÍêȫһÑù£¬ÓŵãÊǽṹ¼òµ¥¿É¿¿£¬È±µãÒ²ºÜÃ÷ÏÔ: ²»ÄܰѶà¸öËÞÖ÷»úÁ¬³ÉÒ»¸ö¶þ²ãÍøÂç¡£Õâ¸öÎÊÌâ»áµ¼Ö Docker ʵÀýµÄ IP µØÖ·£¬±ØÐë¸úµ±Ç°ËÞÖ÷»ú¶¨ÒåµÄÍø¶ÎÒ»Ö¡£Èç¹ûÆô¶¯µ½±ðµÄËÞÖ÷»úÉÏ£¬IP ¾ÍÐèÒª¸ü»»¡£

Overlay Driver

Overlay Driver µÄ×÷ÓÃÊǰÑλÓÚ¶à¸öËÞÖ÷»úµÄ Docker ʵÀýÁ¬½ÓÔÚÒ»¸öÐéÄâµÄ¶þ²ãÍøÂçÀïÃæ¡£Ïà±È Bridge£¬ÔÚ¹¦ÄÜÉÏÓÐÒ»¶¨½ø²½£¬±¾ÖÊÉÏÊÇÒ»¸ö·Ö²¼Ê½µÄÐéÄâ½»»»»ú¡£

¾Ù¸öËÍ¿ìµÝµÄÀý×Ó£¬·½±ã´ó¼ÒÀí½â£ºÓеĹ«Ë¾¶ÔÔ±¹¤ÌṩÄÚ²¿ÓʼþµÄ·þÎñ£¬Î»ÓÚ²»Í¬Ð´×ÖÂ¥µÄÔ±¹¤¿ÉÒÔÓù¤Î»ºÅ»¥·¢Óʼþ¡£¹«Ë¾µÄÊÕ·¢ÊÒÄõ½Óʼþºó£¬»áÖØÐÂÔÙ´ò¸ö°ü£¬ÉÏÃæÐ´×ÅË«·½Ð´×ÖÂ¥µÄµØÖ·£¬½»¸øÕæÕýµÄ¿ìµÝ¹«Ë¾È¥Í¶µÝ¡£ÊÕ¼þ·½µÄÊÕ·¢ÊÒ»áÄõ½Óʼþºó£¬»á²ðµôÍâÃæµÄÐŷ⣬°ÑÀïÃæµÄÓʼþ°´¹¤Î»ºÅË͸øÊÕ¼þµÄÔ±¹¤¡£

ÕâÀý×ÓÀïÃæ£¬¹¤Î»ºÅ¾ÍÊÇ Underlay µÄµØÖ·£¬ д×ÖÂ¥µÄµØÖ·ÊÇ Overlay µÄµØÖ·¡£Docker µÄÕâ¸öÐéÄâ¶þ²ãÍøÂ磬¾ÍÊÇÆóÒµÄÚ²¿Óʼþ£¬µ«ÊÇÕæÕýÅɼþµÄ»¹ÊÇ¿ìµÝ¹«Ë¾¡£¸úÆÕͨ¿ìµÝÏà±È£¬¶àÁ˸ö»·½Ú£ºÊÕ·¢ÊÒ¶ÔÓʼþÖØÐ°ü×°£¬²»½ö´ò°ü·Ñʱ¼ä£¬¶àµÄ°ü×°Ò²Õ¼ÁËÖØÁ¿£¬Ò²¾Í´øÀ´Á˶îÍâµÄÐÔÄÜËðʧ¡£

Ŀǰ£¬Overlay ģʽµÄÐéÄâÍøÂçÓ¦ÓÃÒѾ­ºÜÆÕ±é£¬ÇàÔÆ¸øÓû§ÌṩµÄÐéÄâ¶þ²ãÍøÂçÒ²ÊÇÏàͬµÄ¹¤×÷Ô­Àí¡£

ÈÝÆ÷µÄ²¿Êð·½Ê½

Docker ĿǰÓÐÁ½ÖÖ·½Ê½²¿Êð£º

1.˽Óл·¾³ÎïÀí»ú²¿Êð

2.¹«ÓÐÔÆÐéÄâ»ú²¿Êð

½ñÌìºÍ´ó¼Ò·ÖÏíµÄ¾ÍÊÇΪʲôҪÔÚÔÆÆ½Ì¨Éϲ¿Êð Docker¡£

ËäÈ»¿´ÆðÀ´ÔÚ¹«ÓÐÔÆµÄÐéÄâ»ú²¿Êð Docker µÄ×ö·¨±È½ÏÆæÝ⣬ĿǰҲûÓй«ÓÐÔÆÄÜÈÃÓû§Ö±½Ó²¿Êð Docker ÔÚÎïÀí»úÉÏ£¬µ±È»£¬Softlayer ÕâÖÖÎïÀí»úÍйܵÄÔÆ³ýÍâ¡£

ÒòΪ Docker ±¾ÉíµÄ°²È«ÐÔ»¹²»¹»ÈÃÈË·ÅÐÄ¡£ËäÈ» Docker ÒѾ­Óи÷ÖÖ°²È«±£»¤£¬°üÀ¨ Namespace ÌṩµÄ¸ôÀë»úÖÆ¡¢Selinux¡¢Apparmor µÈ°²È«»úÖÆ£¬ÒÔ¼°×î½ü²ÅÓеÄUnprivileged Container ¹¦ÄÜÀ´¿ØÖÆ Docker ʵÀýÔÚËÞÖ÷»úÉϵÄÓû§È¨ÏÞ£¬µ«ÊÇÓÉÓÚÈÝÆ÷µÄ±¾ÖÊÊǸúËÞÖ÷»ú¹²ÓÃͬһ¸ö Linux Kernel£¬Ò»µ© Kernel ±¾ÉíÓа²È«Â©¶´£¬¾ÍÓпÉÄܱ» Docker Óû§ÀûÓã¬ÇÖÈëµ½ÔÆÆ½Ì¨µÄÎïÀí»ú¡£

±ÈÈ缸¸öÔÂǰ·¢ÏÖµÄ COW ©¶´£¬¾ÍÓпÉÄÜÈà Docker ʵÀý»ñµÃÎïÀí»úµÄ Root ȨÏÞ£¬ÊµÏÖÈÝÆ÷µÄ¡°Ô½Óü¡±¡£Õâ¸ö©¶´´æÔÚÁËÊ®¼¸Äê²Å±»ÈË·¢ÏÖ£¬ÍêÈ«ÓпÉÄÜ»¹ÓкܶàÀàËÆÂ©¶´´æÔÚ£¬Ö»ÊÇûÓб»¹«¿ª¶øÒÑ¡£

ËùÒÔ£¬¹«ÓÐÔÆÖ±½ÓÈÃÓû§ÔÚ¶à×â»§µÄÎïÀí»úÉÏÔËÐÐ Docker£¬ÊǼ«²»°²È«µÄ×ö·¨¡£

Òò´Ë£¬ÒªÔÚ¹«ÓÐÔÆÊ¹Óà Docker£¬¾ÍÖ»ÓÐÔÚÐéÄâ»úÀïÃæÔËÐÐ Docker ÕâÒ»¸öÑ¡Ôñ¡£ÄÇôÔÚ¹«ÓÐÔÆÉϲ¿Êð Docker ÒµÎñ£¬´æÔÚÄÄЩÎÊÌâÄØ£¿Æäʵ£¬Ö÷Òª»¹ÊÇÐÔÄܺ͹¦ÄÜÁ½·½Ãæ¡£

ÍøÂçÐÔÄÜ

ÍøÂçÐéÄ⻯µÄ±¾ÖÊÊÇÓÃÈí¼þʵÏÖÎïÀíÍø¿¨ºÍ½»»»»úµÄ¹¦ÄÜ£¬Òò´ËÐéÄâÍøÂçÖеÄËùÓÐÁ÷Á¿¶¼»áÏûºÄ CPU ×ÊÔ´¡£

Linux ÔÚ´¦ÀíÍøÂçÁ÷Á¿Ê±£¬Óм¸¸ö·½Ãæ»áÏûºÄ CPU£º

1.µØÖ·×ª»»£¨Nat£©£»

2.Èý²ã·ÓÉת·¢£»

3.Vxlan ·â×°£»

4.¶þ²ãת·¢£»

5.ÐéÄâ»úµÄ Kernel ºÍËÞÖ÷»ú Kernel Ö®¼äµÄת·¢¡£

ÆäÖÐ 1 ºÍ 2 Õ¼µÄ CPU ÏûºÄ½Ï¸ß£¬ÕâÊÇÒòΪµØÖ·×ª»»ºÍ·Óɶ¼»á¶ÔÊý¾Ý°üµÄ°üÍ·×öÐ޸쬲¢ÖØÐ¼ÆËã Checksum£¬ ¶øÇÒµØÖ·×ª»»»¹ÐèÒª²éѯ Conntrack µÄÁ¬½Ó±íºÍ IPtables µÄµØÖ·×ª»»¹æÔò£¬ÕâЩ¹¦Äܶ¼ÊÇÈ«¿¿ËÞÖ÷»úµÄ CPU Íê³É¡£

ÔÆÆ½Ì¨ÌṩµÄ SDN ÍøÂ磬ÊǵÚÒ»²ãÍøÂçÐéÄ⻯£¬ÒÑÔì³ÉÒ»¶¨µÄÐÔÄÜËðʧ¡£µ«ÊÇ¿ÉÒÔͨ¹ýÀûÓÃÎïÀíÍø¿¨µÄÓ²Ð¶ÔØ¹¦ÄÜ£¬±ÈÈç Vxlan Offload£¬ ¾ßÌå°üÀ¨ Gso¡¢Gro¡¢Rx Checksum µÈÔÚÕâÒ»²ã¼õÉÙÐéÄ⻯´øÀ´µÄ²¿·ÖÐÔÄÜËðʧ¡£

ËäÈ»ÈÝÆ÷±¾ÉíÓÉÓÚ¸úËÞÖ÷»ú¹²Ïí Kernel µÄÕâ¸öÌØÐÔ£¬Ïà±È VM ÍøÂçÐÔÄܸüºÃ£¬Ã»ÓÐ µÚ 5 ÌõµÄËðʧ£¬µ«ÊÇ Docker ´î½¨µÄÐéÄâÍøÂ磬ÈÔÈ»»á´øÀ´ÏÔÖøµÄÐÔÄÜËðʧ¡£

ͬʱ£¬ÓÉÓÚµÚ¶þ²ãÐéÄ⻯ÎÞ·¨ÀûÓÃÓ²Ð¶ÔØ¹¦ÄÜ£¬ËùÒÔÐÔÄÜËðʧͨ³£»á¸ßÓÚµÚÒ»²ã¡£Á½²ãÍøÂçÐéÄ⻯´øÀ´µÄÐÔÄÜËðºÄÏàµþ¼Ó£¬½«ÏÔÖøÓ°ÏìÍøÂçÐÔÄÜ¡£

¾Ù¸öÀý×Ó£º

ÔÚÉϺ£Ò»Çø£¨SH1A£©£¬Ê¹Óà IPerf -C ÃüÁî½øÐеĻù±¾ÐÔÄܲâÊÔ (¹Ø±ÕÔÆÆ½Ì¨µÄÍøÂçÏÞËÙ)½á¹ûÈçÏ£º

ÐéÄâÖ÷»úÖ®¼ä£º´ø¿í 9Gbps£»

ÐéÄâÖ÷»úÄÚ£ºÊ¹Óà Docker Overlay ²å¼þµÄ Docker ʵÀýÖ®¼ä´ø¿íϽµÎª 2.3 Gbps¡£

Óɴ˿ɼû£¬ÕâÖÖʹÓà Docker Overlay µÄ·½°¸»á´øÀ´½ü 3/4 µÄÐÔÄÜËðºÄ¡£¶øÈç¹ûËãÉ϶ÔÍâÌṩ·þÎñËùÐèÒªµÄµØÖ·×ª»»´øÀ´µÄÐÔÄÜËðʧ£¬ÕûÌåÐÔÄÜËðʧ½«¸üΪ¾Þ´ó¡£

ÅäÖø´ÔÓ

Ê×ÏÈ£¬Docker ×ÔÉíµÄÍøÂ縴ÔÓ¡£Bridge ºÍ Overlay ¶¼ÐèÒªÅäºÏµØÖ·×ª»»¹¦ÄÜʹÓ㬶øµØÖ·×ª»»µÄ¹æÔò²»½ö¶à£¬¶øÇÒ¸´ÔÓ¡£

ÎÒ×î½üÓöµ½¸ö˽ÓÐÔÆ¿Í»§£¬ÆäÔÚÔÆÆ½Ì¨ÉÏÃæ²¿Êð»ùÓÚ K8S µÄÒµÎñϵͳ¡£ËûÃÇÓöµ½Ò»¸öÎÊÌ⣬ͬһ¸öËÞÖ÷»úµÄ Docker ʵÀýÖ®¼ä£¬Óà K8S ÌṩµÄÒµÎñ IP ÎÞ·¨·ÃÎÊ£¬¶ø²»Í¬ËÞÖ÷»úÖ®¼äÓÃÏàͬµÄ IP ·ÃÎÊÕý³£¡£

Õâ¸ö¿ª·¢ÍŶӣ¬Í¨Ïü¼Ó°àºÃ¼¸Ì죬Ҳû¸ãÇå³þÔõô»ØÊ£¬À´ÕÒÎÒ°ïæ½â¾ö¡£Õâ¸öÎÊÌâʵ¼ÊÉÏÊÇÒòΪ K8S ÉÙÏ·¢ÁËÒ»Ìõ IPtables ¹æÔò£¬Ã»ÓжÔͬËÞÖ÷»úµÄÕâÖÖÇé¿ö×öÔ´µØÖ·×ª»»¡£

Õâ¸öÎÊÌâ¶ÔÊìϤ Linux ÍøÂ繦ÄܵÄÈËÀ´Ëµ£¬²»ÊÇʲôÄÑÌ⣬µ«ÊǶÔרעÓÚÒµÎñ¿ª·¢µÄ Docker Óû§¶øÑÔ£¬¿É¾ÍºÜÄѽâ¾öÁË¡£

ÎÒ˵Õâ¸öÀý×ÓµÄÄ¿µØ¾ÍÊÇҪ˵Ã÷£¬ÅäÖà Docker ÐéÄâÍøÂçÊǼþÄѶȺܸߵÄÊÂÇé¡£

ÁíÒ»·½Ã棬ҪÔÚÔÆÆ½Ì¨ÉÏÃæ£¬Ê¹Óà Docker ¶ÔÍâÌṩ·þÎñ£¬»¹ÐèÒª¸úÔÆÆ½Ì¨µÄÍøÂç×öÕûºÏ¡£

ͨ³£ÊÇÔÚÔÆÆ½Ì¨µÄ IP ºÍ Docker µÄ IP Ö®¼ä×öµØÖ·×ª»»¡£±¾Éí Docker ʵÏÖÕâЩ¹¦ÄܾͱȽϸ´ÔÓ£¬¶øÔÚ´Ë»ù´¡ÉÏ£¬ÔÙ×öÒ»²ãµØÖ·×ª»»£¬»á´øÀ´¶îÍâµÄ¸´ÔÓ¶È¡£

ʹÓà Docker ¹ÜÀíÆ½Ì¨µÄ³õÖÔÊǼò»¯²úÆ·²¿Ê𣬶øÍ¨¹ýÕâÑùµÄ·½Ê½¸úÔÆÆ½Ì¨ÕûºÏ£¬È´ÓëÕâÒ»·½Ïò±³µÀ¶ø³Û¡£

ÈçºÎ½â¾öÈÝÆ÷ÍøÂçÐÔÄܼ°¸´ÔÓÍøÂ粿ÊðµÄÎÊÌâ

ÐÔÄÜÎÊÌâµÄ¸ùÔ´ÔÚÓÚÔÆÆ½Ì¨ºÍ Docker ƽ̨¶¼ÓÐ×Ô¼ºµÄÐéÄâ»¯ÍøÂ磬¶þÕß¹¦ÄÜÖØµþ£¬Ê¹ÓÃʱÏ໥ǶÌס£¶øÅäÖø´ÔÓµÄÄѶÈÒ»¸öÊÇ Docker ×ÔÉíÍøÂ縴ÔÓ£¬ÁíÒ»¸ö·½ÃæÊǸúÔÆÆ½Ì¨µÄÍøÂçÕûºÏÒ²¸´ÔÓ¡£

ĿǰÇàÔÆµÄ SDN ֱͨ·½°¸Í¨¹ýÈà Docker ʵÀý¹ÒÔØÔÆÆ½Ì¨ÌṩµÄÐéÄâÍø¿¨µÄ·½Ê½£¬Èà Docker ʵÀýÖ±½ÓʹÓÃÔÆÆ½Ì¨µÄ SDN ¹¦ÄÜ£¬´úÌæ Docker µÄÐéÄâÍøÂç¡£

Ò»·½Ãæ¼õÉÙÁ˵ڶþ²ãÐéÄâÍøÂçµÄÐÔÄÜËðʧ£»ÁíÒ»·½Ãæ£¬ÔÆÆ½Ì¨µÄ SDN ÊÇͨ¹ý API ºÍ¿ØÖÆÌ¨·â×°ºÃµÄ·þÎñ£¬Docker Ö±½ÓʹÓþͿÉÒÔÁË£¬²»ÐèÒª×Ô¼ºÔÙÅäÖà Docker µÄÍøÂ磬ËùÒÔ´ó·ù½µµÍÁËʹÓÃÄѶȡ£

SDN ÍøÂçֱͨ·½°¸°üº¬Á½¸ö·½Ã棺

1.ÔÆÆ½Ì¨Íø¿¨¹ÜÀí£ºÍ¨¹ýÌá¹©Íø¿¨½Ó¿Ú£¬ÈÃÐéÄâÖ÷»úÄܹ»¹ÒÔØ¶à¸öÍø¿¨¡£ÕâÐ©Íø¿¨¿ÉÒÔÊôÓÚÏàͬ»òÕß²»Í¬µÄÍøÂ磬ͬʱÿ¸öÍø¿¨Äܹ»¹ÜÀí×Ô¼ºµÄË½Íø IP¡¢¹«Íø IP¡¢¸ºÔؾùºâÆ÷ºÍ·À»ðǽµÈ¹¦ÄÜ¡£

2.²å¼þ£ºÕâÊÇÇàÔÆQingcloud ×ÔÖ÷¿ª·¢µÄÒ»¿î Docker ÍøÂç²å¼þ¡£ÔÚÆô¶¯ Docker ʵÀýµÄʱºò£¬Í¨¹ý¸Ã²å¼þ£¬¿ÉÒÔ½«ÐéÄâÖ÷»úÉϵİ󶨵Ķà¸öÍø¿¨Ò»Ò»¹ÒÔØµ½ Docker ʵÀýÉÏ, ²¢¿ÉÒÔÅäÖà IP µØÖ·ºÍ·ÓÉ¡£Æô¶¯Ö®ºó£¬Docker ʵÀý¾Í¼ÓÈëÁËÔÆÆ½Ì¨ SDN ÌṩµÄÍøÂ磬Äܹ»Ê¹ÓÃÔÆÆ½Ì¨ËùÓеÄÍøÂ繦ÄÜ¡£

²å¼þÒѾ­¿ªÔ´£¬µØÖ·ÊÇ https://Github.Com/Yunify/Docker-Plugin-Hostnic

ÕâÊÇÇàÔÆQingcloud ×ÔÖ÷¿ª·¢µÄÒ»¿î Docker ÍøÂç²å¼þ¡£ÔÚÆô¶¯ Docker ʵÀýµÄʱºò£¬Í¨¹ý¸Ã²å¼þ£¬¿ÉÒÔ½«ÐéÄâÖ÷»úÉϵİ󶨵Ķà¸öÍø¿¨Ò»Ò»¹ÒÔØµ½ Docker ʵÀýÉÏ, ²¢¿ÉÒÔÅäÖà IP µØÖ·ºÍ·ÓÉ¡£

Æô¶¯Ö®ºó£¬Docker ʵÀý¾Í¼ÓÈëÁËÔÆÆ½Ì¨ SDN ÌṩµÄÍøÂ磬Äܹ»Ê¹ÓÃÔÆÆ½Ì¨ËùÓеÄÍøÂ繦ÄÜ¡£ÔÆÆ½Ì¨Íø¿¨¹ÜÀí£¬¾ÍÊÇÄܹ»ÈÃÐéÄâÖ÷»ú¹ÒÔØ¶à¸öÍø¿¨¡£Íø¿¨¶ÔÓ¦µ½ Docker µÄÍøÂç×é¼þ£¬¾ÍÊÇEndpoint£¬Õâ¸öÉ豸ÊÜÔÆÆ½Ì¨¹ÜÀí£¬µ×²ãÓÉ SDN ÄÚ²¿µÄ¿ØÖÆÆ÷Ï·¢¹æÔò£¬¿ÉÒÔʹÓà DHCP ¹ÜÀí IP µØÖ·£¬²¢½ÓÈëËùÓÐÔÆÆ½Ì¨µÄÍøÂçÄ£¿é¡£

Ïà±È Docker µÄÍøÂ繦ÄÜ£¬ÇàÔÆµÄÍø¿¨¿ÉÒÔÌṩ¸ü¶àµÄ¹¦ÄÜ:

VPC

Ç°ÃæËµ¹ý£¬Docker µÄ Overlay ÍøÂçʵ¼ÊÉÏÊÇÐéÄâµÄ¶þ²ãÍø£¬¶ø VPC ÌṩµÄÊÇÒ»¸öÐéÄâµÄÈý²ãÍø¡£¿ÉÒÔÀí½âΪһ¸ö·Ö²¼Ê½µÄºËÐĽ»»»»ú¡£ÇàÔÆµÄ VPC ×î¶à¿ÉÒÔ´´½¨ 252 ¸öÐéÄâÍøÂ磬ÈÝÄɳ¬¹ý 6 Íǫ̀ÐéÄâÖ÷»ú¡£

¾Í¼¼ÊõÉÏÀ´¿´£¬ÐéÄâ¶þ²ãÍøÊ¹Óà Vxlan ʵÏÖ£¬ÊÇÏÖÔڽϳÉÊìµÄ¼¼Êõ¡£¶øÐéÄâµÄÈý²ãÍø£¬ÊÇ SDN ¼¼ÊõµÄÒ»¸ö¹Ø¼üµã£¬ÒòΪËü±³ºóÐèÒªÓиö·Ö²¼Ê½Íø¹Ø²ÅÄÜ×öµ½ÐéÄâ»úÊýÁ¿Ôö¼Óʱ£¬VPC ÕûÌåÍøÂçÐÔÄܲ»±ä¡£

Ŀǰ SDN ³§É̺ͼ¼ÊõºÃµÄÔÆ¼ÆË㹫˾¶¼Óи÷×ÔµÄʵÏÖ£¬»¹Ã»Óп´µ½¿¿Æ×µÄ¿ªÔ´²úÆ·Äܹ»×öµ½¡£

µ± Docker ¹ÒÔØÉÏÇàÔÆµÄÍø¿¨Ê±£¬¾Í¼ÓÈëÁ˶ÔÓ¦µÄ VPC£¬¸úÆäËûʵÀýÁ¬ÔÚÁËÒ»Æð¡£Óû§¿ÉÒÔ¸ù¾ÝÍø¿¨¶ÔÓ¦µÄÍøÂçÀ´¶¨ÒåʵÀý¼äÊǶþ²ã»¹ÊÇÈý²ãÁªÍ¨¡£

¹«Íø IP

ÿ¸öÍø¿¨¿ÉÒÔ°ó¶¨×Ô¼º¶ÀÏíµÄ¹«Íø IP£¬Ò²¿ÉÒÔʹÓà VPC ¹²ÏíµÄ¹«Íø IP ¶ÔÍâÌṩ·þÎñ¡£¹«ÍøºÍË½ÍøµØÖ·µÄת»»£¬ÓÉÔÆÆ½Ì¨µÄ·Ö²¼Ê½Íø¹ØÀ´×ö£¬²»ÐèÒª Docker ÅäÖÃÈκΠIPtables ¹æÔò¡£

¸ºÔؾùºâÆ÷

Íø¿¨¿ÉÒÔ×÷Ϊ¸ºÔؾùºâÆ÷µÄºó¶Ë£¬ÒÔ¼¯ÈºµÄ·½Ê½£¬¶ÔÍâÌṩ¸ß¿ÉÓú͸ßÐÔÄܵķþÎñ¡£Ïà±È Docker µÄ¸ºÔؾùºâÆ÷£¬ÇàÔÆµÄ¸ºÔؾùºâÆ÷ÓÐÐí¶àÓŵã:

1.4²ã/7²ãȫ͸Ã÷£¬ºó¶Ë·þÎñÆ÷ÄÜÖ±½ÓÄõ½¿Í»§¶ËµÄÔ´ IP µØÖ·¡£Õâ¸ö¹¦ÄÜÊÇÎÒÔÚÇàÔÆ×öµÄµÚÒ»¸öÏîÄ¿£¬µ½Ä¿Ç°£¬ÔÚÔÆ¼ÆËãµÄ¸ºÔؾùºâÆ÷·þÎñÖÐÈÔÈ»ÊǶÀÓеŦÄÜ£¬ÊÀ½çÉϱðµÄ¹«ÓÐÔÆ¶¼Ã»ÓÐ×öµ½¡£

2.ˮƽÀ©Õ¹ÄÜÁ¦£¬Óû§¿ÉÒÔͨ¹ýÐ޸ļ¯Èº½ÚµãÊýÁ¿£¬À©Õ¹ÍøÂç´ø¿íºÍ HTTPS Ð¶ÔØÄÜÁ¦¡£

3.HTTPS ת·¢²ßÂԵȵȺܶàÅäÖÃÑ¡ÏҪ±È Docker »òÕß K8S ʵÏֵĸºÔؾùºâÆ÷µÄÑ¡Ïî·á¸»ºÜ¶à¡£

4.·À»ðǽ¡£Ã¿¸öÍø¿¨¶¼¿ÉÒÔ¶ÀÁ¢ÅäÖÃ×Ô¼ºµÄ·À»ðǽ¹ýÂ˹æÔò£¬Õâ¸ö¹¦ÄÜÔÚ Docker ÉÏ»¹Ã»¼ûµ½¡£

¸øÐéÄâÖ÷»ú¹ÒÔØÍø¿¨Ö®ºó£¬ÐèҪʹÓõ½ Hostnic ²å¼þ£¬ÓÐ 3 ²½£º

1.Docker-Plugin-Hostnic ÊǸö Docker Ïñ£¬°ÑËüÆô¶¯³É Docker ʵÀý£¬Ð§¹û¾ÍÊǼÓÔØÁËÒ»¸ö½Ð Hostnic µÄ Docker ÍøÂç²å¼þ£»

2.´´½¨ Docker ÍøÂç¡£±ÈÈ磺Docker Network Create -D Hostnic ¨CSubnet=192.168.1.0/24 ¨CGateway 192.168.1.1 Hostnic£¬ÆäÖÐÍø¶ÎºÍÍø¹ØÊÇÍø¿¨ÔÚ VPC ¶ÔÓ¦µÄÍøÂçµÄÊôÐÔ£»

3.Æô¶¯ Docker ʵÀý£¬´«ÈëÍø¿¨¶ÔÓ¦µÄ Mac ºÍ IP µØÖ·¡£±ÈÈç: Docker Run -It ¨CIp 192.168.1.5 ¨CMac-Address 52:54:0E:E5:00:F7 ¨CNetwork Hostnic Ubuntu:14.04 Bash¡£

ÕâÑù¾ÍÍê³ÉÁË¶Ô Docker ʵÀýÍøÂçµÄËùÓй¦ÄÜÅäÖá£

Ç°ÃæËµµÄ¹«Íø IP¡¢¸ºÔؾùºâÆ÷ºÍ·À»ðǽ£¬¶¼¿ÉÒÔͨ¹ýÇàÔÆ¿ØÖÆÌ¨¡¢SDK¡¢ CLI »òÕß API µÄ·½Ê½È¥µ¥¶ÀÅäÖ᣶ÔÕâЩ¹¦ÄÜʹÓÃÉÏÓÐÒÉÎʵϰ£¬¿ÉÒÔͨ¹ý¹¤µ¥¸úÎÒÃǵŤ³Ìʦ¹µÍ¨£¬²»±ØÔÚËÀ¿Ä Docker ÄÇЩ¸´ÔÓµÄÍøÂçÅäÖá£

³ýÁËÇàÔÆ×Ô¼ºÑз¢µÄ Hostnic£¬ÏÖÔÚÒѾ­ÓÐÁíÍâÒ»¿î Docker ²å¼þÖ§³ÖÇàÔÆ SDN ֱͨ¡£ÊÇÏ£ÔÆCsphere ¿ª·¢µÄ

Qingcloud-Docker-Network£¬Í¬ÑùÒ²ÒѾ­¿ªÔ´£º

Https://Github.Com/Nicescale/Qingcloud-Docker-Network ¡£

¸ú Hostnic Ïà±È£¬Õâ¿î²å¼þÕûºÏÁËÇàÔÆ API£¬Äܹ»ÔÚÆô¶¯ Docker ʵÀýʱ£¬×Ô¶¯´´½¨£¬²¢°ó¶¨Íø¿¨£¬Ê¹ÓÃÆðÀ´¸ü·½±ãһЩ¡£

¶ÔÓÚ¹«ÓÐÔÆ£¬Ä¿Ç°Ö»ÄÜÑ¡ÔñÔÚÐéÄâÖ÷»úÀïÃæÊ¹Óà Docker£¬µ«ÊǶÔÓÚ˽ÓÐÔÆ£¬¿ÉÒÔÔÚÇàÔÆÌṩµÄÈÝÆ÷Ö÷»úÀïÃæ²¿Êð Docker¡£

ÈÝÆ÷Ö÷»úµÄ¹¤×÷Ô­Àí¸ú Docker Ò»Ñù£¬¶¼ÊÇÓõ½ÁË Linux Kernel µÄÈÝÆ÷¼¼Êõ£¬µ«ÊÇÓÃÆðÀ´¸ü½Ó½üÐéÄâÖ÷»ú£¬ÓÐ׿¸ºõÏàͬµÄ¹¦ÄÜ£¬±ÈÈ磺¹ÒÔØ SSH ÃÜÔ¿¡¢Web Terminal¡¢¾µÏñÖÆ×÷¡¢±¸·ÝµÈ¹¦ÄÜ£¬¸úÐéÄâÖ÷»ú¾µÏñÈ«¼æÈÝ£¬»¹ÄÜ×öµ½ÔÚÏßÀ©ÈÝ CPU¡¢Äڴ桢ϵͳӲÅÌ¡£

Ò²¾ÍÊÇ˵£¬¶ÔÓÚ˽ÓÐÔÆÓû§£¬¿ÉÒÔʹÓøú¹«ÓÐÔÆÐéÄâÖ÷»úÍêȫһÑùµÄ²Ù×÷·½Ê½£¬ÔÚÈÝÆ÷Ö÷»úÀïÃæ²¿Êð Docker£¬´Ó¶ø¼õÉÙ KVM ÐéÄ⻯ÕâÒ»²ãÔÚÐÔÄÜÉϵÄËðʧ£¬ÄÜ´ïµ½½Ó½üÎïÀí»úµÄÐÔÄÜ¡£

¸úÖ±½ÓÔÚÎïÀí»úÉϲ¿Êð Docker Ïà±È£¬Ê¹ÓÃÈÝÆ÷Ö÷»ú¿ÉÒÔÓÐÔÆÆ½Ì¨±ã½ÝµÄ¹¦ÄÜ£¬±ÈÈçÃë¼¶´´½¨»òÕßÏû»ÙÒ»¸öÈÝÆ÷Ö÷»ú¡£ÔÆÆ½Ì¨µÄ¸±±¾¿ÉÒÔ±£Ö¤ÎïÀí»úå´»úºó£¬Í¨¹ýÀëÏßÇ¨ÒÆ£¬Ñ¸ËÙ»Ö¸´ÒµÎñ¡£ÔÙ¼ÓÉÏÇ°ÃæËµµÄÕâÐ©ÔÆÆ½Ì¨µÄÍøÂ繦ÄÜ£¬Îª¹¹½¨Óû§ÒµÎñ¼¯Èº£¬½ÚÊ¡´óÁ¿Ê±¼ä¡£Í¬Ê±ÇàÔÆµÄ SDN ÍøÂçÔÚ Linux Kernel ÉÏÓÐÉî¶ÈÓÅ»¯£¬Ïà±ÈÖ±½ÓÔÚÎïÀí»úÉÏʹÓà Docker µÄ Overlay ÍøÂçÐÔÄÜ»¹»áºÃ²»ÉÙ¡£

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

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

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

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þµÄ˼¿¼
ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS
Ïà¹ØÅàѵ¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
Windows Azure ÔÆ¼ÆËãÓ¦ÓÃ

ĦÍÐÂÞÀ­ ÔÆÆ½Ì¨µÄ¹¹½¨ÓëÓ¦ÓÃ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ù
ijÑз¢ÖÐÐÄ Openstackʵ¼ù
ÖªÃûµç×Ó¹«Ë¾ ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦ÓÃ
ijµçÁ¦ÐÐÒµ »ùÓÚÔÆÆ½Ì¨¹¹½¨ÔÆ·þÎñ
ÔÆ¼ÆËãÓëWindows AzureÅàѵ
±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ