23. 25 Deliveryrate BDP BDP+BufSize RTT Optimal: max BW and min RTT (Kleinrock) amount in flight Optimal operating point 23 Deliveryrate BDP BDP+BufSize RTT Loss based CC (CUBIC / Reno) amount in flight Loss based congestion control in deep buffers BDP = (max BW) * (min RTT) 26 Deliveryrate BDP BDP+BufSize RTT amount in flight Est min RTT = windowed min of RTT samples Est max BW = windowed max of
#èª²é¡ çªç¶ãã£ã³ãã¼ã³ã¨ãã®é«ãã©ãã£ãã¯ãæ¥ãï¼ã¨ãè¨ãããã¨è²ã å°ããã¨ã¯ãããã®ã®ãä»ã®ãæä¸ã¯ã©ã¦ãã ããã¹ããã¯ä¸ãã¨ãããªãã¨ããªãã§ãããã£ã¦ã¨ããããCPUã¨ãã¡ã¢ãªããã¦è¦ããã®ã®ããã£ã³ãã¼ã³ãå§ã¾ã£ããæå¤ã¨æ©ããã©ã¦ã¶ããã¤ãªãããªãï¼ï¼ã¨ãè¨ããããããã CPUãã¡ã¢ãªããããªã«è² è·ã¯ç¹ã«é«ãããªãã調ã¹ã¦ã¿ããTIME_WAITã大éã«ãã£ãã #ã¨ããããä½ã¨ãããã ####TIME_WAITæ°ãã³ãã³ãã§ç¢ºèª $ netstat -anp|grep TIME_WAIT __(snip)__ tcp 0 0 192.168.1.1:80 192.97.67.192:56305 TIME_WAIT - tcp 0 0 192.168.1.1:80 192.63.64.145:65274 TIME_WAIT - tcp 0 0 192.168.1.1:80
ã¯ããã« Kubernetes ä¸ã®ã¢ããªã±ã¼ã·ã§ã³ã«å¯¾ãã¦ãcurl ã tcpdump ãªã©ä½¿ãæ £ãããã¼ã«ã使ã£ã¦ãããã°ãè¡ãããã¨æãå ´åããããã¨æãã¾ããkubectl exec ãå©ç¨ããã¨ã³ã³ããå ã®ã³ãã³ããå®è¡ãããã¨ãã§ããå¾æ¥ ssh ã§è¡ã£ã¦ãããããã°ã«è¿ããã¨ãå¯è½ã«ãªãã¾ããä¸æ¹ãã³ã³ããã«ã¯å¿ è¦æä½éã®ãã®ããå«ããªããã¨ããã¹ããã©ã¯ãã£ã¹ã¨ãªã£ã¦ããããã使ãããã³ãã³ããå«ã¾ãã¦ããªããã¨ãããã§ãããã æ¬è¨äºã§ã¯ãkubectl exec ã主ã¨ãããããã°ã®æ¹æ³ã¨ãã³ã³ããã«ä½¿ãããã³ãã³ããå«ã¾ãã¦ããªãå ´åã kubectl exec ãå©ç¨ã§ããªãå ´åã®å¯¾å¿æ¹æ³ãªã©ã«ã¤ãã¦èª¬æãã¾ãã確èªã¯ Kubernetes v1.8 ã§è¡ããã³ã³ããã©ã³ã¿ã¤ã 㯠Docker ãåæã¨ãã¦ãã¾ãã kubectl exec ã使ã£ããããã° ku
ã³ã³ããé¢é£ ã¯ã©ã¦ã Kubernetes ãããã¯ã¼ãã³ã° 2017/10/02 æè¡æ¬é¨ ã¯ã©ã¦ãåºç¤ã¨ãã¹ãã¼ããå·¥å¦å士ãå²©æ¬ ä¿å¼ Kubernetes ã§ã®ãããã¯ã¼ã¯å®è£ ã«ã¤ãã¦ããã¤ãã®ä¾ãæãã¦è§£èª¬ãã¦ããã¾ãã Kubernetes ã§ã®ãããã¯ã¼ã¯ã¨è¨ã£ãå ´åã以ä¸ã®2ã¤ã®è§£éãã§ãã¾ãã Kubernetes ä¸ã®ã¢ããªã±ã¼ã·ã§ã³(Pod)å´ããè¦ããããã¯ã¼ã¯ ä¸è¨ã®(ä»®æ³)ãããã¯ã¼ã¯ãå®ç¾ããããã® Kubernetes å´ã®å®è£ (ä¸åã) æ¬æ¸ã§ã¯ 1. ãç°¡åã«èª¬æããå¾ã主㫠2. ã«ã¤ãã¦è§£èª¬ãã¦ããã¾ãããªããkubernetes ã®ãã¼ã¸ã§ã³ã¯ 1.7 ãç¨ãã¦ãã¾ãã Kubernetes 㯠Pod æ¯ã« IPã¢ãã¬ã¹ãå²ãå½ã¦ã¾ããåä¸ Kubernetes ã¯ã©ã¹ã¿å ã® Pod ã¯ãã® IPã¢ãã¬ã¹ã使ã£ã¦ç¸äºã«éä¿¡ã§ãã¾ãã ãã®å³ã®
ãããã¯ã¼ã¯ã¨ã³ã¸ãã¢ãããLinux Bridgeããããããã¨è¨ããã¦èª¬æç¨ã«æ¸ããLinuxãã¹ãå é¨ãããã¯ã¼ã¯ã®æ¦å¿µèª¬æã¨ä½ãæ¹ã§ãã å®ç¨çãªãã®ãå¿ è¦ãªãã°ä»¥ä¸ã®ãªã³ã¯ããããããããã¨æãã¾ãã http://kurochan-note.hatenablog.jp/entry/2015/10/11/110649 http://ameblo.jp/principia-ca/entry-12103919307.html ãªãããªã½ã¼ã¹ããããã°ã³ã³ãããããVMã§æ§ç¯ããã»ããå§åçã«æ¥½ã§ã:-) ç°å¢ ã»OS CentOS7 ã»ã«ã¼ãã£ã³ã°ãããã³ã« OSPF(on quagga) #åæç¥è Linuxå ã«ä»¥ä¸ã®ãã®ãè¤æ°ä½æãããã¨ãã§ãã ã»ã¤ã³ã¿ã¼ãã§ã¼ã¹ ã»ããªã㸠ã»ã«ã¼ãã£ã³ã°ãã¼ãã«ããããã³ã«ã¹ã¿ã㯠#ã·ããªãª ãããããããã¯ã¼ã¯ä½ã£ã¦ã¨è¨ããã¾ããã
ããã«ã¡ã¯ãSPEEDAéçºãã¼ã ã®é´æ¨ã§ãã ããã¾ã§ãã«ããã¹ãã§ã®Containerééä¿¡ã«ã¤ãã¦ã Dockerã®ãããã¯ã¼ã¯ã®åºç¤(åã å) ãã«ããã¹ãã§ã®Containerééä¿¡ãå®ç¾ããæ段ã®ä¸ã¤ã¨ãã¦ã®OverlayNetwork(åå) ã¨ãã£ã話ããã¦ãã¾ãããã3åç®ã¨ãªãä»åã¯ããã¾ã§ã®å 容ãè¸ã¾ããä¸ã§Kubernetesã®ãããã¯ã¼ã¯ã«ã¤ãã¦ã話ãã¾ããå 容ã¨ãã¦ã¯å¤§ãã次ã®2ã¤ã«ãªãã¾ãã ã©ããã£ã¦ãã«ããã¹ãã§ã®Containerééä¿¡ãå®ç¾ãã¦ããã Serviceåã§Podã¨éä¿¡ã§ããããããããã®ä»çµã¿ ã§ã¯æ©é1ã¤ç®ã®è©±ãã¯ããã¾ããããKubernetesãå©ç¨ããå ´åãåºæ¬çã«ã¯è¤æ°ã®ãã¼ãä¸ã«Kubernetesã¯ã©ã¹ã¿ãæ§ç¯ãããã¨ã«ãªãã¾ãã ï¼minikubeã使ã£ã¦åä¸ãã¼ããããªãKubernetesã¯ã©ã¹ã¿ãæ§ç¯ãããããªä¾å¤ã¯
Google ã«ãããã«ããã¼ã¸ããµã¼ãã¹ã§ãã GKE ã§ã¯ Kubernetes ã®ãã¹ã¿ããã¼ãã®ãã¨ã¯ç解ããªãã¨ã Kubernetes ã® API ã使ã£ã¦å®ç¾ããããã¨ã«éä¸ã§ããã ããããæ¬çªéç¨ãã¯ããã¦ããããªãåãã¦ããã®ãããªãåããªãã®ããåãããªããã¨ãããããªç¶æ ã§ã¯ããã¨ããæã«å°ãã ç¹ã« Service ãã©ã®ããã«ã¯ã©ã¹ã¿ã®å¤ãã Pod ã¸ã®ã¢ã¯ã»ã¹ãæä¾ãã¦ããã®ãã¯ãã©ãã¯ããã¯ã¹ã«ãªã£ã¦ãããããä»å㯠GKE ã§ã® Service ã® L3(ãL4) ã®æåã«ã¤ã㦠Kubernetes ã®å å¤ã調æ»ããã (å¾ã§å³ãåç §æ å ±ã¸ã®ãªã³ã¯ã追å äºå®) å³è§£ãåºã¦ããã®ã§è¿½å ããªãã£ãã 追è¨(2018å¹´10æ5æ¥) Kubernetes Engine ã® Network Overview ãè¯ãã®ã§ãã¡ããèªãã¨è¯ãã§ãããããã®è¨äºãæ¸ãã
Why Service is the worst API in Kubernetes, and what we can do about it
netnsã§ãããã¯ã¼ã¯ã®åå¼· tl;dr netnsã¨ããlinuxã®ãããã¯ã¼ã¯æ©è½ãç´¹ä»ããã netnsãã³ãã³ãã¬ãã«ã§è§¦ã£ã¦ã¿ã¦ãåºæ¬çãªãããã¯ã¼ã¯ã®åå¼·ãããã netnsã¨ã¯ linuxã«Network Namespaces(netns)ã¨ããä»çµã¿ãããã Linux Namespacesã¨å¼ã°ãããªã½ã¼ã¹ã®ä»®æ³åã®ããã®æ©è½ã®ä¸é¨ã§ãååã®éããããã¯ã¼ã¯ã®æ©è½ãæä¾ããã dockerçã§ãç¨ãããã¦ããæè¡ã§ãã³ã³ããæ¯ã«ç°ãªããããã¯ã¼ã¯è¨å®ãè¡ããé¨åã§ç¨ãããã¦ããã å ·ä½çã«ã¯ããã»ã¹æ¯ã«ç°ãªãIPã¢ãã¬ã¹ã使ã£ã¦éä¿¡ããã¨ãã£ããã¨ãã§ããããã«ãªãã docker使ãã°? dockerãå種ã³ã³ããæè¡ãnetnsããã¾ãé ãã¦ããã¦ããã®ã«ãããããnetnsãç´æ¥è§¦ãå¿ è¦ããªãã¨æã£ãæ¹ã ãã®éãã§ãããã§ã¯åå¼·ç¨ã«ä½¿ããã¨ãæ³å®ãã¦ããã (ã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}