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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÈçºÎ»¯½â Kubernetes ÍøÂçµÄ¸´ÔÓÐÔ£¿
 
×÷Õߣº²ÅÔÆ
  969  次浏览      27
 2021-9-7
 
±à¼­ÍƼö:
±¾ÎĽ«ÒÔ´øÓÐÁ½¸ö Linux ½ÚµãµÄ±ê×¼ Google Kubernetes Engine£¨GKE£©¼¯ÈºÎªÀý£¬Í¨¹ý¸ú×Ù HTTP ÇëÇó±»´«Ë͵½¼¯Èº·þÎñµÄÕû¸ö¹ý³Ì£¬Éî¶È²ð½â Kubernetes ÍøÂçµÄ¸´ÔÓÐÔ¡£
±¾ÎÄÀ´×ÔÓÚK8s¼¼ÊõȦ£¬ÓÉAlice±à¼­¡¢ÍƼö¡£

ÇëÇóµÄÂóÌ

µ±Ò»¸öÈËÔÚä¯ÀÀÍøÒ³Ê±£¬ËûÊ×Ïȵ¥»÷Ò»¸öÁ´½Ó£¬·¢ÉúÁËһЩÊ£¬Ö®ºóÄ¿±êÒ³Ãæ¾Í±»¼ÓÔØ³öÀ´¡£ÕâÈÃÈ˲»ÃâºÃÆæ£¬´Óµ¥»÷Á´½Óµ½Ò³Ãæ¼ÓÔØ£¬Öм䵽µ×·¢ÉúÁËʲô£¿

¶ÔÓÚÕâ¸öÎÊÌ⣬ÎÒÃÇ¿ÉÒÔÕâÑùÀí½â¡£ÈçÏÂͼËùʾ£¬Óû§ÇëÇóͨ¹ý Internet ±»·¢Ë͸øÒ»¸ö·Ç³£´óµÄÔÆÌṩÉÌ£¬È»ºóÔÙ±»·¢Ë͵½¸ÃÔÆÌṩÉÌ»ù´¡¼Ü¹¹ÖÐÍÐ¹ÜµÄ Kubernetes ¼¯Èº¡£

Èç¹û½øÒ»²½·Å´ó Kubernetes ¼¯Èº£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÔÆÌṩÉÌÕýÏò Kubernetes Service ×ÊÔ´£¨svc£©·¢ËÍÇëÇó£¬È»ºó½«ÇëÇó·Óɵ½ Kubernetes ReplicaSet£¨rs£©ÖÐµÄ Pod¡£

ΪÁ˸üÖ±¹Û£¬ÎÒÃÇ¿ÉÒÔ²¿Êð YAML À´´´½¨ Kubernetes Service ºÍ ReplicaSet£º

 

ÏÖÔÚÎÒÃÇÒѾ­ÔÚ hello-world ReplicaSet Ï´´½¨ÁËÁ½¸ö Pod£¬»¹´´½¨ÁËÒ»¸ö´øÓиºÔؾùºâÆ÷µÄ·þÎñ×ÊÔ´ hello-world£¨Èç¹ûÔÆÌṩÉ̺ͼ¯ÈºÍøÂçÖ§³Ö£©£¬ÒÔ¼°Ò»¸öÔÚ host:port ÖÐÓÐÁ½¸öÌõÄ¿µÄ Kubernetes Endpoint ×ÊÔ´£¬Ã¿¸ö Pod ¶ÔÓ¦Ò»¸ö£¬ÒÔ Pod IP ×÷ΪÖ÷»úÖµºÍ¶Ë¿Ú 8080¡£

ÔÚ GKE ¼¯ÈºÉÏ£¬ÎÒÃÇ kubectl һϻ᷵»ØÒÔÏÂÄÚÈÝ£º

¼¯Èº IP ÍøÂçÐÅÏ¢£º

Node - 10.138.15.0/24

Cluster - 10.16.0.0/14

Service - 10.19.240.0/20

ÒÑÖª·þÎñÔÚ¼¯Èº CIDR ÖеÄÐéÄâ IP µØÖ·£¨VIP£©ÊÇ 10.19.240.1¡£ÏÖÔÚ£¬ÎÒÃÇ¿ÉÒÔ´Ó¸ºÔؾùºâÆ÷¿ªÊ¼£¬ÉîÈë¸ú×ÙÇëÇó½øÈë Kubernetes ¼¯ÈºµÄÕû¸ö¡°Âó̡±¡£

¸ºÔؾùºâÆ÷

Kubernetes ͨ¹ý±¾µØ¿ØÖÆÆ÷ºÍ Ingress ¿ØÖÆÆ÷ÌṩÁ˺ܶ๫¿ª·þÎñµÄ·½·¨£¬µ«ÕâÀïÎÒÃÇ»¹ÊÇʹÓà LoadBalancer ÀàÐ͵ıê×¼ Service ×ÊÔ´¡£

ÎÒÃÇµÄ hello-world ·þÎñÐèÒª GCP ÍøÂç¸ºÔØ¾ùºâÆ÷¡£Ã¿¸ö GKE ¼¯Èº¶¼ÓÐÒ»¸öÔÆ¿ØÖÆÆ÷£¬ËüÔÚ¼¯ÈººÍ API ¶ËµãÖ®¼ä½øÐнӿڣ¬ÒÔ×Ô¶¯´´½¨¼¯Èº×ÊÔ´ËùÐèµÄ GCP ·þÎñ£¬°üÀ¨ÎÒÃǵĸºÔؾùºâÆ÷£¨²»Í¬ÔÆÌṩÉ̵ĸºÔؾùºâÆ÷ÔÚÀàÐÍ¡¢ÌØÐÔÉ϶¼Óв»Í¬£©¡£

ͨ¹ý´Ó²»Í¬µÄ½Ç¶È¹Û²ì¼¯Èº£¬ÎÒÃÇ¿ÉÒԲ鿴Íⲿ¸ºÔؾùºâÆ÷µÄλÖãº

kube-proxy

ÿ¸ö½Úµã¶¼ÓÐÒ»¸ö kube-proxy ÈÝÆ÷½ø³Ì£¨ÔÚ Kubernetes ²Î¿¼¿ò¼ÜÖУ¬kube-proxy ÈÝÆ÷λÓÚ kube-system ÃüÃû¿Õ¼äµÄ Pod ÖУ©£¬Ëü¸ºÔð°ÑѰַµ½¼¯Èº Kubernetes ·þÎñ¶ÔÏóÐéÄâ IP µØÖ·µÄÁ÷Á¿×ª·¢µ½ÏàÓ¦ºó¶Ë Pod¡£kube-proxy µ±Ç°Ö§³ÖÈýÖÖ²»Í¬µÄʵÏÖ·½Ê½£º

User space£º¼´Óû§¿Õ¼ä£¬·þÎñ·ÓÉÊÇÔÚÓû§½ø³Ì¿Õ¼äµÄ kube-proxy ÖнøÐе쬶ø²»ÊÇÄÚºËÍøÂç¶ÑÕ»¡£ÕâÊÇkube-proxy µÄ×î³õ°æ±¾£¬½ÏΪÎȶ¨£¬µ«ÊÇЧÂʲ»Ì«¸ß£»

iptables£ºÕâÖÖ·½Ê½²ÉÓà Linux Äں˼¶ Netfilter ¹æÔòΪ Kubernetes Services ÅäÖÃËùÓзÓÉ£¬ÊÇ´ó¶àÊýƽ̨ʵÏÖ kube-proxy µÄĬÈÏģʽ¡£µ±¶Ô¶à¸öºó¶Ë Pod ½øÐиºÔؾùºâʱ£¬ËüʹÓÃδ¼ÓȨµÄÑ­»·µ÷¶È£»

IPVS£ºIPVS »ùÓÚ Netfilter ¿ò¼Ü¹¹½¨£¬ÔÚ Linux ÄÚºËÖÐʵÏÖÁË L4 ¸ºÔؾùºâ£¬Ö§³Ö¶àÖÖ¸ºÔؾùºâËã·¨£¬Á¬½Ó×îÉÙ£¬Ô¤ÆÚÑÓ³Ù×î¶Ì¡£Ëü´Ó Kubernetes v1.11 ÖпªÊ¼ÆÕ±é¿ÉÓ㬵«ÐèÒª Linux Äں˼ÓÔØ IPVS Ä£¿é¡£ËüÒ²²»Ïñ iptables ÄÇÑùÓµÓи÷ÖÖ Kubernetes ÍøÂçÏîÄ¿µÄ¹ã·ºÖ§³Ö¡£

ÔÚÎÒÃÇµÄ GKE ¼¯ÈºÖУ¬kube-proxy ÒÔ iptables ģʽÔËÐУ¬ËùÒÔÎÒÃǺóÐøÖ÷ÒªÑо¿¸ÃģʽµÄ¹¤×÷·½Ê½¡£

Èç¹û²é¿´´´½¨ºÃµÄ hello-world ·þÎñ£¬ÎÒÃÇ¿ÉÒÔ·¢ÏÖËüÒѾ­±»·ÖÅäÁËÒ»¸ö½Úµã¶Ë¿Ú 30510¡£½ÚµãÍøÂçÉ϶¯Ì¬·ÖÅäµÄ¶Ë¿ÚÔÊÐíÆäÖÐÍйܵĶà¸ö Kubernetes ·þÎñÔÚÆä¶ËµãÖÐʹÓÃÏàͬµÄÃæÏò Internet µÄ¶Ë¿Ú¡£

Èç¹û·þÎñÒѱ»²¿Êðµ½±ê×¼ Amazon EKS ¼¯Èº£¬Ëü½«ÓÉ Elastic Load Balance Ìṩ·þÎñ£¬¸Ã·þÎñ»á½«´«ÈëµÄÁ¬½Ó·¢Ë͵½ÏàÓ¦ Pod ½ÚµãÉÏÎÒÃÇ·þÎñµÄ½Úµã¶Ë¿Ú¡£µ«ÊÇ£¬Google Cloud Platform ÍøÂç¸ºÔØ¾ùºâÆ÷Ö»»á½«Á÷Á¿×ª·¢µ½Óë¸ºÔØ¾ùºâÆ÷µÄ´«Èë¶Ë¿ÚλÓÚͬһ¶Ë¿ÚµÄÄ¿±ê£¬ÀýÈ磬µ½¸ºÔؾùºâÆ÷ÉÏµÄ¶Ë¿Ú 80 µÄÁ÷Á¿»á±»·¢Ë͵½Ä¿±êºó¶ËʵÀýÉÏµÄ¶Ë¿Ú 80¡£

ÎÒÃÇµÄ hello-world pods ¾ø¶ÔûÓÐÔÚ½ÚµãµÄ¶Ë¿Ú 80 ÉϼàÌý¡£ËùÒÔÈç¹ûÔÚ½ÚµãÉÏÔËÐÐ netstat£¬ÎÒÃÇ¿ÉÒÔ¿´µ½Ã»Óнø³ÌÕýÔÚ¼àÌý¸Ã¶Ë¿Ú¡£

ÄÇô£¬Í¨¹ý¸ºÔؾùºâÆ÷µÄÇëÇóÊÇÈçºÎ³É¹¦½¨Á¢Á¬½ÓµÄÄØ£¿Èç¹û kube-proxy ÔÚÓû§¿Õ¼äģʽÏÂÔËÐУ¬Ëüʵ¼ÊÉÏÊǽ«Á¬½Ó´úÀíµ½ºó¶Ë Pod¡£µ«ÊÇ£¬ÔÚ iptables ģʽÏ£¬kube-proxy ÅäÖÃÁË Netfilter Á´£¬Òò´Ë¸ÃÁ¬½Ó±»½ÚµãµÄÄÚºËÖ±½Ó·Óɵ½Á˺ó¶ËÈÝÆ÷µÄ¶Ëµã¡£

iptables

ÔÚÎÒÃÇµÄ GKE ¼¯ÈºÖУ¬Èç¹ûµÇ¼µ½ÆäÖÐÒ»¸ö½Úµã²¢ÔËÐÐ iptables£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÕâЩ¹æÔò¡£

¸ù¾Ý¹æÔò×¢ÊÍ£¬ÎÒÃÇ¿ÉÒÔ»ñµÃÓëÀ´×Ô·þÎñµÄ¸ºÔؾùºâÆ÷µ½ hello-world ·þÎñµÄ´«ÈëÁ¬½ÓÏàÆ¥ÅäµÄ¹ýÂËÆ÷Á´µÄÃû³Æ£¬²¢×ñÑ­¸ÃÁ´µÄ¹æÔò£¨ÔÚûÓйæÔò×¢Ê͵ÄÇé¿öÏ£¬ÎÒÃÇÈÔÈ»¿ÉÒÔ½«¹æÔòµÄÔ´ IP µØÖ·Óë·þÎñµÄ¸ºÔؾùºâÆ÷½øÐÐÆ¥Å䣩¡£

ÎÒÃÇ»¹¿ÉÒÔ¿ÉÊÓ»¯ÍøÂç¶ÑÕ»ÖÐÓÃÓÚÆÀ¹ÀºÍÐÞ¸ÄÊý¾Ý°üµÄÁ´ºÍ¹æÔò£¬²é¿´ÎÒÃÇÔÚ¼¯ÈºÖд´½¨µÄ·þÎñÊÇÔõô°ÑÁ÷Á¿¶¨Ïòµ½¸±±¾¼¯³ÉÔ±µÄ¡£

KUBE-FW-33X6KPGSXBPETFQV Á´ÓÐÈý¸ö¹æÔò£¬Ã¿¸ö¹æÔò¶¼Ìí¼ÓÁËÁíÒ»¸öÁ´À´´¦ÀíÊý¾Ý°ü¡£

KUBE-MARK-MASQ Ïò·¢Ë͵½ hello-world ·þÎñµÄ°ü£¨À´×Ô¼¯ÈºÍøÂçÍⲿ£©Ìí¼ÓÒ»¸ö Netfilter ±ê¼Ç¡£´øÓд˱ê¼ÇµÄÊý¾Ý°ü½«°´ÕÕ POSTROUTING ¹æÔò½øÐиü¸Ä£¬ÒÔʹÓÃÔ´ÍøÂçµØÖ·×ª»»£¨SNAT£©£¬²¢½«½Úµã IP µØÖ·×÷ΪÆäÔ´ IP µØÖ·£»

KUBE-SVC-33X6KPGSXBPETFQV Á´ÊÊÓÃÓÚËùÓÐÓë hello-world ·þÎñÏà¹ØµÄÁ÷Á¿£¨ÓëÔ´Î޹أ©£¬²¢ÇÒ¶Ôÿ¸ö·þÎñ¶Ëµã£¨ÔÚ±¾ÀýÖÐΪÁ½¸ö Pod£©Ìṩ¹æÔò¡£Ê¹ÓÃÄĸö¶ËµãÁ´ÊÇÍêÈ«Ëæ»úÈ·¶¨µÄ£º

KUBE-SEP-ALRUKLHE5DT3R34X£ºÈç¹ûÐèÒª£¬KUBE-MARK-MASQ »áÔÙ´ÎÏòÊý¾Ý°üÖÐÌí¼ÓÒ»¸ö Netfilter ±ê¼ÇÓÃÒÔ SNAT£»DNAT ¹æÔòʹÓà 10.16.0.11:8080 ¶Ëµã×÷ΪĿ±êÀ´ÉèÖÃÄ¿±ê NAT

KUBE-SEP-X7DMMHFVFOT4JLHD£ºÈç¹ûÐèÒª£¬KUBE-MARK-MASQ »áÔÙ´ÎΪÊý¾Ý°üÌí¼ÓÒ»¸ö Netfilter ±ê¼ÇÓÃÒÔ SNAT£»DNAT ¹æÔòʹÓà 10.16.1.8:8080 ¶Ëµã×÷ΪĿ±êÀ´ÉèÖÃÄ¿±ê NAT

KUBE-MARK-DROP Ïò´ËʱÉÐδÆôÓÃÄ¿±ê NAT µÄÊý¾Ý°üÌí¼Ó Netfilter ±ê¼Ç¡£ÕâЩÊý¾Ý°ü½«ÔÚ KUBE-FIREWALL Á´Öб»¶ªÆú¡£

ÐèҪעÒâµÄÊÇ£¬¾¡¹ÜÎÒÃǵļ¯ÈºÓÐÁ½¸ö½Úµã£¬Ã¿¸ö½Úµã¶¼ÓÐÒ»¸ö hello-world Pod£¬µ«ÕâÖÖ·ÓÉ·½·¨²¢²»´æÔÚÓÅÏȼ¶¡£Èç¹ûÎÒÃǽ«·þÎñ¹æ·¶ÖÐµÄ externalTrafficPolicy ¸ü¸ÄΪ Local£¬ÄÇôÇé¿ö¾Í»á¸Ä±ä¡£¼ÙÉè´Ëʱ´æÔÚÇëÇó£¬Õâ¸öÇëÇó²»½ö»áתµ½½ÓÊÕÇëÇóµÄ½ÚµãÉ쵀 Pod£¬»¹»áµ¼ÖÂûÓзþÎñ Pod µÄ½Úµã¾Ü¾øÁ¬½Ó¡£

Òò´Ë£¬Local ²ßÂÔͨ³£ÐèÒªÓë Kubernetes daemon sets Ò»ÆðʹÓ㬺óÕß»áÔÚ¼¯ÈºÖеÄÿ¸ö½ÚµãÉϵ÷¶ÈÒ»¸ö Pod¡£ËäȻǰÕßÄÜÃ÷ÏÔ½µµÍÇëÇóµÄƽ¾ùÍøÂçÑÓ³Ù£¬µ«ËüÒ²¿ÉÄܵ¼Ö·þÎñ Pods Ö®¼äµÄ¸ºÔز»¾ùºâ¡£

Pod ÍøÂç

±¾ÎIJ»»áÉîÈë½éÉÜ Pod ÍøÂ磬µ«ÊÇÔÚÎÒÃÇµÄ GKE ¼¯ÈºÖУ¬Pod ÍøÂçÓÐ×Ô¼ºµÄ CIDR ¿é£¬Óë½ÚµãÍøÂç·Ö¿ª¡£Kubernetes ÍøÂçÄ£ÐÍÒªÇó¼¯ÈºÖеÄËùÓÐ Pod Äܹ»Ö±½ÓÏ໥Ѱַ£¨ÎÞÊÓÆäÖ÷»ú½Úµã£©¡£GKE Ⱥ¼¯Ê¹Óà kubenet CNI£¬ËüÔÚÿ¸ö½ÚµãÉÏ´´½¨µ½ Pod ÍøÂçµÄÍøÇŽӿڣ¬ÎªÃ¿¸ö½ÚµãÌṩ×Ô¼ºµÄ Pod IP µØÖ·×¨Óà CIDR ¿é£¬ÒÔ¼ò»¯·ÖÅäºÍ·ÓÉ¡£Google Compute Engine£¨GCE£©ÍøÂç¿ÉÒÔÔÚ VM Ö®¼ä·Óɸà Pod ÍøÂçÁ÷Á¿¡£

ÇëÇó

ÒÔÏÂÊÇÊÇÎÒÃÇ»ñÈ¡ HTTP 200 ÏìÓ¦´úÂëµÄ·½Ê½£º

±¾ÎÄÌáµ½ÁËÐí¶à¸Ä±ä·Óɵķ½·¨£¬ËüÃÇÓɲ»Í¬ Kubernetes ƽ̨Ìṩ£¬ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄÇåµ¥£º

ÈÝÆ÷ÍøÂç½Ó¿Ú£¨CNI£©²å¼þ£ºÃ¿¸öÔÆÌṩÉÌĬÈÏʹÓÃÓëÆä VM ÍøÂçÄ£ÐͼæÈÝµÄ CNI ʵÏÖ¡£±¾ÎÄÒÔĬÈÏÉèÖÃµÄ GKE ¼¯ÈºÎªÀý£¬µ«Èç¹ûÊÇ Amazon EKS£¬ÄÇ»áºÜ²»Ò»Ñù£¬ÒòΪ AWS VPC CNI °ÑÈÝÆ÷Ö±½Ó·ÅÔÚ½ÚµãµÄ VPC ÍøÂçÉÏ£»

Kubernetes Network Policy£ºCalico ÊÇÊµÊ©ÍøÂç²ßÂÔ×îÊÜ»¶Ó­µÄ CNI ²å¼þÖ®Ò»£¬ËüÔÚ½ÚµãÉÏΪÿ¸ö Pod ´´½¨Ò»¸öÐéÄâÍøÂç½Ó¿Ú£¬²¢Ê¹Óà Netfilter ¹æÔòÀ´ÊµÊ©Æä·À»ðǽ¹æÔò£»

¾¡¹Ü´ó¶àÊýÇé¿öÏÂÈÔȻʹÓà Netfilter£¬µ« kube-proxy IPVS ·ÓÉģʽͨ³£»á°Ñ·þÎñ·ÓÉºÍ NAT ÒÆ³ö Netfilter ¹æÔò£»

Íⲿ¸ºÔؾùºâÆ÷»òÆäËû¿ÉÒÔ½«Á÷Á¿Ö±½Ó·¢Ë͵½·þÎñ½Úµã¶Ë¿ÚµÄÔ´½«Æ¥Åä iptables ÖеIJ»Í¬Á´£¨KUBE-NODEPORTS£©£»

Kubernetes Ingress ¿ØÖÆÆ÷¿ÉÒÔͨ¹ý¶àÖÖ·½Ê½¸ü¸Ä±ßÔµ·þÎñ·ÓÉ£»

ÖîÈç Istio Ö®ÀàµÄ·þÎñÍø¸ñ¿ÉÄÜ»áÈÆ¹ý kube-proxy£¬Ö±½ÓÁ¬½Ó·þÎñÈÝÆ÷Ö®¼äµÄÄÚ²¿Â·ÓÉ¡£

±£»¤·þÎñ

Kubernetes ÍøÂçÐèÒª´óÁ¿¿ÉÒÆ¶¯²¿¼þ£¬Ëü·Ç³£¸´ÔÓ£¬µ«Èç¹û¿ª·¢Õß¶Ô¼¯ÈºÖз¢ÉúµÄÊÂÓлù±¾Á˽⣬Õâ»áÓÐÖúÓÚ¿ª·¢Õ߸üÓÐЧµØ¼à¿Ø¡¢±£»¤Ëü¡£

µÚÒ»£¬¶ÔÓÚ Kubernetes ·þÎñ×ÊÔ´´´½¨µÄÔÆ¸ºÔؾùºâÆ÷£¬Ìí¼Ó·À»ðǽÏÞÖÆµÄͨÓ÷½·¨ÊDz»´æÔڵġ£Ò»Ð©ÔÆÌṩÉÌ»áÖ§³Ö·þÎñ¹æ·¶ÖÐµÄ loadBalancerSourceRanges ×ֶΣ¬Õâ¸ö×Ö¶ÎÔÊÐí¿ª·¢ÕßÌṩ¿ÉÒÔÁ¬½Óµ½¸ºÔؾùºâÆ÷µÄ IP CIDR ¿é°×Ãûµ¥¡£Èç¹ûÔÆÌṩÉ̲»Ö§³Ö´Ë×ֶΣ¬Ëü¾Í»á±»ºöÂÔ£¬Òò´Ë¿ª·¢ÕßÐèÒªÑéÖ¤Íⲿ¸ºÔؾùºâÆ÷µÄÍøÂçÅäÖá£

¶ø¶ÔÓÚ²»Ö§³Ö loadBalancerSourceRanges ×ֶεÄÔÆÌṩÉÌ£¬³ý·ÇÒѾ­ÔÚÔÆÌṩÉ̼¶±ð²ÉÈ¡´ëÊ©Ëø¶¨Á˸ºÔؾùºâÆ÷ºÍÔËÐÐËüÃǵÄÔÆÍøÂ磬¿ª·¢Õß»¹ÊÇÓ¦¸Ã¼Ù¶¨¸ºÔؾùºâÆ÷ÉϵķþÎñ¶ËµãÊǶÔÈ«ÊÀ½ç¿ª·ÅµÄ¡£ÓÉÓÚ¸÷ÖÖÒòËØ£¬ÔÆÌṩÉ̸ºÔؾùºâÆ÷²úÆ·µÄĬÈÏ·À»ðǽÉèÖÃǧ²îÍò±ð£¬Ò»Ð©ÔÆÌṩÉÌ¿ÉÄÜ»¹Ö§³Ö¶Ô Service ¶ÔÏóµÄ×¢ÊÍ£¬ÒÔÅäÖøºÔؾùºâÆ÷µÄ°²È«ÐÔ¡£

Æä´Î£¬Çë×¢Ò⣬ÎÒÃÇûÓÐͨ¹ýÔÚ GKE ¼¯ÈºÖÐÆôÓà Kubernetes ÍøÂç²ßÂÔÖ§³ÖÀ´°²×° Calico CNI£¬ÒòΪ Calico ´´½¨ÁË´óÁ¿ÆäËû iptables ¹æÔò£¬Õâ¸ø¿ÉÊÓ»¯¸ú×Ùµ½ Pod µÄÐéÄâ·ÓÉʱÔö¼ÓÁ˶îÍâ²½Öè¡£¾¡¹ÜÈç´Ë£¬ÎÒÃÇ»¹Êǽ¨Ò鿪·¢ÕßÔÚÉú²ú¼¯ÈºÖÐʵÏÖ NetworkPolicy API µÄ CNI£¬²¢´´½¨ÏÞÖÆ Pod Á÷Á¿µÄ²ßÂÔ¡£

µÚÈý£¬ÆôÓà HostNetwork ÊôÐÔ´´½¨µÄ Pod ½«¹²Ïí½ÚµãµÄÍøÂç¿Õ¼ä¡£ËäÈ»´æÔÚһЩÕâÑù×öµÄÀý×Ó£¬µ«Í¨³£Çé¿öÏ£¬´ó¶àÊý Pod ²»ÐèÒªÔÚÖ÷»úÍøÂçÉÏ£¬ÓÈÆäÊǶÔÓÚÓÐ root ÌØÈ¨µÄ Pod£¬Õâ¿ÉÄܻᵼÖÂÊܹ¥»÷µÄÈÝÆ÷¿ÉÒÔ²é¿´ÍøÂçÁ÷Á¿¡£Èç¹û¿ª·¢ÕßÐèÒªÔÚ½ÚµãÍøÂçÉϹ«¿ªÈÝÆ÷¶Ë¿Ú£¬¶øÊ¹Óà Kubernetes Service ½Úµã¶Ë¿ÚÎÞ·¨Âú×ãÐèÇó£¬Ò»¸öÎÈÍ×µÄÑ¡ÔñÊÇ¿ÉÒÔÔÚ PodSpec ÖÐΪÈÝÆ÷Ö¸¶¨ hostPort¡£

×îºó£¬Ê¹ÓÃÖ÷»úÍøÂçµÄ Pod ²»Ó¦Ê¹Óà NET_ADMIN ¹¦ÄÜÔËÐУ¬Õ⽫ʹËüÃÇÄܹ»¶ÁÈ¡ºÍÐ޸ĽڵãµÄ·À»ðǽ¹æÔò¡£

Ô­ÎÄ£ºhttps://www.stackrox.com/post/2020/01/kubernetes-networking-demystified/

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

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

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

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
ÔÆÔ­Éú¼Ü¹¹¸ÅÊö
K8S¸ß¿ÉÓü¯Èº¼Ü¹¹ÊµÏÖ
ÈÝÆ÷ÔÆ¹ÜÀíÖ®K8S¼¯Èº¸ÅÊö
k8s-ÕûÌå¸ÅÊöºÍ¼Ü¹¹
Ê®·ÖÖÓѧ»áÓÃdocker²¿Êð΢·þÎñ
×îпγÌ
ÔÆ¼ÆË㡢΢·þÎñÓë·Ö²¼Ê½¼Ü¹¹
Æóҵ˽ÓÐÔÆÔ­ÀíÓë¹¹½¨
»ùÓÚKubernetesµÄDevOpsʵ¼ù
ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦Ó㨰¢ÀïÔÆ£©
Docker²¿Êð±»²âϵͳÓë×Ô¶¯»¯¿ò¼Üʵ¼ù
³É¹¦°¸Àý
±±¾© ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ùÅàѵ
ij¾ü¹¤Ñо¿µ¥Î» MDA£¨Ä£ÐÍÇý¶¯¼Ü¹¹£©
ÖªÃûÏû·Ñ½ðÈÚ¹«Ë¾ ÁìÓòÇý¶¯Éè¼Æ
ÉîÛÚijÆû³µÆóÒµ Ä£ÐÍÇý¶¯µÄ·ÖÎöÉè¼Æ