ื“ื™ื‘ืึทื’ื™ื ื’ ื ืขืฅ ืœื™ื™ื˜ืึทื ืกื™ ืื™ืŸ Kubernetes

ื“ื™ื‘ืึทื’ื™ื ื’ ื ืขืฅ ืœื™ื™ื˜ืึทื ืกื™ ืื™ืŸ Kubernetes

ื ืคึผืึธืจ ืคื•ืŸ ื™ืึธืจ ืฆื•ืจื™ืง Kubernetes ืฉื•ื™ืŸ ื“ื™ืกืงืึทืกื˜ ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืึทืžื˜ืขืจ GitHub ื‘ืœืึธื’. ื–ื™ื ื˜ ื“ืขืžืึธืœื˜, ืขืก ืื™ื– ื’ืขื•ื•ืืจืŸ ื“ืขืจ ื ืึธืจืžืึทืœ ื˜ืขื›ื ืึธืœืึธื’ื™ืข ืคึฟืึทืจ ื“ื™ืคึผืœื•ื™ื™ื ื’ ื‘ืึทื“ื™ื ื•ื ื’ืก. Kubernetes ืื™ืฆื˜ ืžืึทื ื™ื“ื–ืฉื™ื– ืึท ื‘ืึทื˜ื™ื™ื˜ื™ืง ื˜ื™ื™ืœ ืคื•ืŸ ื™ื ืขืจืœืขืš ืื•ืŸ ืขืคื ื˜ืœืขืš ื‘ืึทื“ื™ื ื•ื ื’ืก. ื•ื•ื™ ืื•ื ื“ื–ืขืจ ืงืœืึทืกื˜ืขืจื– ื’ืขื•ื•ืืงืกืŸ ืื•ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ื’ืขื•ื•ืืจืŸ ืฉื˜ืจืขื ื’ืขืจืข, ืžื™ืจ ืื ื’ืขื”ื•ื™ื‘ืŸ ืฆื• ื‘ืึทืžืขืจืงืŸ ืึทื– ืขื˜ืœืขื›ืข ื‘ืึทื“ื™ื ื•ื ื’ืก ืื•ื™ืฃ Kubernetes ื–ืขื ืขืŸ ืกืคึผืึธืจืึทื“ื™ืฉืœื™ ื™ืงืกืคึผื™ืจื™ืึทื ืกื˜ ืœื™ื™ื˜ืึทื ืกื™ ื•ื•ืึธืก ืงืขืŸ ื ื™ืฉื˜ ื–ื™ื™ืŸ ื“ืขืจืงืœืขืจื˜ ื“ื•ืจืš ื“ื™ ืžืึทืกืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื–ื™ืš.

ื™ืกืขื ืฉืึทืœื™, ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื“ืขืจืคืึทืจื•ื ื’ ืึท ืคึผืึธื ืขื ื˜ืจืึทืค - ื ืขืฅ ืœื™ื™ื˜ืึทื ืกื™ ืคื•ืŸ ืึทืจื•ื™ืฃ ืฆื• 100ms ืึธื“ืขืจ ืžืขืจ, ืจื™ื–ืึทืœื˜ื™ื ื’ ืื™ืŸ ื˜ื™ื™ืžืึทื•ืฅ ืึธื“ืขืจ ืจื™ื˜ืจื™ื•ื–. ืกืขืจื•ื•ื™ืกืขืก ื–ืขื ืขืŸ ื’ืขืจื™ื›ื˜ ืฆื• ืงืขื ืขืŸ ืฆื• ืจื™ืกืคึผืึทื ื“ ืฆื• ืจื™ืงื•ื•ืขืก ืคื™ืœ ืคืึทืกื˜ืขืจ ื•ื•ื™ 100ms. ืื‘ืขืจ ื“ืึธืก ืื™ื– ืื•ืžืžืขื’ืœืขืš ืื•ื™ื‘ ื“ื™ ืงืฉืจ ื–ื™ืš ื ืขืžื˜ ืึทื–ื•ื™ ืคื™ืœ ืฆื™ื™ื˜. ืกืขืคึผืขืจืึทื˜ืœื™, ืžื™ืจ ื‘ืืžืขืจืงื˜ ื–ื™ื™ืขืจ ืฉื ืขืœ MySQL ืคึฟืจืื’ืŸ ื•ื•ืึธืก ื–ืึธืœ ื”ืึธื‘ืŸ ื’ืขื ื•ืžืขืŸ ืžื™ืœื™ืกืขืงืึทื ื“ื–, ืื•ืŸ MySQL ืื™ื– ื’ืึทื ืฅ ืื™ืŸ ืžื™ืœื™ืกืขืงืึทื ื“ื–, ืึธื‘ืขืจ ืคึฟื•ืŸ ื“ืขืจ ืคึผืขืจืกืคึผืขืงื˜ื™ื•ื• ืคื•ืŸ ื“ื™ ืจื™ืงื•ื•ืขืกื˜ื™ื ื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ, ื“ื™ ืขื ื˜ืคืขืจ ื’ืขื ื•ืžืขืŸ 100ms ืึธื“ืขืจ ืžืขืจ.

ืขืก ืื™ื– ื’ืœื™ื™ืš ืงืœืึธืจ ื’ืขื•ื•ืืจืŸ ืึทื– ื“ืขืจ ืคึผืจืึธื‘ืœืขื ืื™ื– ื’ืขื•ื•ืขืŸ ื‘ืœื•ื™ื– ื•ื•ืขืŸ ืงืึทื ืขืงื˜ื™ื ื’ ืฆื• ืึท ืงื•ื‘ืขืจื ืขื˜ืขืก ื ืึธื“ืข, ืึทืคึฟื™ืœื• ืื•ื™ื‘ ื“ื™ ืจื•ืคืŸ ื’ืขืงื•ืžืขืŸ ืคึฟื•ืŸ ืึทืจื•ื™ืก ืงื•ื‘ืขืจื ืขื˜ืขืก. ื“ื™ ื™ื–ื™ืึทืกื˜ ื•ื•ืขื’ ืฆื• ืจืขืคึผืจืึธื“ื•ืฆื™ืจืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื ืื™ื– ืื™ืŸ ืึท ืคึผืจืึธื‘ืข ื•ื•ืขื’ืขื˜ืึท, ื•ื•ืึธืก ืœื•ื™ืคื˜ ืคึฟื•ืŸ ืงื™ื™ืŸ ื™ื ืขืจืœืขืš ื‘ืึทืœืขื‘ืึธืก, ื˜ืขืกืฅ ื“ื™ Kubernetes ื“ื™ื ืกื˜ ืื•ื™ืฃ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ืคึผืึธืจื˜, ืื•ืŸ ืกืคึผืึธืจืึทื“ื™ืฉ ืจืขื“ื–ืฉื™ืกื˜ืขืจื– ื”ื•ื™ืš ืœื™ื™ื˜ืึทื ืกื™. ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ, ืžื™ืจ ื•ื•ืขืœืŸ ืงื•ืงืŸ ืื™ืŸ ื•ื•ื™ ืžื™ืจ ื–ืขื ืขืŸ ื‘ื™ื›ื•ืœืช ืฆื• ืฉืคึผื•ืจ ื“ื™ ื’ืจื•ื ื˜ ืคื•ืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื.

ื™ืœื™ืžืึทื ื™ื™ื˜ื™ื ื’ ื•ืžื ื™ื™ื˜ื™ืง ืงืึทืžืคึผืœืขืงืกื™ื˜ื™ ืื™ืŸ ื“ื™ ืงื™ื™ื˜ ืœื™ื“ื™ื ื’ ืฆื• ื“ื•ืจื›ืคืึทืœ

ื“ื•ืจืš ืจืขืคึผืจืึธื“ื•ืฆื™ืจืŸ ื“ื™ ื–ืขืœื‘ืข ื‘ื™ื™ึทืฉืคึผื™ืœ, ืžื™ืจ ื’ืขื•ื•ืืœื˜ ืฆื• ืฉืžืึธืœ ื“ื™ ืคืึธืงื•ืก ืคื•ืŸ ื“ื™ ืคึผืจืึธื‘ืœืขื ืื•ืŸ ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ ื•ืžื ื™ื™ื˜ื™ืง ืœื™ื™ึทืขืจืก ืคื•ืŸ ืงืึทืžืคึผืœืขืงืกื™ื˜ื™. ื˜ื›ื™ืœืขืก, ืขืก ื–ืขื ืขืŸ ื’ืขื•ื•ืขืŸ ืฆื• ืคื™ืœืข ืขืœืขืžืขื ื˜ืŸ ืื™ืŸ ื“ื™ ืœื•ื™ืคืŸ ืฆื•ื•ื™ืฉืŸ ื•ื•ืขื’ืขื˜ืึท ืื•ืŸ ื“ื™ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคึผืึธื“ืก. ืฆื• ื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ ืึท ื“ื™ืคึผืขืจ ื ืขืฅ ืคึผืจืึธื‘ืœืขื, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื•ื™ืกืฉืœื™ืกืŸ ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹ื–ื™ื™.

ื“ื™ื‘ืึทื’ื™ื ื’ ื ืขืฅ ืœื™ื™ื˜ืึทื ืกื™ ืื™ืŸ Kubernetes

ื“ืขืจ ืงืœื™ืขื ื˜ (ื•ื•ืขื’ืขื˜ืึท) ืงืจื™ื™ื™ืฅ ืึท ื˜ืงืคึผ ืงืฉืจ ืžื™ื˜ ืงื™ื™ืŸ ื ืึธื“ืข ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ. Kubernetes ืึทืคึผืขืจื™ื™ืฅ ื•ื•ื™ ืึท ืึธื•ื•ื•ืขืจืœื™ื™ ื ืขืฅ (ืื•ื™ืฃ ื“ื™ ื™ื’ื–ื™ืกื˜ื™ื ื’ ื“ืึทื˜ืŸ ืฆืขื ื˜ืขืจ ื ืขืฅ) ื•ื•ืึธืก ื ื™ืฆื˜ IPIP, ื“ืึธืก ืื™ื–, ืขืก ืขื ืงืึทืคึผืกืึทืœื™ื™ืฅ ื“ื™ IP ืคึผืึทืงื™ืฅ ืคื•ืŸ ื“ื™ ืึธื•ื•ื•ืขืจืœื™ื™ ื ืขืฅ ืื™ืŸ ื“ื™ IP ืคึผืึทืงื™ืฅ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืŸ ืฆืขื ื˜ืขืจ. ื•ื•ืขืŸ ืงืึทื ืขืงื˜ื™ื ื’ ืฆื• ื“ืขืจ ืขืจืฉื˜ืขืจ ื ืึธื“ืข, ื ืขืฅ ืึทื“ืจืขืก ืื™ื‘ืขืจื–ืขืฆื•ื ื’ ืื™ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ื ืขื˜ื•ื•ืึธืจืง ืึทื“ืจืขืก ืื™ื‘ืขืจื–ืขืฆื•ื ื’ (NAT) ืกื˜ืึทื˜ืขืคื•ืœ ืฆื• ืื™ื‘ืขืจื–ืขืฆืŸ ื“ื™ IP ืึทื“ืจืขืก ืื•ืŸ ืคึผืึธืจื˜ ืคื•ืŸ ื“ื™ Kubernetes ื ืึธื“ืข ืฆื• ื“ื™ IP ืึทื“ืจืขืก ืื•ืŸ ืคึผืึธืจื˜ ืื™ืŸ ื“ื™ ืึธื•ื•ื•ืขืจืœื™ื™ ื ืขืฅ (ืกืคึผืขืฆื™ืคื™ืฉ ื“ื™ ืคึผืึธื“ ืžื™ื˜ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ). ืคึฟืึทืจ ื™ื ืงืึทืžื™ื ื’ ืคึผืึทืงื™ืฅ, ื“ื™ ืคืึทืจืงืขืจื˜ ืกื™ืงื•ื•ืึทื ืก ืคื•ืŸ ืึทืงืฉืึทื ื– ืื™ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜. ืขืก ืื™ื– ืึท ืงืึธืžืคึผืœืขืงืก ืกื™ืกื˜ืขื ืžื™ื˜ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืฉื˜ืึทื˜ ืื•ืŸ ืคื™ืœืข ืขืœืขืžืขื ื˜ืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ืงืขืกื™ื™ื“ืขืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืื•ืŸ ื˜ืฉื™ื™ื ื“ื–ืฉื“ ื•ื•ืขืŸ ืกืขืจื•ื•ื™ืกืขืก ื–ืขื ืขืŸ ื“ื™ืคึผืœื•ื™ื“ ืื•ืŸ ืืจื™ื‘ืขืจื’ืขืคืืจืŸ.

ื ื•ืฆืŸ tcpdump ืื™ืŸ ื“ื™ Vegeta ืคึผืจื•ื‘ื™ืจืŸ ืขืก ืื™ื– ืึท ืคืึทืจื”ืึทืœื˜ืŸ ื‘ืขืฉืึทืก ื“ื™ TCP ื›ืึทื ื“ืฉื™ื™ืง (ืฆื•ื•ื™ืฉืŸ SYN ืื•ืŸ SYN-ACK). ืฆื• ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ ื“ืขื ื•ืžื ื™ื™ื˜ื™ืง ืงืึทืžืคึผืœืขืงืกื™ื˜ื™, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ hping3 ืคึฟืึทืจ ืคึผืฉื•ื˜ "ืคึผื™ื ื’ืก" ืžื™ื˜ SYN ืคึผืึทืงื™ืฅ. ืžื™ืจ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืื•ื™ื‘ ืขืก ืื™ื– ืึท ืคืึทืจื”ืึทืœื˜ืŸ ืื™ืŸ ื“ื™ ืขื ื˜ืคืขืจ ืคึผืึทืงืึทื˜, ืื•ืŸ ื“ืขืžืึธืœื˜ ื‘ืึทืฉื˜ืขื˜ื™ืง ื“ื™ ืงืฉืจ. ืžื™ืจ ืงืขื ืขืŸ ืคื™ืœื˜ืขืจ ื“ื™ ื“ืึทื˜ืŸ ื‘ืœื•ื™ื– ืฆื• ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืคึผืึทืงื™ืฅ ื’ืจืขืกืขืจ ื•ื•ื™ 100ms ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ ืึท ื’ืจื™ื ื’ืขืจ ื•ื•ืขื’ ืฆื• ืจืขืคึผืจืึธื“ื•ืฆื™ืจืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื ื•ื•ื™ ื“ื™ ืคื•ืœ ื ืขืฅ ืฉื™ื›ื˜ืข 7 ืคึผืจื•ื‘ื™ืจืŸ ืื™ืŸ Vegeta. ื“ืึธ ื–ืขื ืขืŸ ื“ื™ Kubernetes ื ืึธื“ืข "ืคึผื™ื ื’ืก" ื ื™ืฆืŸ TCP SYN / SYN-ACK ืื•ื™ืฃ ื“ื™ ืกืขืจื•ื•ื™ืก "ื ืึธื“ืข ืคึผืึธืจื˜" (30927) ืžื™ื˜ 10ms ื™ื ื˜ืขืจื•ื•ืึทืœื–, ืคื™ืœื˜ืขืจื“ ื“ื•ืจืš ืกืœืึธื•ืึทืกื˜ ืจืขืกืคึผืึธื ืกืขืก:

theojulienne@shell ~ $ sudo hping3 172.16.47.27 -S -p 30927 -i u10000 | egrep --line-buffered 'rtt=[0-9]{3}.'

len=46 ip=172.16.47.27 ttl=59 DF id=0 sport=30927 flags=SA seq=1485 win=29200 rtt=127.1 ms

len=46 ip=172.16.47.27 ttl=59 DF id=0 sport=30927 flags=SA seq=1486 win=29200 rtt=117.0 ms

len=46 ip=172.16.47.27 ttl=59 DF id=0 sport=30927 flags=SA seq=1487 win=29200 rtt=106.2 ms

len=46 ip=172.16.47.27 ttl=59 DF id=0 sport=30927 flags=SA seq=1488 win=29200 rtt=104.1 ms

len=46 ip=172.16.47.27 ttl=59 DF id=0 sport=30927 flags=SA seq=5024 win=29200 rtt=109.2 ms

len=46 ip=172.16.47.27 ttl=59 DF id=0 sport=30927 flags=SA seq=5231 win=29200 rtt=109.2 ms

ืงืขื ืขืŸ ืžื™ื“ ืžืึทื›ืŸ ื“ื™ ืขืจืฉื˜ืขืจ ืึธื‘ืกืขืจื•ื•ืึทืฆื™ืข. ืื•ื™ื‘ ืžืฉืคื˜ืŸ ืœื•ื™ื˜ ื“ื™ ืกื™ืงื•ื•ืึทื ืก ื ื•ืžืขืจืŸ ืื•ืŸ ื˜ื™ื™ืžื™ื ื’ื–, ืขืก ืื™ื– ืงืœืึธืจ ืึทื– ื“ืึธืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ืื™ื™ืŸ-ืฆื™ื™ึทื˜ ืงืึทื ื“ื–ืฉืขืกื˜ืฉืึทื ื–. ื“ื™ ืคืึทืจื”ืึทืœื˜ืŸ ืึธืคื˜ ืึทืงื™ื•ืžื™ืึทืœื™ื™ืฅ ืื•ืŸ ืื™ื– ื™ื•ื•ืขื ื˜ืฉืึทื•ื•ืึทืœื™ ืคึผืจืึทืกืขืกื˜.

ื•ื•ื™ื™ึทื˜ืขืจ, ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื• ื’ืขืคึฟื™ื ืขืŸ ืื•ื™ืก ื•ื•ืึธืก ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืงืขืŸ ื–ื™ื™ืŸ ื™ื ื•ื•ืึทืœื•ื•ื“ ืื™ืŸ ื“ื™ ืคึผืึทืกื™ืจื•ื ื’ ืคื•ืŸ ืงืึทื ื“ื–ืฉืขืกื˜ืฉืึทืŸ. ืืคึฟืฉืจ ื“ืึธืก ื–ืขื ืขืŸ ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ Iptables ื›ึผืœืœื™ื ืื™ืŸ NAT? ืึธื“ืขืจ ื–ืขื ืขืŸ ืขืก ืงื™ื™ืŸ ืคืจืื‘ืœืขืžืขืŸ ืžื™ื˜ IPIP ื˜ืึทื ืึทืœื™ื ื’ ืื•ื™ืฃ ื“ื™ ื ืขืฅ? ืื™ื™ืŸ ื•ื•ืขื’ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ื“ืึธืก ืื™ื– ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ื™ืขื“ืขืจ ืฉืจื™ื˜ ืคื•ืŸ ื“ื™ ืกื™ืกื˜ืขื ื“ื•ืจืš ื™ืœื™ืžืึทื ื™ื™ื˜ื™ื ื’ ืขืก. ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืื•ื™ื‘ ืื™ืจ ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ NAT ืื•ืŸ Firewall ืœืึธื’ื™ืง, ืื•ืŸ ืœืึธื–ืŸ ื‘ืœื•ื™ื– ื“ื™ IPIP ื˜ื™ื™ืœ:

ื“ื™ื‘ืึทื’ื™ื ื’ ื ืขืฅ ืœื™ื™ื˜ืึทื ืกื™ ืื™ืŸ Kubernetes

ืฆื•ืž ื’ืœื™ืง, ืœื™ื ื•ืงืก ืžืื›ื˜ ืขืก ื’ืจื™ื ื’ ืฆื• ืึทืงืกืขืก ื“ื™ IP ืึธื•ื•ื•ืขืจืœื™ื™ ืฉื™ื›ื˜ืข ื’ืœื™ื™ึทืš ืื•ื™ื‘ ื“ื™ ืžืึทืฉื™ืŸ ืื™ื– ืื•ื™ืฃ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ื ืขืฅ:

theojulienne@kube-node-client ~ $ sudo hping3 10.125.20.64 -S -i u10000 | egrep --line-buffered 'rtt=[0-9]{3}.'

len=40 ip=10.125.20.64 ttl=64 DF id=0 sport=0 flags=RA seq=7346 win=0 rtt=127.3 ms

len=40 ip=10.125.20.64 ttl=64 DF id=0 sport=0 flags=RA seq=7347 win=0 rtt=117.3 ms

len=40 ip=10.125.20.64 ttl=64 DF id=0 sport=0 flags=RA seq=7348 win=0 rtt=107.2 ms

ืื•ื™ื‘ ืžืฉืคื˜ืŸ ืœื•ื™ื˜ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ, ื“ื™ ืคึผืจืึธื‘ืœืขื ื ืึธืš ื‘ืœื™ื™ื‘ื˜! ื“ืึธืก ื™ืงืกืงืœื•ื“ื– iptables ืื•ืŸ NAT. ืึทื–ื•ื™ ื“ื™ ืคึผืจืึธื‘ืœืขื ืื™ื– TCP? ืœืึธืžื™ืจ ื–ืขืŸ ื•ื•ื™ ืึท ืจืขื’ื•ืœืขืจ ICMP ืคึผื™ื ื’ ื’ื™ื™ื˜:

theojulienne@kube-node-client ~ $ sudo hping3 10.125.20.64 --icmp -i u10000 | egrep --line-buffered 'rtt=[0-9]{3}.'

len=28 ip=10.125.20.64 ttl=64 id=42594 icmp_seq=104 rtt=110.0 ms

len=28 ip=10.125.20.64 ttl=64 id=49448 icmp_seq=4022 rtt=141.3 ms

len=28 ip=10.125.20.64 ttl=64 id=49449 icmp_seq=4023 rtt=131.3 ms

len=28 ip=10.125.20.64 ttl=64 id=49450 icmp_seq=4024 rtt=121.2 ms

len=28 ip=10.125.20.64 ttl=64 id=49451 icmp_seq=4025 rtt=111.2 ms

len=28 ip=10.125.20.64 ttl=64 id=49452 icmp_seq=4026 rtt=101.1 ms

len=28 ip=10.125.20.64 ttl=64 id=50023 icmp_seq=4343 rtt=126.8 ms

len=28 ip=10.125.20.64 ttl=64 id=50024 icmp_seq=4344 rtt=116.8 ms

len=28 ip=10.125.20.64 ttl=64 id=50025 icmp_seq=4345 rtt=106.8 ms

len=28 ip=10.125.20.64 ttl=64 id=59727 icmp_seq=9836 rtt=106.1 ms

ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ื•ื•ื™ื™ึทื–ืŸ ืึทื– ื“ื™ ืคึผืจืึธื‘ืœืขื ืื™ื– ื ื™ืฉื˜ ืึทื•ื•ืขืง. ื˜ืึธืžืขืจ ื“ืึธืก ืื™ื– ืึทืŸ IPIP ื˜ื•ื ืขืœ? ื–ืืœ ืก ืคืึทืจืคึผืึธืฉืขื˜ืขืจืŸ ื“ื™ ืคึผืจืึธื‘ืข ื•ื•ื™ื™ึทื˜ืขืจ:

ื“ื™ื‘ืึทื’ื™ื ื’ ื ืขืฅ ืœื™ื™ื˜ืึทื ืกื™ ืื™ืŸ Kubernetes

ื–ืขื ืขืŸ ืึทืœืข ืคึผืึทืงื™ืฅ ื’ืขืฉื™ืงื˜ ืฆื•ื•ื™ืฉืŸ ื“ื™ ืฆื•ื•ื™ื™ ืžื—ื ื•ืช?

theojulienne@kube-node-client ~ $ sudo hping3 172.16.47.27 --icmp -i u10000 | egrep --line-buffered 'rtt=[0-9]{3}.'

len=46 ip=172.16.47.27 ttl=61 id=41127 icmp_seq=12564 rtt=140.9 ms

len=46 ip=172.16.47.27 ttl=61 id=41128 icmp_seq=12565 rtt=130.9 ms

len=46 ip=172.16.47.27 ttl=61 id=41129 icmp_seq=12566 rtt=120.8 ms

len=46 ip=172.16.47.27 ttl=61 id=41130 icmp_seq=12567 rtt=110.8 ms

len=46 ip=172.16.47.27 ttl=61 id=41131 icmp_seq=12568 rtt=100.7 ms

len=46 ip=172.16.47.27 ttl=61 id=9062 icmp_seq=31443 rtt=134.2 ms

len=46 ip=172.16.47.27 ttl=61 id=9063 icmp_seq=31444 rtt=124.2 ms

len=46 ip=172.16.47.27 ttl=61 id=9064 icmp_seq=31445 rtt=114.2 ms

len=46 ip=172.16.47.27 ttl=61 id=9065 icmp_seq=31446 rtt=104.2 ms

ืžื™ืจ ื”ืึธื‘ืŸ ืกื™ืžืคึผืœืึทืคื™ื™ื“ ื“ื™ ืกื™ื˜ื•ืึทืฆื™ืข ืฆื• ืฆื•ื•ื™ื™ Kubernetes ื ืึธื•ื“ื– ืฉื™ืงืŸ ื™ืขื“ืขืจ ืื ื“ืขืจืข ืงื™ื™ืŸ ืคึผืึทืงืึทื˜, ืืคื™ืœื• ืึทืŸ ICMP ืคึผื™ื ื’. ื–ื™ื™ ื ืึธืš ื–ืขืŸ ืœื™ื™ื˜ืึทื ืกื™ ืื•ื™ื‘ ื“ืขืจ ืฆื™ืœ ื‘ืึทืœืขื‘ืึธืก ืื™ื– "ืฉืœืขื›ื˜" (ืขื˜ืœืขื›ืข ืขืจื’ืขืจ ื•ื•ื™ ืื ื“ืขืจืข).

ืื™ืฆื˜ ื“ื™ ืœืขืฆื˜ืข ืงืฉื™ื: ื•ื•ืึธืก ืื™ื– ื“ื™ ืคืึทืจื”ืึทืœื˜ืŸ ื‘ืœื•ื™ื– ืื•ื™ืฃ ืงื•ื‘ืข-ื ืึธื“ืข ืกืขืจื•ื•ืขืจืก? ืื•ืŸ ื˜ื•ื˜ ืขืก ืคึผืึทืกื™ืจืŸ ื•ื•ืขืŸ ืงื•ื‘ืข-ื ืึธื“ืข ืื™ื– ื“ืขืจ ืกืขื ื“ืขืจ ืึธื“ืขืจ ื“ืขืจ ื•ืคื ืขืžืขืจ? ืฆื•ืž ื’ืœื™ืง, ื“ืึธืก ืื™ื– ืื•ื™ืš ื’ืึทื ืฅ ื’ืจื™ื ื’ ืฆื• ืจืขื›ืขื ืขืŸ ื“ื•ืจืš ืฉื™ืงืŸ ืึท ืคึผืึทืงืึทื˜ ืคื•ืŸ ืึท ื‘ืึทืœืขื‘ืึธืก ืึทืจื•ื™ืก ืคื•ืŸ Kubernetes, ืึธื‘ืขืจ ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ "ื‘ืืงืื ื˜ ืฉืœืขื›ื˜" ื‘ืึทืงื•ืžืขืจ. ื•ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ, ื“ื™ ืคึผืจืึธื‘ืœืขื ืื™ื– ื ื™ืฉื˜ ืคืึทืจืฉื•ื•ื•ื ื“ืŸ:

theojulienne@shell ~ $ sudo hping3 172.16.47.27 -p 9876 -S -i u10000 | egrep --line-buffered 'rtt=[0-9]{3}.'

len=46 ip=172.16.47.27 ttl=61 DF id=0 sport=9876 flags=RA seq=312 win=0 rtt=108.5 ms

len=46 ip=172.16.47.27 ttl=61 DF id=0 sport=9876 flags=RA seq=5903 win=0 rtt=119.4 ms

len=46 ip=172.16.47.27 ttl=61 DF id=0 sport=9876 flags=RA seq=6227 win=0 rtt=139.9 ms

len=46 ip=172.16.47.27 ttl=61 DF id=0 sport=9876 flags=RA seq=7929 win=0 rtt=131.2 ms

ื“ืขืจื ืึธืš, ืžื™ืจ ื•ื•ืขืœืŸ ืœื•ื™ืคืŸ ื“ื™ ื–ืขืœื‘ืข ืจื™ืงื•ื•ืขืก ืคื•ืŸ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ืžืงื•ืจ ืงื•ื‘ืข-ื ืึธื“ืข ืฆื• ื“ื™ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื‘ืึทืœืขื‘ืึธืก (ื•ื•ืึธืก ื™ืงืกืงืœื•ื“ื– ื“ื™ ืžืงื•ืจ ื‘ืึทืœืขื‘ืึธืก ื–ื™ื ื˜ ื“ื™ ืคึผื™ื ื’ ื›ื•ืœืœ ืึท ืจืงืก ืื•ืŸ ื˜ืงืก ืงืึธืžืคึผืึธื ืขื ื˜):

theojulienne@kube-node-client ~ $ sudo hping3 172.16.33.44 -p 9876 -S -i u10000 | egrep --line-buffered 'rtt=[0-9]{3}.'
^C
--- 172.16.33.44 hping statistic ---
22352 packets transmitted, 22350 packets received, 1% packet loss
round-trip min/avg/max = 0.2/7.6/1010.6 ms

ื“ื•ืจืš ื•ื ื˜ืขืจื–ื•ื›ืŸ ืœื™ื™ื˜ืึทื ืกื™ ืคึผืึทืงืึทื˜ ืงืึทืคึผื˜ืฉืขืจื–, ืžื™ืจ ื‘ืืงื•ืžืขืŸ ืขื˜ืœืขื›ืข ื ืึธืš ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข. ืกืคึผืึทืกื™ืคื™ืงืœื™, ืึทื– ื“ืขืจ ืึธืคึผืฉื™ืงืขืจ (ื“ื ืึธ) ื–ืขื˜ ื“ืขื ื˜ื™ื™ืžืึทื•ื˜, ืึธื‘ืขืจ ื“ืขืจ ื‘ืึทืงื•ืžืขืจ (ืฉืคึผื™ืฅ) ืงืขืŸ ื ื™ืฉื˜ - ื–ืขืŸ ื“ื™ ื“ืขืœื˜ืึท ื–ื™ื™ึทืœ (ืื™ืŸ ืกืขืงื•ื ื“ืขืก):

ื“ื™ื‘ืึทื’ื™ื ื’ ื ืขืฅ ืœื™ื™ื˜ืึทื ืกื™ ืื™ืŸ Kubernetes

ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ืื•ื™ื‘ ืื™ืจ ืงื•ืง ื‘ื™ื™ึท ื“ื™ ื—ื™ืœื•ืง ืื™ืŸ ื“ื™ ืกื“ืจ ืคื•ืŸ ื˜ืงืคึผ ืื•ืŸ ICMP ืคึผืึทืงื™ืฅ (ื“ื•ืจืš ืกื™ืงื•ื•ืึทื ืก ื ื•ืžืขืจืŸ) ืื•ื™ืฃ ื“ื™ ื‘ืึทืงื•ืžืขืจ ื–ื™ื™ึทื˜, ICMP ืคึผืึทืงื™ืฅ ืฉื˜ืขื ื“ื™ืง ืึธื ืงื•ืžืขืŸ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืกื™ืงื•ื•ืึทื ืก ืื™ืŸ ื•ื•ืึธืก ื–ื™ื™ ื–ืขื ืขืŸ ื’ืขืฉื™ืงื˜, ืึธื‘ืขืจ ืžื™ื˜ ืคืึทืจืฉื™ื“ืขื ืข ื˜ื™ื™ืžื™ื ื’. ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, TCP ืคึผืึทืงื™ืฅ ืžืืœ ื™ื ื˜ืขืจืœื™ืึทื•ื•, ืื•ืŸ ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹ื–ื™ื™ ืกื˜ืึทืง. ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจ, ืื•ื™ื‘ ืื™ืจ ื•ื ื˜ืขืจื–ื•ื›ืŸ ื“ื™ ืคึผืึธืจืฅ ืคื•ืŸ SYN ืคึผืึทืงื™ืฅ, ื–ื™ื™ ื–ืขื ืขืŸ ืื™ืŸ ืกื“ืจ ืื•ื™ืฃ ื“ื™ ืกืขื ื“ืขืจ ืก ื–ื™ื™ึทื˜, ืึธื‘ืขืจ ื ื™ืฉื˜ ืื•ื™ืฃ ื“ื™ ื•ืคื ืขืžืขืจ ืก ื–ื™ื™ึทื˜.

ืขืก ืื™ื– ืึท ืกืึทื˜ืึทืœ ื—ื™ืœื•ืง ืื™ืŸ ื•ื•ื™ ื ืขืฅ ืงืึทืจื“ืก ืžืึธื“ืขืจืŸ ืกืขืจื•ื•ืขืจืก (ื•ื•ื™ ื“ื™ ืื™ืŸ ืื•ื ื“ื–ืขืจ ื“ืึทื˜ืŸ ืฆืขื ื˜ืขืจ) ืคึผืจืึธืฆืขืก ืคึผืึทืงื™ืฅ ืžื™ื˜ TCP ืึธื“ืขืจ ICMP. ื•ื•ืขืŸ ืึท ืคึผืึทืงืึทื˜ ืงื•ืžื˜, ื“ืขืจ ื ืขืฅ ืึทื“ืึทืคึผื˜ืขืจ "ื”ืึทืฉืขืก ืขืก ืคึผืขืจ ืงืฉืจ", ื“ืึธืก ื”ื™ื™ืกื˜, ืขืจ ืคืจื•ื•ื•ื˜ ืฆื• ื‘ืจืขื›ืŸ ื“ื™ ืงืึทื ืขืงืฉืึทื ื– ืื™ืŸ ืจื™ื™ ืื•ืŸ ืฉื™ืงืŸ ื™ืขื“ืขืจ ืจื™ื™ ืฆื• ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืคึผืจืึทืกืขืกืขืจ ื”ืึทืจืฅ. ืคึฟืึทืจ TCP, ื“ืขื ื”ืึทืฉ ื›ื•ืœืœ ื‘ื™ื™ื“ืข ื“ื™ ืžืงื•ืจ ืื•ืŸ ื“ืขืกื˜ื™ื ื™ื™ืฉืึทืŸ IP ืึทื“ืจืขืก ืื•ืŸ ืคึผืึธืจื˜. ืื™ืŸ ืื ื“ืขืจืข ื•ื•ืขืจื˜ืขืจ, ื™ืขื“ืขืจ ืงืฉืจ ืื™ื– ื›ืึทืฉื˜ (ืคึผืึทื˜ืขื ื˜ืฉืึทืœื™) ื“ื™ืคืขืจืขื ื˜ืœื™. ืคึฟืึทืจ ICMP, ื‘ืœื•ื™ื– IP ืึทื“ืจืขืกืขืก ื–ืขื ืขืŸ ื›ืึทืฉื˜, ื•ื•ื™ื™ึทืœ ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืคึผืึธืจืฅ.

ืืŸ ืื ื“ืขืจ ื ื™ื™ึทืข ืึธื‘ืกืขืจื•ื•ืึทืฆื™ืข: ื‘ืขืฉืึทืก ื“ืขื ืคึผืขืจื™ืึธื“ ืžื™ืจ ื–ืขืŸ ICMP ื“ื™ืœื™ื™ื– ืื•ื™ืฃ ืึทืœืข ืงืึธืžื•ื ื™ืงืึทืฆื™ืข ืฆื•ื•ื™ืฉืŸ ืฆื•ื•ื™ื™ ืžื—ื ื•ืช, ืึธื‘ืขืจ TCP ื˜ื•ื˜ ื ื™ืฉื˜. ื“ืึธืก ื“ืขืจืฆื™ื™ืœื˜ ืื•ื ื“ื– ืึทื– ื“ื™ ืกื™ื‘ื” ืื™ื– ืžืกืชึผืžื ืฉื™ื™ึทื›ื•ืช ืฆื• RX ืจื™ื™ ื›ืึทืฉื™ื ื’: ื“ื™ ืงืึทื ื“ื–ืฉืขืกื˜ืฉืึทืŸ ืื™ื– ื›ึผืžืขื˜ ื–ื™ื›ืขืจ ืื™ืŸ ื“ื™ ืคึผืจืึทืกืขืกื™ื ื’ ืคื•ืŸ RX ืคึผืึทืงื™ืฅ, ื ื™ืฉื˜ ืื™ืŸ ื“ื™ ืฉื™ืงื˜ ืคื•ืŸ ืจืขืกืคึผืึธื ืกืขืก.

ื“ืึธืก ื™ืœื™ืžืึทื ื™ื™ืฅ ืฉื™ืงื˜ ืคึผืึทืงื™ืฅ ืคื•ืŸ ื“ืขืจ ืจืฉื™ืžื” ืคื•ืŸ ืžืขื’ืœืขืš ืกื™ื‘ื•ืช. ืžื™ืจ ืื™ืฆื˜ ื•ื•ื™ืกืŸ ืึทื– ื“ื™ ืคึผืึทืงืึทื˜ ืคึผืจืึทืกืขืกื™ื ื’ ืคึผืจืึธื‘ืœืขื ืื™ื– ืื•ื™ืฃ ื“ื™ ื‘ืึทืงื•ืžืขืŸ ื–ื™ื™ึทื˜ ืื•ื™ืฃ ืขื˜ืœืขื›ืข ืงื•ื‘ืข-ื ืึธื“ืข ืกืขืจื•ื•ืขืจืก.

ืคืืจืฉื˜ืื ื“ ืคื•ืŸ ืคึผืึทืงืึทื˜ ืคึผืจืึทืกืขืกื™ื ื’ ืื™ืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ

ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื•ื•ืึธืก ื“ื™ ืคึผืจืึธื‘ืœืขื ืึทืงืขืจื– ื‘ื™ื™ ื“ื™ ื•ืคื ืขืžืขืจ ืื•ื™ืฃ ืขื˜ืœืขื›ืข ืงื•ื‘ืข-ื ืึธื“ืข ืกืขืจื•ื•ืขืจืก, ืœืึธื–ืŸ ืื•ื ื“ื– ืงื•ืง ื•ื•ื™ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืคึผืจืึทืกืขืกืึทื– ืคึผืึทืงื™ืฅ.

ืฆื•ืจื™ืงืงื•ืžืขืŸ ืฆื• ื“ื™ ืกื™ืžืคึผืœืึทืกื˜ ื˜ืจืื“ื™ืฆื™ืื ืขืœืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ, ื“ื™ ื ืขืฅ ืงืึธืจื˜ ื ืขืžื˜ ื“ื™ ืคึผืึทืงืึทื˜ ืื•ืŸ ืกืขื ื“ื– ื™ื‘ืขืจืจื™ื™ึทืกืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืึทื– ืขืก ืื™ื– ืึท ืคึผืขืงืœ ื•ื•ืึธืก ื“ืึทืจืฃ ื–ื™ื™ืŸ ืคึผืจืึทืกืขืกื˜. ื“ืขืจ ืงืขืจืŸ ืกื˜ืึทืคึผืก ืื ื“ืขืจืข ืึทืจื‘ืขื˜, ืกื•ื•ื™ื˜ืฉื™ื– ืงืึธื ื˜ืขืงืกื˜ ืฆื• ื“ื™ ื™ื‘ืขืจืจื™ื™ึทืก ื”ืึทื ื“ืœืขืจ, ืคึผืจืึทืกืขืกืึทื– ื“ื™ ืคึผืึทืงืึทื˜, ืื•ืŸ ืงืขืจื˜ ื“ืขืจื ืึธืš ืฆื• ื“ื™ ืงืจืึทื ื˜ ื˜ืึทืกืงืก.

ื“ื™ื‘ืึทื’ื™ื ื’ ื ืขืฅ ืœื™ื™ื˜ืึทื ืกื™ ืื™ืŸ Kubernetes

ื“ืขืจ ืงืึธื ื˜ืขืงืกื˜ ืกื•ื•ื™ื˜ืฉื™ื ื’ ืื™ื– ืคึผืึทืžืขืœืขืš: ืœื™ื™ื˜ืึทื ืกื™ ืงืขืŸ ื ื™ืฉื˜ ื–ื™ื™ืŸ ื‘ืืžืขืจืงื˜ ืื•ื™ืฃ 10 ืžื‘ืคึผืก ื ืขืฅ ืงืึทืจื“ืก ืื™ืŸ ื“ื™ '90 ืก, ืึธื‘ืขืจ ืื•ื™ืฃ ืžืึธื“ืขืจืŸ 10 ื’ ืงืึทืจื“ืก ืžื™ื˜ ืึท ืžืึทืงืกื™ืžื•ื ื˜ืจื•ืคึผื•ื˜ ืคื•ืŸ 15 ืžื™ืœื™ืึธืŸ ืคึผืึทืงื™ืฅ ืคึผืขืจ ืกืขืงื•ื ื“ืข, ื™ืขื“ืขืจ ื”ืึทืจืฅ ืคื•ืŸ ืึท ืงืœื™ื™ืŸ ืึทื›ื˜-ื”ืึทืจืฅ ืกืขืจื•ื•ืขืจ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื™ื ื˜ืขืจืึทืคึผื˜ื™ื“ ืžื™ืœื™ืึทื ื–. ืžืืœ ืคึผืขืจ ืกืขืงื•ื ื“ืข.

ืื™ืŸ ืกื“ืจ ื ื™ืฉื˜ ืฆื• ืงืขืกื™ื™ื“ืขืจ ืฉืขืคึผืŸ ื™ื ื˜ืขืจืึทืคึผืฅ, ืคื™ืœืข ื™ืึธืจืŸ ืฆื•ืจื™ืง ืœื™ื ื•ืงืก ืฆื•ื’ืขื’ืขื‘ืŸ NAPI: ื ืขื˜ื•ื•ืึธืจืง ืึทืคึผื™ ืึทื– ืึทืœืข ืžืึธื“ืขืจืŸ ื“ืจื™ื•ื•ืขืจืก ื ื•ืฆืŸ ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื™ืŸ ื”ื•ื™ืš ืกืคึผื™ื“ื–. ื‘ื™ื™ ื ื™ื“ืขืจื™ืง ืกืคึผื™ื“ื– ื“ืขืจ ืงืขืจืŸ ื ืึธืš ื ืขืžื˜ ื™ื ื˜ืขืจืึทืคึผืฅ ืคื•ืŸ ื“ื™ ื ืขืฅ ืงืึธืจื˜ ืื™ืŸ ื“ื™ ืึทืœื˜ ื•ื•ืขื’. ืึทืžืึธืœ ื’ืขื ื•ื’ ืคึผืึทืงื™ืฅ ืึธื ืงื•ืžืขืŸ ื•ื•ืึธืก ื™ืงืกื™ื“ ื“ื™ ืฉื•ื•ืขืœ, ื“ืขืจ ืงืขืจืŸ ื“ื™ืกื™ื™ื‘ืึทืœื– ื™ื ื˜ืขืจืึทืคึผืฅ ืื•ืŸ ืึทื ืฉื˜ืึธื˜ ื”ื™ื™ื‘ื˜ ืฆื• ืคึผืึธืœืœื™ื ื’ ื“ื™ ื ืขืฅ ืึทื“ืึทืคึผื˜ืขืจ ืื•ืŸ ืงืœื™ื™ึทื‘ืŸ ืคึผืึทืงื™ืฅ ืื™ืŸ ืฉื˜ื™ืงืขืจ. ืคึผืจืึทืกืขืกื™ื ื’ ืื™ื– ื’ืขื˜ืืŸ ืื™ืŸ ืกืึธืคื˜ื™ืจืง, ื“ืึธืก ืื™ื–, ืื™ืŸ ืงืึธื ื˜ืขืงืกื˜ ืคื•ืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื™ื ื˜ืขืจืึทืคึผืฅ ื ืึธืš ืกื™ืกื˜ืขื ืงืึทืœืœืก ืื•ืŸ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ื™ื ื˜ืขืจืึทืคึผืฅ, ื•ื•ืขืŸ ื“ืขืจ ืงืขืจืŸ (ื•ื•ื™ ืงืขื’ืŸ ืฆื• ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ) ืื™ื– ืฉื•ื™ืŸ ืคืœื™ืกื ื“ื™ืง.

ื“ื™ื‘ืึทื’ื™ื ื’ ื ืขืฅ ืœื™ื™ื˜ืึทื ืกื™ ืื™ืŸ Kubernetes

ื“ืึธืก ืื™ื– ืคื™ืœ ืคืึทืกื˜ืขืจ, ืึธื‘ืขืจ ื– ืึท ืึทื ื“ืขืจืฉ ืคึผืจืึธื‘ืœืขื. ืื•ื™ื‘ ืขืก ื–ืขื ืขืŸ ืฆื• ืคื™ืœืข ืคึผืึทืงื™ืฅ, ืึทืœืข ื“ื™ ืฆื™ื™ื˜ ืื™ื– ืคืืจื‘ืจืื›ื˜ ืคึผืจืึทืกืขืกื™ื ื’ ืคึผืึทืงื™ืฅ ืคึฟื•ืŸ ื“ื™ ื ืขืฅ ืงืึธืจื˜, ืื•ืŸ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ ืคึผืจืึทืกืขืกืึทื– ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืฆื™ื™ื˜ ืฆื• ืึทืงื˜ืฉืึทื•ื•ืึทืœื™ ืœื™ื™ื“ื™ืง ื“ื™ ืงื™ื•ื– (ืœื™ื™ืขื ืขืŸ ืคึฟื•ืŸ TCP ืงืึทื ืขืงืฉืึทื ื–, ืืื–"ื• ื•). ื™ื•ื•ืขื ื˜ืฉืึทื•ื•ืึทืœื™ ื“ื™ ืงื™ื•ื– ืคึผืœืึธืžื‘ื™ืจืŸ ื–ื™ืš ืื•ืŸ ืžื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ื“ืจืึทืคึผื™ื ื’ ืคึผืึทืงื™ืฅ. ืื™ืŸ ืึทืŸ ืคึผืจื•ื•ื•ืŸ ืฆื• ื’ืขืคึฟื™ื ืขืŸ ืึท ื•ื•ืึธื’, ื“ืขืจ ืงืขืจืŸ ืฉื˜ืขืœื˜ ืึท ื‘ื•ื“ื–ืฉืขื˜ ืคึฟืึทืจ ื“ื™ ืžืึทืงืกื™ืžื•ื ื ื•ืžืขืจ ืคื•ืŸ ืคึผืึทืงื™ืฅ ืคึผืจืึทืกืขืกื˜ ืื™ืŸ ื“ื™ ืกืึธืคื˜ื™ืจืง ืงืึธื ื˜ืขืงืกื˜. ืึทืžืึธืœ ื“ืขื ื‘ื•ื“ื–ืฉืขื˜ ืื™ื– ื™ืงืกื™ื“ื™ื“, ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืคืึธื“ืขื ืื™ื– ืึทื•ื•ื™ื™ืงืึทื ื“ ksoftirqd (ืื™ืจ ื•ื•ืขื˜ ื–ืขืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื–ื™ื™ ืื™ืŸ ps ืคึผืขืจ ื”ืึทืจืฅ) ื•ื•ืึธืก ื›ืึทื ื“ืึทืœื– ื“ื™ ืกืึธืคื˜ื™ืจืงืก ืึทืจื•ื™ืก ืคื•ืŸ ื“ืขืจ ื ืึธืจืžืึทืœ ืกื™ืกืงืึทืœ / ื™ื‘ืขืจืจื™ื™ึทืกืŸ ื“ืจืš. ื“ืขืจ ืคืึธื“ืขื ืื™ื– ืกืงืขื“ื–ืฉื•ืœื“ ื ื™ืฆืŸ ื“ื™ ื ืึธืจืžืึทืœ ืคึผืจืึธืฆืขืก ืกืงืขื“ื–ืฉื•ืœืขืจ, ื•ื•ืึธืก ืคืจื•ื•ื•ืŸ ืฆื• ืึทืœืึทืงื™ื™ื˜ ืจืขืกื•ืจืกืŸ ืคืขืจืœื™.

ื“ื™ื‘ืึทื’ื™ื ื’ ื ืขืฅ ืœื™ื™ื˜ืึทื ืกื™ ืื™ืŸ Kubernetes

ื ืึธืš ื’ืขืœืขืจื ื˜ ื•ื•ื™ ื“ืขืจ ืงืขืจืŸ ืคึผืจืึทืกืขืกืึทื– ืคึผืึทืงื™ืฅ, ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ืึทื– ืขืก ืื™ื– ืึท ื–ื™ื›ืขืจ ืžืึทืฉืžืึธืขืก ืคื•ืŸ ืงืึทื ื“ื–ืฉืขืกื˜ืฉืึทืŸ. ืื•ื™ื‘ ืกืึธืคื˜ื™ืจืง ืจื•ืคื˜ ื–ืขื ืขืŸ ื‘ืืงื•ืžืขืŸ ื•ื•ื™ื™ื ื™ืงืขืจ ืึธืคื˜, ืคึผืึทืงื™ืฅ ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืฆื• ื•ื•ืึทืจื˜ืŸ ืคึฟืึทืจ ืขื˜ืœืขื›ืข ืžืึธืœ ืฆื• ื–ื™ื™ืŸ ืคึผืจืึทืกืขืกื˜ ืื™ืŸ ื“ื™ RX ืจื™ื™ ืื•ื™ืฃ ื“ื™ ื ืขืฅ ืงืึธืจื˜. ื“ืึธืก ืงืขืŸ ื–ื™ื™ืŸ ืจืขื›ื˜ ืฆื• ืขื˜ืœืขื›ืข ืึทืจื‘ืขื˜ ื‘ืœืึทืงื™ื ื’ ื“ื™ ืคึผืจืึทืกืขืกืขืจ ื”ืึทืจืฅ, ืึธื“ืขืจ ืขืคึผืขืก ืึทื ื“ืขืจืฉ ืื™ื– ืคึผืจื™ื•ื•ืขื ื˜ื™ื“ ื“ื™ ื”ืึทืจืฅ ืคื•ืŸ ืคืœื™ืกื ื“ื™ืง ื•ื•ื™ื™ื›ื•ื•ืืจื’.

ื ืขืจืึธื•ื™ื ื’ ื“ื™ ืคึผืจืึทืกืขืกื™ื ื’ ืึทืจืึธืคึผ ืฆื• ื“ื™ ื”ืึทืจืฅ ืึธื“ืขืจ ืื•ืคึฟืŸ

Softirq ื“ื™ืœื™ื™ื– ื–ืขื ืขืŸ ื‘ืœื•ื™ื– ืึท ื˜ืจืขืคืŸ ืคึฟืึทืจ ืื™ืฆื˜. ืื‘ืขืจ ืขืก ืžืื›ื˜ ื–ื™ื ืขืŸ, ืื•ืŸ ืžื™ืจ ื•ื•ื™ืกืŸ ืึทื– ืžื™ืจ ื–ืขืŸ ืขืคึผืขืก ื–ื™ื™ืขืจ ืขื ืœืขืš. ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืฉืจื™ื˜ ืื™ื– ืฆื• ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ืขื ื˜ืขืึธืจื™ืข. ืื•ืŸ ืื•ื™ื‘ ืขืก ืื™ื– ื‘ืืฉื˜ืขื˜ื™ืงื˜, ื’ืขืคึฟื™ื ืขืŸ ื“ื™ ืกื™ื‘ื” ืคึฟืึทืจ ื“ื™ ื“ื™ืœื™ื™ื–.

ืœืึธืžื™ืจ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืฆื• ืื•ื ื“ื–ืขืจ ืคึผืึทืžืขืœืขืš ืคึผืึทืงืึทืฅ:

len=46 ip=172.16.53.32 ttl=61 id=29573 icmp_seq=1953 rtt=99.3 ms

len=46 ip=172.16.53.32 ttl=61 id=29574 icmp_seq=1954 rtt=89.3 ms

len=46 ip=172.16.53.32 ttl=61 id=29575 icmp_seq=1955 rtt=79.2 ms

len=46 ip=172.16.53.32 ttl=61 id=29576 icmp_seq=1956 rtt=69.1 ms

len=46 ip=172.16.53.32 ttl=61 id=29577 icmp_seq=1957 rtt=59.1 ms

len=46 ip=172.16.53.32 ttl=61 id=29790 icmp_seq=2070 rtt=75.7 ms

len=46 ip=172.16.53.32 ttl=61 id=29791 icmp_seq=2071 rtt=65.6 ms

len=46 ip=172.16.53.32 ttl=61 id=29792 icmp_seq=2072 rtt=55.5 ms

ื•ื•ื™ ื“ื™ืกืงืึทืกื˜ ืคืจื™ืขืจ, ื“ื™ ICMP ืคึผืึทืงื™ืฅ ื–ืขื ืขืŸ ื›ืึทืฉื˜ ืื™ืŸ ืึท ืื™ื™ืŸ RX NIC ืจื™ื™ ืื•ืŸ ืคึผืจืึทืกืขืกื˜ ื“ื•ืจืš ืึท ืื™ื™ืŸ ืงืคึผื• ื”ืึทืจืฅ. ืื•ื™ื‘ ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื•ื•ื™ ืœื™ื ื•ืงืก ืึทืจื‘ืขื˜, ืขืก ืื™ื– ื ื•ืฆื™ืง ืฆื• ื•ื•ื™ืกืŸ ื•ื•ื• (ืื•ื™ืฃ ื•ื•ืึธืก ืงืคึผื• ื”ืึทืจืฅ) ืื•ืŸ ื•ื•ื™ (softirq, ksoftirqd) ื“ื™ ืคึผืึทืงืึทื“ื–ืฉืึทื– ื–ืขื ืขืŸ ืคึผืจืึทืกืขืกื˜ ืื™ืŸ ืกื“ืจ ืฆื• ืฉืคึผื•ืจ ื“ืขื ืคึผืจืึธืฆืขืก.

ืื™ืฆื˜ ืขืก ืื™ื– ืฆื™ื™ื˜ ืฆื• ื ื•ืฆืŸ ืžื›ืฉื™ืจื™ื ื•ื•ืึธืก ืœืึธื–ืŸ ืื™ืจ ืฆื• ืžืึธื ื™ื˜ืึธืจ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืื™ืŸ ืคืึทืงื˜ื™ืฉ ืฆื™ื™ื˜. ื“ืึธ ืžื™ืจ ื’ืขื•ื•ื™ื™ื ื˜ ื‘ืงืง. ื“ืขืจ ื’ืึทื ื’ ืคื•ืŸ ืžื›ืฉื™ืจื™ื ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืงืœื™ื™ืŸ C ืžื’ื™ืœื” ื•ื•ืึธืก ืคืึทืจื˜ืฉืขืคึผืขืŸ ืึทืจื‘ื™ื˜ืจืึทืจื™ืฉ ืคืึทื ื’ืงืฉืึทื ื– ืื™ืŸ ื“ื™ ืงืขืจืŸ ืื•ืŸ ื‘ืึทืคืขืจ ื“ื™ ื’ืขืฉืขืขื ื™ืฉืŸ ืื™ืŸ ืึท ื‘ืึทื ื™ืฆืขืจ-ืคึผืœืึทืฅ ืคึผื™ื˜ื”ืึธืŸ ืคึผืจืึธื’ืจืึทื ื•ื•ืึธืก ืงืขื ืขืŸ ืคึผืจืึธืฆืขืก ื–ื™ื™ ืื•ืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืฆื• ืื™ืจ. ื›ื•ืงื™ื ื’ ืึทืจื‘ื™ื˜ืจืึทืจื™ืฉ ืคืึทื ื’ืงืฉืึทื ื– ืื™ืŸ ื“ื™ ืงืขืจืŸ ืื™ื– ืึท ื˜ืจื™ืงื™ ื’ืขืฉืขืคื˜, ืึธื‘ืขืจ ื“ื™ ื ื•ืฆืŸ ืื™ื– ื“ื™ื–ื™ื™ื ื“ ืคึฟืึทืจ ืžืึทืงืกื™ืžื•ื ื–ื™ื›ืขืจื”ื™ื™ื˜ ืื•ืŸ ืื™ื– ื“ื™ื–ื™ื™ื ื“ ืฆื• ืฉืคึผื•ืจ ืคึผื•ื ืงื˜ ื“ื™ ืกืึธืจื˜ ืคื•ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข ื™ืฉื•ื– ื•ื•ืึธืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ืœื™ื™ื›ื˜ ืจื™ืคึผืจืึทื“ื•ืกื˜ ืื™ืŸ ืึท ืคึผืจืึธื‘ืข ืึธื“ืขืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืกื•ื•ื™ื•ื•ืข.

ื“ืขืจ ืคึผืœืึทืŸ ื“ืึธ ืื™ื– ืคึผืฉื•ื˜: ืžื™ืจ ื•ื•ื™ืกืŸ ืึทื– ื“ืขืจ ืงืขืจืŸ ืคึผืจืึทืกืขืกืึทื– ื“ื™ ICMP ืคึผื™ื ื’ืก, ืึทื–ื•ื™ ืžื™ืจ ืฉื˜ืขืœืŸ ืึท ืงืจื•ืง ืื•ื™ืฃ ื“ื™ ืงืขืจืŸ ืคื•ื ืงืฆื™ืข icmp_echo, ื•ื•ืึธืก ืึทืงืกืขืคึผืฅ ืึทืŸ ื™ื ืงืึทืžื™ื ื’ ICMP ืขืงืึธื• ื‘ืขื˜ืŸ ืคึผืึทืงืึทื˜ ืื•ืŸ ื™ื ื™ืฉื™ืึทืฅ ืฉื™ืงื˜ ืึท ICMP ืขืงืึธื• ืขื ื˜ืคืขืจ. ืžื™ืจ ืงืขื ืขืŸ ื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ ืึท ืคึผืึทืงืึทื˜ ื“ื•ืจืš ื™ื ืงืจื™ืกื™ื ื’ ื“ื™ icmp_seq ื ื•ืžืขืจ, ื•ื•ืึธืก ื•ื•ื™ื™ื–ื˜ hping3 ื”ืขื›ืขืจ.

ืงืึธื“ืขืงืก bcc ืฉืจื™ืคื˜ ืงื•ืงื˜ ืงืึธืžืคึผืœื™ืฆื™ืจื˜, ืึธื‘ืขืจ ืขืก ืื™ื– ื ื™ืฉื˜ ื•ื•ื™ ืกืงืขืจื™ ื•ื•ื™ ืขืก ืžื™ื™ื ื˜. ืคึฟื•ื ืงืฆื™ืข icmp_echo ืงืึทื ื•ื•ื™ื™ื– struct sk_buff *skb: ื“ืึธืก ืื™ื– ืึท ืคึผืึทืงืึทื˜ ืžื™ื˜ ืึท "ืขืงืึธื• ื‘ืขื˜ืŸ". ืžื™ืจ ืงืขื ืขืŸ ืฉืคึผื•ืจ ืขืก, ืฆื™ืขืŸ ื“ื™ ืกื™ืงื•ื•ืึทื ืก echo.sequence (ื•ื•ืึธืก ืงืึทืžืคึผืขืจื™ื– ืžื™ื˜ icmp_seq ื“ื•ืจืš hping3 ะฒั‹ัˆะต), ืื•ืŸ ืฉื™ืงืŸ ืขืก ืฆื• ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ. ืขืก ืื™ื– ืื•ื™ืš ื‘ืึทืงื•ื•ืขื ืฆื• ื›ืึทืคึผืŸ ื“ืขื ืงืจืึทื ื˜ ืคึผืจืึธืฆืขืก ื ืึธืžืขืŸ / ืฉื™ื™ึทืŸ. ืื•ื ื˜ืŸ ื–ืขื ืขืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ื•ื•ืึธืก ืžื™ืจ ื–ืขืŸ ื’ืœื™ื™ืš ื‘ืฉืขืช ื“ืขืจ ืงืขืจืŸ ืคึผืจืึทืกืขืกืึทื– ืคึผืึทืงื™ืฅ:

TGID PID ืคึผืจืึธืฆืขืก ื ืึธืžืขืŸ ICMP_SEQ
0 0 ืกื•ื•ืึทืคึผืขืจ/11
770 0 ืกื•ื•ืึทืคึผืขืจ/0
11 771 ืกื•ื•ืึทืคึผืขืจ/0
0 11 ืกื•ื•ืึทืคึผืขืจ/772
0 0 ืกื•ื•ืึทืคึผืขืจ / 11
773 0 ืคึผืจืึธืžืขื˜ื”ืขื•ืก 0
11 774 ืกื•ื•ืึทืคึผืขืจ / 20041
20086 775 ืกื•ื•ืึทืคึผืขืจ/0
0 11 ืกื•ื•ืึทืคึผืขืจ/776
0 0 ืกืคึผืึธื•ืงืก ื‘ืึทืจื™ื›ื˜-ืก 11

ืขืก ื–ืึธืœ ื–ื™ื™ืŸ ืื ื’ืขื•ื•ื™ื–ืŸ ื“ืึธ ืึทื– ืื™ืŸ ื“ืขื ืงืึธื ื˜ืขืงืกื˜ softirq ืคึผืจืึทืกืขืกืึทื– ื•ื•ืึธืก ื’ืขืžืื›ื˜ ืกื™ืกื˜ืขื ืงืึทืœืœืก ื•ื•ืขื˜ ื“ืขืจืฉื™ื™ึทื ืขืŸ ื•ื•ื™ "ืคึผืจืึทืกืขืกืึทื–" ื•ื•ืขืŸ ืื™ืŸ ืคืึทืงื˜ ืขืก ืื™ื– ื“ืขืจ ืงืขืจืŸ ื•ื•ืึธืก ื‘ืขืฉืึธืœืขื ืคึผืจืึทืกืขืกืึทื– ืคึผืึทืงื™ืฅ ืื™ืŸ ื“ืขื ืงืึธื ื˜ืขืงืกื˜ ืคื•ืŸ ื“ื™ ืงืขืจืŸ.

ืžื™ื˜ ื“ืขื ื’ืขืฆื™ื™ึทื’ ืžื™ืจ ืงืขื ืขืŸ ืคืึทืจื‘ื™ื ื“ืŸ ืกืคึผืขืฆื™ืคื™ืฉ ืคึผืจืึทืกืขืกืึทื– ืžื™ื˜ ืกืคึผืขืฆื™ืคื™ืฉ ืคึผืึทืงืึทื“ื–ืฉืึทื– ื•ื•ืึธืก ื•ื•ื™ื™ึทื–ืŸ ืึท ืคืึทืจื”ืึทืœื˜ืŸ ืคื•ืŸ hping3. ื–ืืœ ืก ืžืึทื›ืŸ ืขืก ืคึผืฉื•ื˜ grep ืื•ื™ืฃ ื“ืขื ื›ืึทืคึผืŸ ืคึฟืึทืจ ื–ื™ื›ืขืจ ื•ื•ืึทืœื•ืขืก icmp_seq. ืคึผืึทืงื™ืฅ ื•ื•ืึธืก ืจื™ื›ื˜ืŸ ื–ื™ืš ืฆื• ื“ื™ ืื•ื™ื‘ืŸ icmp_seq ื•ื•ืึทืœื•ืขืก ื–ืขื ืขืŸ ืคืœืึทื’ื“ ืžื™ื˜ ื–ื™ื™ืขืจ RTT ื•ื•ืึธืก ืžื™ืจ ื‘ืืžืขืจืงื˜ ืื•ื™ื‘ืŸ (ืื™ืŸ ืงืœืึทืžืขืจืŸ ื–ืขื ืขืŸ ื“ื™ ื“ืขืจื•ื•ืึทืจื˜ RTT ื•ื•ืึทืœื•ืขืก ืคึฟืึทืจ ืคึผืึทืงื™ืฅ ื•ื•ืึธืก ืžื™ืจ ืคื™ืœื˜ืขืจื“ ืจืขื›ื˜ ืฆื• RTT ื•ื•ืึทืœื•ืขืก ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ 50ms):

TGID PID ืคึผืจืึธืฆืขืก ื ืึธืžืขืŸ ICMP_SEQ ** RTT
--
10137 10436 ืงืึทื“ื•ื•ื™ืกืึธืจ 1951
10137 10436 ืงืึทื“ื•ื•ื™ืกืึธืจ 1952
76 76 ืงืกืึธืคื™ืจืงื“/11 1953 ** 99ืžืก
76 76 ืงืกืึธืคื™ืจืงื“/11 1954 ** 89ืžืก
76 76 ืงืกืึธืคื™ืจืงื“/11 1955 ** 79ืžืก
76 76 ืงืกืึธืคื™ืจืงื“/11 1956 ** 69ืžืก
76 76 ืงืกืึธืคื™ืจืงื“/11 1957 ** 59ืžืก
76 76 ksoftirqd/11 1958 ** (49ms)
76 76 ืงืกืึธืคื™ืจืงื“/11 1959 ** (39 ืžื™ื–)
76 76 ืงืกืึธืคื™ืจืงื“ / 11 1960 ** (29 ืžื™ื–)
76 76 ืงืกืึธืคื™ืจืงื“ / 11 1961 ** (19 ืžื™ื–)
76 76 ืงืกืึธืคื™ืจืงื“/11 1962 ** (9 ืžื™ื–)
--
10137 10436 ืงืึทื“ื•ื•ื™ืกืึธืจ 2068
10137 10436 ืงืึทื“ื•ื•ื™ืกืึธืจ 2069
76 76 ืงืกืึธืคื™ืจืงื“/11 2070 ** 75ืžืก
76 76 ืงืกืึธืคื™ืจืงื“/11 2071 ** 65ืžืก
76 76 ืงืกืึธืคื™ืจืงื“/11 2072 ** 55ืžืก
76 76 ืงืกืึธืคื™ืจืงื“/11 2073 ** (45 ืžื™ื–)
76 76 ืงืกืึธืคื™ืจืงื“/11 2074 ** (35 ืžื™ื–)
76 76 ืงืกืึธืคื™ืจืงื“/11 2075 ** (25 ืžื™ื–)
76 76 ืงืกืึธืคื™ืจืงื“/11 2076 ** (15 ืžื™ื–)
76 76 ืงืกืึธืคื™ืจืงื“/11 2077 ** (5ืžืก)

ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ื–ืึธื’ืŸ ืื•ื ื“ื– ืขื˜ืœืขื›ืข ื–ืื›ืŸ. ืคื™ืจืกื˜ืœื™, ืึทืœืข ื“ื™ ืคึผืึทืงืึทื“ื–ืฉืึทื– ื–ืขื ืขืŸ ืคึผืจืึทืกืขืกื˜ ื“ื•ืจืš ื“ืขื ืงืึธื ื˜ืขืงืกื˜ ksoftirqd/11. ื“ืขื ืžื™ื˜ืœ ืึทื– ืคึฟืึทืจ ื“ืขื ื‘ืึทื–ื•ื ื“ืขืจ ืคึผืึธืจ ืคื•ืŸ ืžืืฉื™ื ืขืŸ, ICMP ืคึผืึทืงื™ืฅ ื–ืขื ืขืŸ ื›ืึทืฉื˜ ืฆื• ื”ืึทืจืฅ 11 ืื™ืŸ ื“ื™ ืจื™ืกื™ื•ื•ื™ื ื’ ืกื•ืฃ. ืžื™ืจ ืื•ื™ืš ื–ืขืŸ ืึทื– ื•ื•ืขืŸ ืขืก ืื™ื– ืึท ืงืœืขื, ืขืก ื–ืขื ืขืŸ ืคึผืึทืงื™ืฅ ื•ื•ืึธืก ื–ืขื ืขืŸ ืคึผืจืึทืกืขืกื˜ ืื™ืŸ ื“ืขื ืงืึธื ื˜ืขืงืกื˜ ืคื•ืŸ ื“ื™ ืกื™ืกื˜ืขื ืจื•ืคืŸ cadvisor... ื“ืขืจื ืึธืš ksoftirqd ื ืขืžื˜ ืื™ื‘ืขืจ ื“ื™ ืึทืจื‘ืขื˜ ืื•ืŸ ืคึผืจืึทืกืขืกืึทื– ื“ื™ ืึทืงื™ื•ืžื™ืึทืœื™ื™ื˜ื™ื“ ืจื™ื™: ืคึผื•ื ืงื˜ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืคึผืึทืงื™ืฅ ื•ื•ืึธืก ืื™ื– ืึทืงื™ื•ืžื™ืึทืœื™ื™ื˜ื™ื“ ื ืึธืš cadvisor.

ื“ืขืจ ืคืึทืงื˜ ืึทื– ืžื™ื“ ืื™ื™ื“ืขืจ ืขืก ืฉื˜ืขื ื“ื™ืง ืึทืจื‘ืขื˜ cadvisor, ื™ืžืคึผืœื™ื™ื– ื–ื™ื™ืŸ ื™ื ื•ื•ืึทืœื•ื•ืžืึทื ื˜ ืื™ืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื. ื™ืจืึธื ื™ืงืึทืœืœื™, ื“ืขืจ ืฆื™ืœ ืงืึทื“ื•ื•ื™ื™ื–ืขืจ - "ืึทื ืึทืœื™ื–ื™ืจืŸ ืžื™ื˜ืœ ื‘ืึทื ื™ืฅ ืื•ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืงืขืจืึทืงื˜ืขืจื™ืกื˜ื™ืงืก ืคื•ืŸ ืคืœื™ืกื ื“ื™ืง ืงืึทื ื˜ื™ื™ื ืขืจื–" ืืœื ื•ื•ื™ ืคืึทืจืฉืึทืคืŸ ื“ืขื ืคืึธืจืฉื˜ืขืœื•ื ื’ ืึทืจื•ื™ืกื’ืขื‘ืŸ.

ื•ื•ื™ ืžื™ื˜ ืื ื“ืขืจืข ืึทืกืคึผืขืงืฅ ืคื•ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื–, ื“ืึธืก ื–ืขื ืขืŸ ืึทืœืข ื”ืขื›ืกื˜ ืึทื•ื•ืึทื ืกื™ืจื˜ืข ืžื›ืฉื™ืจื™ื ืื•ืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื“ืขืจื•ื•ืึทืจื˜ ืฆื• ื“ืขืจืคืึทืจื•ื ื’ ืคืึธืจืฉื˜ืขืœื•ื ื’ ื™ืฉื•ื– ืื•ื ื˜ืขืจ ืขื˜ืœืขื›ืข ืึทื ืคืึธืจืกื™ืŸ ืฆื•ืฉื˜ืื ื“ืŸ.

ื•ื•ืึธืก ื˜ื•ื˜ ืงืึทื“ื•ื•ื™ืกืึธืจ ืึทื– ืกืœืึธื•ื– ืึทืจืึธืคึผ ื“ื™ ืคึผืึทืงืึทื˜ ืจื™ื™?

ืžื™ืจ ืื™ืฆื˜ ื”ืึธื‘ืŸ ืึท ืฉื™ื™ืŸ ื’ื•ื˜ ืคืืจืฉื˜ืื ื“ ืคื•ืŸ ื•ื•ื™ ื“ืขืจ ืงืจืึทืš ืึทืงืขืจื–, ื•ื•ืึธืก ืคึผืจืึธืฆืขืก ืื™ื– ืงืึธื–ื™ื ื’ ืขืก ืื•ืŸ ืื•ื™ืฃ ื•ื•ืึธืก ืงืคึผื•. ืžื™ืจ ื–ืขืŸ ืึทื– ืจืขื›ื˜ ืฆื• ืฉื•ื•ืขืจ ื‘ืœืึทืงื™ื ื’, ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ื˜ื•ื˜ ื ื™ืฉื˜ ื”ืึธื‘ืŸ ืฆื™ื™ื˜ ืฆื• ืคึผืœืึทืŸ ksoftirqd. ืื•ืŸ ืžื™ืจ ื–ืขืŸ ืึทื– ืคึผืึทืงื™ืฅ ื–ืขื ืขืŸ ืคึผืจืึทืกืขืกื˜ ืื™ืŸ ืงืึธื ื˜ืขืงืกื˜ cadvisor. ืขืก ืื™ื– ืœืึทื“ื–ืฉื™ืงืึทืœ ืฆื• ื™ื‘ืขืจื ืขืžืขืŸ ืึทื– cadvisor ืœืึธื ื˜ืฉื™ื– ืึท ืคึผืึทืžืขืœืขืš ืกื™ืกืงืึทืœืœ, ื ืึธืš ื•ื•ืึธืก ืึทืœืข ืคึผืึทืงื™ืฅ ืึทืงื™ื•ืžื™ืึทืœื™ื™ื˜ื™ื“ ืื™ืŸ ื“ืขืจ ืฆื™ื™ื˜ ื–ืขื ืขืŸ ืคึผืจืึทืกืขืกื˜:

ื“ื™ื‘ืึทื’ื™ื ื’ ื ืขืฅ ืœื™ื™ื˜ืึทื ืกื™ ืื™ืŸ Kubernetes

ื“ืึธืก ืื™ื– ืึท ื˜ืขืึธืจื™ืข, ืึธื‘ืขืจ ื•ื•ื™ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ืขืก? ื•ื•ืึธืก ืžื™ืจ ืงืขื ืขืŸ ื˜ืึธืŸ ืื™ื– ืฉืคึผื•ืจ ื“ื™ ืงืคึผื• ื”ืึทืจืฅ ืื™ื‘ืขืจ ื“ืขื ืคึผืจืึธืฆืขืก, ื’ืขืคึฟื™ื ืขืŸ ื“ื™ ืคื•ื ื˜ ื•ื•ื• ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืคึผืึทืงื™ืฅ ื’ื™ื™ื˜ ืื™ื‘ืขืจ ื‘ื•ื“ื–ืฉืขื˜ ืื•ืŸ ksoftirqd ืื™ื– ื’ืขืจื•ืคืŸ, ืื•ืŸ ืงื•ืง ืึท ื‘ื™ืกืœ ืžืขืจ ืฆื•ืจื™ืง ืฆื• ื–ืขืŸ ื•ื•ืึธืก ืคึผื•ื ืงื˜ ืื™ื– ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ ื“ื™ ืงืคึผื• ื”ืึทืจืฅ ืคึผื•ื ืงื˜ ืื™ื™ื“ืขืจ ื“ืขื ืคื•ื ื˜ . ืขืก ืื™ื– ื•ื•ื™ ืจืขื ื˜ื’ืขื -ืจื™ื™ื™ื ื’ ื“ื™ ืงืคึผื• ื™ืขื“ืขืจ ื‘ื™ืกืœ ืžื™ืœื™ืกืขืงืึทื ื“ื–. ืขืก ื•ื•ืขื˜ ืงื•ืงืŸ ืขืคึผืขืก ื•ื•ื™ ื“ืึธืก:

ื“ื™ื‘ืึทื’ื™ื ื’ ื ืขืฅ ืœื™ื™ื˜ืึทื ืกื™ ืื™ืŸ Kubernetes

ืงืึทื ื•ื•ื™ื ื™ืึทื ื˜ืœื™, ืึทืœืข ื“ืขื ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื˜ืืŸ ืžื™ื˜ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืžื›ืฉื™ืจื™ื. ืœืžืฉืœ, ืคึผืขืจืค ืจืขืงืึธืจื“ ื˜ืฉืขืงืก ืึท ื’ืขื’ืขื‘ืŸ ืงืคึผื• ื”ืึทืจืฅ ืื™ืŸ ืึท ืกืคึผืขืกื™ืคื™ืขื“ ืึธืคื˜ืงื™ื™ึทื˜ ืื•ืŸ ืงืขื ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืึท ืคึผืœืึทืŸ ืคื•ืŸ ืงืึทืœืœืก ืฆื• ื“ื™ ืคืœื™ืกื ื“ื™ืง ืกื™ืกื˜ืขื, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื‘ื™ื™ื“ืข ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ ืื•ืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ. ืื™ืจ ืงืขื ืขืŸ ื ืขืžืขืŸ ื“ืขื ืจืขืงืึธืจื“ ืื•ืŸ ืคึผืจืึธืฆืขืก ืขืก ืžื™ื˜ ืึท ืงืœื™ื™ืŸ ื’ืึธืคึผืœ ืคื•ืŸ ื“ื™ ืคึผืจืึธื’ืจืึทื ืคืœืึทืžืขื’ืจืึทืฃ ืคื•ืŸ Brendan Gregg, ื•ื•ืึธืก ืคึผืจืึทื–ืขืจื•ื•ื– ื“ื™ ืกื“ืจ ืคื•ืŸ ื“ื™ ืึธื ืœื™ื™ื’ืŸ ืฉืคึผื•ืจ. ืžื™ืจ ืงืขื ืขืŸ ืจืึทื˜ืขื•ื•ืขืŸ ืื™ื™ืŸ-ืฉื•ืจื” ืึธื ืœื™ื™ื’ืŸ ื˜ืจืึทืกืขืก ื™ืขื“ืขืจ 1 ืžื™ื–, ืื•ืŸ ื“ืขืžืึธืœื˜ ื”ื•ื™ื›ืคึผื•ื ืงื˜ ืื•ืŸ ืจืึทื˜ืขื•ื•ืขืŸ ืึท ืžื•ืกื˜ืขืจ 100 ืžื™ืœื™ืกืขืงืึทื ื“ื– ืื™ื™ื“ืขืจ ื“ื™ ืฉืคึผื•ืจ ื”ื™ืฅ ksoftirqd:

# record 999 times a second, or every 1ms with some offset so not to align exactly with timers
sudo perf record -C 11 -g -F 999
# take that recording and make a simpler stack trace.
sudo perf script 2>/dev/null | ./FlameGraph/stackcollapse-perf-ordered.pl | grep ksoftir -B 100

ื“ืึธ ื–ืขื ืขืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ:

(ัะพั‚ะฝะธ ัะปะตะดะพะฒ, ะบะพั‚ะพั€ั‹ะต ะฒั‹ะณะปัะดัั‚ ะฟะพั…ะพะถะธะผะธ)

cadvisor;[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];entry_SYSCALL_64_after_swapgs;do_syscall_64;sys_read;vfs_read;seq_read;memcg_stat_show;mem_cgroup_nr_lru_pages;mem_cgroup_node_nr_lru_pages cadvisor;[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];entry_SYSCALL_64_after_swapgs;do_syscall_64;sys_read;vfs_read;seq_read;memcg_stat_show;mem_cgroup_nr_lru_pages;mem_cgroup_node_nr_lru_pages cadvisor;[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];entry_SYSCALL_64_after_swapgs;do_syscall_64;sys_read;vfs_read;seq_read;memcg_stat_show;mem_cgroup_iter cadvisor;[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];entry_SYSCALL_64_after_swapgs;do_syscall_64;sys_read;vfs_read;seq_read;memcg_stat_show;mem_cgroup_nr_lru_pages;mem_cgroup_node_nr_lru_pages cadvisor;[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];[cadvisor];entry_SYSCALL_64_after_swapgs;do_syscall_64;sys_read;vfs_read;seq_read;memcg_stat_show;mem_cgroup_nr_lru_pages;mem_cgroup_node_nr_lru_pages ksoftirqd/11;ret_from_fork;kthread;kthread;smpboot_thread_fn;smpboot_thread_fn;run_ksoftirqd;__do_softirq;net_rx_action;ixgbe_poll;ixgbe_clean_rx_irq;napi_gro_receive;netif_receive_skb_internal;inet_gro_receive;bond_handle_frame;__netif_receive_skb_core;ip_rcv_finish;ip_rcv;ip_forward_finish;ip_forward;ip_finish_output;nf_iterate;ip_output;ip_finish_output2;__dev_queue_xmit;dev_hard_start_xmit;ipip_tunnel_xmit;ip_tunnel_xmit;iptunnel_xmit;ip_local_out;dst_output;__ip_local_out;nf_hook_slow;nf_iterate;nf_conntrack_in;generic_packet;ipt_do_table;set_match_v4;ip_set_test;hash_net4_kadt;ixgbe_xmit_frame_ring;swiotlb_dma_mapping_error;hash_net4_test ksoftirqd/11;ret_from_fork;kthread;kthread;smpboot_thread_fn;smpboot_thread_fn;run_ksoftirqd;__do_softirq;net_rx_action;gro_cell_poll;napi_gro_receive;netif_receive_skb_internal;inet_gro_receive;__netif_receive_skb_core;ip_rcv_finish;ip_rcv;ip_forward_finish;ip_forward;ip_finish_output;nf_iterate;ip_output;ip_finish_output2;__dev_queue_xmit;dev_hard_start_xmit;dev_queue_xmit_nit;packet_rcv;tpacket_rcv;sch_direct_xmit;validate_xmit_skb_list;validate_xmit_skb;netif_skb_features;ixgbe_xmit_frame_ring;swiotlb_dma_mapping_error;__dev_queue_xmit;dev_hard_start_xmit;__bpf_prog_run;__bpf_prog_run

ืขืก ื–ืขื ืขืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ื˜ื™ื ื’ื– ื“ืึธ, ืึธื‘ืขืจ ื“ื™ ื”ื•ื™ืคึผื˜ ื–ืึทืš ืื™ื– ืึทื– ืžื™ืจ ื’ืขืคึฟื™ื ืขืŸ ื“ื™ "ืงืึทื“ื•ื•ื™ืกืึธืจ ืื™ื™ื“ืขืจ ืงืกืึธืคื™ืจืงื“" ืžื•ืกื˜ืขืจ ื•ื•ืึธืก ืžื™ืจ ื’ืขื–ืขืŸ ืคืจื™ืขืจ ืื™ืŸ ื“ื™ ICMP ื˜ืจื™ื™ืกืขืจ. ื•ื•ืืก ืžื™ื™ื ื˜ ืขืก?

ื™ืขื“ืขืจ ืฉื•ืจื” ืื™ื– ืึท ืงืคึผื• ืฉืคึผื•ืจ ืื™ืŸ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ืคื•ื ื˜ ืื™ืŸ ืฆื™ื™ื˜. ื™ืขื“ืขืจ ืจื•ืคืŸ ืึทืจืึธืคึผ ื“ื™ ืึธื ืœื™ื™ื’ืŸ ืื•ื™ืฃ ืึท ืฉื•ืจื” ืื™ื– ืืคื’ืขืฉื™ื™ื“ื˜ ื“ื•ืจืš ืึท ืกืขืžื™ืงืึธืœืึธืŸ. ืื™ืŸ ื“ื™ ืžื™ื˜ืŸ ืคื•ืŸ ื“ื™ ืฉื•ืจื•ืช ืžื™ืจ ื–ืขืŸ ื“ื™ ืกื™ืกืงืึทืœ ื’ืขืจื•ืคืŸ: read(): .... ;do_syscall_64;sys_read; .... ืึทื–ื•ื™ ืงืึทื“ื•ื•ื™ืกืึธืจ ืกืคึผืขื ื“ื– ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืฆื™ื™ื˜ ืื•ื™ืฃ ื“ื™ ืกื™ืกื˜ืขื ืจื•ืคืŸ read()ืฉื™ื™ึทื›ื•ืช ืฆื• ืคืึทื ื’ืงืฉืึทื ื– mem_cgroup_* (ืฉืคึผื™ืฅ ืคื•ืŸ ืจื•ืคืŸ ืึธื ืœื™ื™ื’ืŸ / ืกื•ืฃ ืคื•ืŸ ืฉื•ืจื”).

ืขืก ืื™ื– ื•ืžื‘ืึทืงื•ื•ืขื ืฆื• ื–ืขืŸ ืื™ืŸ ืึท ืจื•ืคืŸ ืฉืคึผื•ืจ ื•ื•ืึธืก ืคึผื•ื ืงื˜ ืื™ื– ืœื™ื™ืขื ืขืŸ, ืึทื–ื•ื™ ืœืึธื–ืŸ ืื•ื ื“ื– ืœื•ื™ืคืŸ strace ืื•ืŸ ืœืึธืžื™ืจ ื–ืขืŸ ื•ื•ืึธืก ืงืึทื“ื•ื•ื™ืกืึธืจ ื˜ื•ื˜ ืื•ืŸ ื’ืขืคึฟื™ื ืขืŸ ืกื™ืกื˜ืขื ืจื•ืคื˜ ืžืขืจ ื•ื•ื™ 100ms:

theojulienne@kube-node-bad ~ $ sudo strace -p 10137 -T -ff 2>&1 | egrep '<0.[1-9]'
[pid 10436] <... futex resumed> ) = 0 <0.156784>
[pid 10432] <... futex resumed> ) = 0 <0.258285>
[pid 10137] <... futex resumed> ) = 0 <0.678382>
[pid 10384] <... futex resumed> ) = 0 <0.762328>
[pid 10436] <... read resumed> "cache 154234880nrss 507904nrss_h"..., 4096) = 658 <0.179438>
[pid 10384] <... futex resumed> ) = 0 <0.104614>
[pid 10436] <... futex resumed> ) = 0 <0.175936>
[pid 10436] <... read resumed> "cache 0nrss 0nrss_huge 0nmapped_"..., 4096) = 577 <0.228091>
[pid 10427] <... read resumed> "cache 0nrss 0nrss_huge 0nmapped_"..., 4096) = 577 <0.207334>
[pid 10411] <... epoll_ctl resumed> ) = 0 <0.118113>
[pid 10382] <... pselect6 resumed> ) = 0 (Timeout) <0.117717>
[pid 10436] <... read resumed> "cache 154234880nrss 507904nrss_h"..., 4096) = 660 <0.159891>
[pid 10417] <... futex resumed> ) = 0 <0.917495>
[pid 10436] <... futex resumed> ) = 0 <0.208172>
[pid 10417] <... futex resumed> ) = 0 <0.190763>
[pid 10417] <... read resumed> "cache 0nrss 0nrss_huge 0nmapped_"..., 4096) = 576 <0.154442>

ื•ื•ื™ ืื™ืจ ืงืขืŸ ื“ืขืจื•ื•ืึทืจื˜ืŸ, ืžื™ืจ ื–ืขืŸ ืคึผืึทืžืขืœืขืš ืจื•ืคื˜ ื“ืึธ read(). ืคื•ืŸ ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ ืœื™ื™ืขื ืขืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืื•ืŸ ืงืึธื ื˜ืขืงืกื˜ mem_cgroup ืขืก ืื™ื– ืงืœืึธืจ ืึทื– ื“ื™ ื˜ืฉืึทืœืึทื ื“ื–ืฉื™ื– read() ืึธืคึผืฉื™ืงืŸ ืฆื• ื“ืขืจ ื˜ืขืงืข memory.stat, ื•ื•ืึธืก ื•ื•ื™ื™ื–ื˜ ื–ื›ึผืจื•ืŸ ื‘ืึทื ื™ืฅ ืื•ืŸ ืงื’ืจื•ืคึผ ืœื™ืžืึทืฅ (ื“ืึธืงืงืขืจ ืก ืžื™ื˜ืœ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ื˜ืขื›ื ืึธืœืึธื’ื™ืข). ื“ื™ ืงืึทื“ื•ื•ื™ืกืึธืจ ื’ืขืฆื™ื™ึทื’ ืงื•ื•ืขื ืงืœืขืŸ ื“ืขื ื˜ืขืงืข ืฆื• ื‘ืึทืงื•ืžืขืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื‘ืึทื ื™ืฅ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืคึฟืึทืจ ืงืึทื ื˜ื™ื™ื ืขืจื–. ืœืึธืžื™ืจ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืฆื™ ื“ืขืจ ืงืขืจืŸ ืึธื“ืขืจ ืงืึทื“ื•ื•ื™ืกืึธืจ ื˜ื•ื˜ ืขืคึผืขืก ืื•ืžื’ืขืจื™ื›ื˜:

theojulienne@kube-node-bad ~ $ time cat /sys/fs/cgroup/memory/memory.stat >/dev/null

real 0m0.153s
user 0m0.000s
sys 0m0.152s
theojulienne@kube-node-bad ~ $

ืื™ืฆื˜ ืžื™ืจ ืงืขื ืขืŸ ืจืขืคึผืจืึธื“ื•ืฆื™ืจืŸ ื“ืขื ื–ืฉื•ืง ืื•ืŸ ืคึฟืึทืจืฉื˜ื™ื™ืŸ ืึทื– ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืื™ื– ืคื™ื™ืกื™ื ื’ ืึท ืคึผืึทื˜ืึทืœืึทื“ื–ืฉื™.

ืคืืจื•ื•ืืก ืื™ื– ื“ื™ ืœื™ื™ืขื ืขืŸ ืึธืคึผืขืจืึทืฆื™ืข ืึทื–ื•ื™ ืคึผืึทืžืขืœืขืš?

ืื™ืŸ ื“ืขื ื‘ื™ื ืข, ืขืก ืื™ื– ืคื™ืœ ื’ืจื™ื ื’ืขืจ ืฆื• ื’ืขืคึฟื™ื ืขืŸ ืึทืจื˜ื™ืงืœืขืŸ ืคื•ืŸ ืื ื“ืขืจืข ื ื™ืฆืขืจืก ื•ื•ืขื’ืŸ ืขื ืœืขืš ืคึผืจืึธื‘ืœืขืžืก. ื•ื•ื™ ืขืก ืคืืจืงืขืจื˜ ืื•ื™ืก, ืื™ืŸ ื“ื™ ืงืึทื“ื•ื•ื™ืกืึธืจ ื˜ืจืึทืงืขืจ ื“ืขื ื–ืฉื•ืง ืื™ื– ื’ืขืžืืœื“ืŸ ื•ื•ื™ ืคึผืจืึธื‘ืœืขื ืคื•ืŸ ื™ื‘ืขืจื™ืง ืงืคึผื• ื‘ืึทื ื™ืฅ, ืขืก ืื™ื– ื ืึธืจ ืึทื– ืงื™ื™ืŸ ืื™ื™ื ืขืจ ื‘ืืžืขืจืงื˜ ืึทื– ื“ื™ ืœื™ื™ื˜ืึทื ืกื™ ืื™ื– ืื•ื™ืš ืจืึทื ื“ืึทืžืœื™ ืฉืคื™ื’ืœื˜ ืื™ืŸ ื“ื™ ื ืขืฅ ืึธื ืœื™ื™ื’ืŸ. ืขืก ืื™ื– ื˜ืึทืงืข ื‘ืืžืขืจืงื˜ ืึทื– ืงืึทื“ื•ื•ื™ืกืึธืจ ืื™ื– ืงืึทื ืกื•ืžื™ื ื’ ืžืขืจ ืงืคึผื• ืฆื™ื™ื˜ ื•ื•ื™ ื“ืขืจื•ื•ืึทืจื˜, ืึธื‘ืขืจ ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ื’ืขื’ืขื‘ืŸ ืคื™ืœ ื•ื•ื™ื›ื˜ื™ืงื™ื™ื˜, ื•ื•ื™ื™ึทืœ ืื•ื ื“ื–ืขืจ ืกืขืจื•ื•ืขืจืก ื”ืึธื‘ืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืงืคึผื• ืจืขืกื•ืจืกืŸ, ืึทื–ื•ื™ ื“ื™ ืคึผืจืึธื‘ืœืขื ืื™ื– ื ื™ืฉื˜ ืงืขืจืคืึทืœื™ ื’ืขืœืขืจื ื˜.

ื“ื™ ืคึผืจืึธื‘ืœืขื ืื™ื– ืึทื– cgroups ื ืขืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ื–ื›ึผืจื•ืŸ ื‘ืึทื ื™ืฅ ืื™ืŸ ื“ื™ ื ืึทืžืขืกืคึผืึทืกืข (container). ื•ื•ืขืŸ ืึทืœืข ืคึผืจืึทืกืขืกืึทื– ืื™ืŸ ื“ืขื cgroup ืึทืจื•ื™ืกื’ืึทื ื’, Docker ืจื™ืœื™ืกื™ื– ื“ื™ ื–ื›ึผืจื•ืŸ cgroup. ืึธื‘ืขืจ, "ื–ื™ืงืึธืจืŸ" ืื™ื– ื ื™ืฉื˜ ื‘ืœื•ื™ื– ืคึผืจืึธืฆืขืก ื–ื›ึผืจื•ืŸ. ื›ืึธื˜ืฉ ื“ืขืจ ืคึผืจืึธืฆืขืก ื–ื›ึผืจื•ืŸ ื–ื™ืš ืื™ื– ื ื™ื˜ ืžืขืจ ื’ืขื•ื•ื™ื™ื ื˜, ืขืก ืื•ื™ืก ืึทื– ื“ืขืจ ืงืขืจืŸ ื ืึธืš ืึทืกื™ื™ื ื“ ืงืึทืฉื˜ ืื™ื ื”ืึทืœื˜, ืึทื–ืึท ื•ื•ื™ ื“ืขื ื˜ืจื™ืขืก ืื•ืŸ ื™ื ืึธื“ืขืก (ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืื•ืŸ ื˜ืขืงืข ืžืขื˜ืึทื“ืึทื˜ืึท), ื•ื•ืึธืก ื–ืขื ืขืŸ ืงืึทืฉื˜ ืื™ืŸ ื“ื™ ื–ื›ึผืจื•ืŸ ืงื’ืจื•ืคึผ. ืคื•ืŸ ื“ื™ ืคึผืจืึธื‘ืœืขื ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’:

zombie cgroups: cgroups ื•ื•ืึธืก ื”ืึธื‘ืŸ ืงื™ื™ืŸ ืคึผืจืึทืกืขืกืึทื– ืื•ืŸ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืื•ื™ืกื’ืขืžืขืงื˜, ืึธื‘ืขืจ ื ืึธืš ื”ืึธื‘ืŸ ื–ื™ืงืึธืจืŸ ืึทืœืึทืงื™ื™ื˜ื™ื“ (ืื™ืŸ ืžื™ื™ืŸ ืคืึทืœ, ืคึฟื•ืŸ ื“ื™ ื“ืขื˜ืจื™ ืงืึทืฉ, ืึธื‘ืขืจ ืขืก ืงืขื ืขืŸ ืื•ื™ืš ื–ื™ื™ืŸ ืึทืœืึทืงื™ื™ื˜ื™ื“ ืคึฟื•ืŸ ื“ื™ ื‘ืœืึทื˜ ืงืึทืฉ ืึธื“ืขืจ tmpfs).

ื“ื™ ืงืขืจื ืขืœ ืก ื˜ืฉืขืง ืคื•ืŸ ืึทืœืข ื‘ืœืขื˜ืขืจ ืื™ืŸ ื“ื™ ืงืึทืฉ ื•ื•ืขืŸ ืคืจื™ื™ ืึท cgroup ืงืขื ืขืŸ ื–ื™ื™ืŸ ื–ื™ื™ืขืจ ืคึผืึทืžืขืœืขืš, ืึทื–ื•ื™ ื“ืขืจ ืคื•ื™ืœ ืคึผืจืึธืฆืขืก ืื™ื– ืื•ื™ืกื“ืขืจื•ื•ื™ื™ืœื˜: ื•ื•ืึทืจื˜ืŸ ื‘ื™ื– ื“ื™ ื‘ืœืขื˜ืขืจ ื–ืขื ืขืŸ ื’ืขื‘ืขื˜ืŸ ื•ื•ื™ื“ืขืจ, ืื•ืŸ ืœืขืกืึธืฃ ื•ื™ืกืžืขืงืŸ ื“ื™ cgroup ื•ื•ืขืŸ ื“ืขืจ ื–ื›ึผืจื•ืŸ ืื™ื– ืึทืงืฉืœื™ ื“ืืจืฃ. ื‘ื™ื– ื“ืขื ืคื•ื ื˜, cgroup ืื™ื– ื ืึธืš ื’ืขื ื•ืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ื•ื•ืขืŸ ืงืึทืœืขืงื˜ื™ื ื’ ืกื˜ืึทื˜ื™ืกื˜ื™ืง.

ืคึฟื•ืŸ ืึท ืคืึธืจืฉื˜ืขืœื•ื ื’ ืกื˜ืึทื ื“ืคึผื•ื™ื ื˜, ื–ื™ื™ ืžืงืจื™ื‘ ื–ื™ืงืึธืจืŸ ืคึฟืึทืจ ืคืึธืจืฉื˜ืขืœื•ื ื’: ืคืึทืจื’ื™ื›ืขืจืŸ ื“ื™ ืขืจืฉื˜ ืงืœื™ื ืึทืคึผ ื“ื•ืจืš ืœืึธื–ืŸ ืขื˜ืœืขื›ืข ืงืึทืฉื˜ ื–ื›ึผืจื•ืŸ ื”ื™ื ื˜ืขืจ. ื“ืึธืก ืื™ื– ื’ื•ื˜. ื•ื•ืขืŸ ื“ืขืจ ืงืขืจืŸ ื ื™ืฆื˜ ื“ื™ ืœืขืฆื˜ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืงืึทืฉื˜ ื–ื›ึผืจื•ืŸ, ื“ื™ cgroup ืื™ื– ื™ื•ื•ืขื ื˜ืฉืึทื•ื•ืึทืœื™ ืงืœื™ืจื“, ืึทื–ื•ื™ ืขืก ืงืขืŸ ื ื™ืฉื˜ ื–ื™ื™ืŸ ื’ืขืจื•ืคืŸ ืึท "ืจื™ื ืขืŸ". ืฆื•ื ื‘ืึทื“ื•ื™ืขืจืŸ, ื“ื™ ืกืคึผืขืฆื™ืคื™ืฉ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ื–ื•ื›ืŸ ืžืขืงืึทื ื™ื–ืึทื memory.stat ืื™ืŸ ื“ืขื ืงืขืจืŸ ื•ื•ืขืจืกื™ืข (4.9), ืงืึทืžื‘ื™ื™ื ื“ ืžื™ื˜ ื“ื™ ืจื™ื–ื™ืง ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื–ื™ืงืึธืจืŸ ืื•ื™ืฃ ืื•ื ื“ื–ืขืจ ืกืขืจื•ื•ืขืจืก, ืขืก ื ืขืžื˜ ืคื™ืœ ืžืขืจ ืฆื™ื™ื˜ ืฆื• ื•ืžืงืขืจืŸ ื“ื™ ืœืขืฆื˜ืข ืงืึทืฉื˜ ื“ืึทื˜ืŸ ืื•ืŸ ื•ื™ืกืžืขืงืŸ ืงื’ืจื•ืคึผ ื–ืึทืžื‘ื™ื–.

ืขืก ื˜ื•ืจื ืก ืื•ื™ืก ืึทื– ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹ืื•ื ื“ื–ืขืจ ื ืึธื•ื“ื– ื”ืึธื‘ืŸ ืึทื–ื•ื™ ืคื™ืœืข ืงื’ืจื•ืคึผืข ื–ืึทืžื‘ื™ื– ืึทื– ื“ื™ ืœื™ื™ืขื ืขืŸ ืื•ืŸ ืœื™ื™ื˜ืึทื ืกื™ ื™ืงืกื™ื“ ืึท ืจื’ืข.

ื“ื™ ื•ื•ืึธืจืงืึทืจืึธื•ื ื“ ืคึฟืึทืจ ื“ื™ ืงืึทื“ื•ื•ื™ืกืึธืจ ืึทืจื•ื™ืกื’ืขื‘ืŸ ืื™ื– ืฆื• ื’ืœื™ื™ืš ืคืจื™ื™ ื“ืขื˜ืจื™ืขืก / ื™ื ืึธื“ืขืก ืงืึทืฉื™ื– ืื™ื‘ืขืจ ื“ื™ ืกื™ืกื˜ืขื, ื•ื•ืึธืก ื’ืœื™ื™ืš ื™ืœื™ืžืึทื ื™ื™ืฅ ืœื™ื™ืขื ืขืŸ ืœื™ื™ื˜ืึทื ืกื™ ืื•ืŸ ื ืขืฅ ืœื™ื™ื˜ืึทื ืกื™ ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก, ื–ื™ื ื˜ ืงืœืึธืจ ื“ื™ ืงืึทืฉ ื˜ื•ืจื ืก ืื•ื™ืฃ ื“ื™ ืงืึทืฉื˜ ืงื’ืจื•ืคึผ ื–ืึทืžื‘ื™ ื‘ืœืขื˜ืขืจ ืื•ืŸ ื–ื™ื™ ื–ืขื ืขืŸ ืื•ื™ืš ื‘ืืคืจื™ื™ื˜. ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ืึท ืœื™ื™ื–ื•ื ื’, ืึธื‘ืขืจ ืขืก ืงืึทื ืคืขืจืžื– ื“ื™ ื’ืจื•ื ื˜ ืคื•ืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื.

ืขืก ืคืืจืงืขืจื˜ ืื•ื™ืก ืึทื– ืื™ืŸ ื ื™ื™ึทืขืจ ืงืขืจืŸ ื•ื•ืขืจืกื™ืขืก (4.19+) ืจื•ืคืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื™ื– ื™ืžืคึผืจื•ื•ื•ื“ memory.stat, ืึทื–ื•ื™ ืกื•ื•ื™ื˜ืฉื™ื ื’ ืฆื• ื“ืขื ืงืขืจืŸ ืคืึทืจืคืขืกื˜ื™ืงื˜ ื“ื™ ืคึผืจืึธื‘ืœืขื. ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, ืžื™ืจ ื”ืึธื‘ืŸ ืžื›ืฉื™ืจื™ื ืฆื• ื“ืขื˜ืขืงื˜ ืคึผืจืึธื‘ืœืขืžืึทื˜ื™ืง ื ืึธื•ื“ื– ืื™ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืงืœืึทืกื˜ืขืจื–, ื’ืจื™ื™ืคืึทืœื™ ื•ื™ืกืžืขืงืŸ ื–ื™ื™ ืื•ืŸ ืจืขื‘ืึธืึธื˜ ื–ื™ื™. ืžื™ืจ ืงืึทื ืึทืœืข ื“ื™ ืงืœืึทืกื˜ืขืจื–, ื’ืขืคื•ื ืขืŸ ื ืึธื•ื“ื– ืžื™ื˜ ื”ื•ื™ืš ื’ืขื ื•ื’ ืœื™ื™ื˜ืึทื ืกื™ ืื•ืŸ ืจืขื‘ืึธืึธื˜ ื–ื™ื™. ื“ืึธืก ื”ืึธื˜ ืื•ื ื“ื– ืฆื™ื™ื˜ ืฆื• ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ื“ื™ ืึทืก ืื•ื™ืฃ ื“ื™ ืจื•ืขืŸ ืกืขืจื•ื•ืขืจืก.

ืกื•ืžืžื™ื ื’ ืึทืจื•ื™ืฃ

ื•ื•ื™ื™ึทืœ ื“ืขื ื–ืฉื•ืง ืคืืจืฉื˜ืืคื˜ RX NIC ืจื™ื™ ืคึผืจืึทืกืขืกื™ื ื’ ืคึฟืึทืจ ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ ืžื™ืœื™ืกืขืงืึทื ื“ื–, ืขืก ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืกืœื™ ื’ืขืคึฟื™ืจื˜ ื‘ื™ื™ื“ืข ื”ื•ื™ืš ืœื™ื™ื˜ืึทื ืกื™ ืื•ื™ืฃ ืงื•ืจืฅ ืงืึทื ืขืงืฉืึทื ื– ืื•ืŸ ืžื™ื˜ืŸ ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ ืœื™ื™ื˜ืึทื ืกื™, ืึทื–ืึท ื•ื•ื™ ืฆื•ื•ื™ืฉืŸ MySQL ืจื™ืงื•ื•ืขืก ืื•ืŸ ืขื ื˜ืคืขืจ ืคึผืึทืงื™ืฅ.

ืคืืจืฉื˜ืื ื“ ืื•ืŸ ืžื™ื™ื ื˜ื™ื™ื ื™ื ื’ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ื“ื™ ืžืขืจืกื˜ ืคื•ื ื“ืึทืžืขื ื˜ืึทืœ ืกื™ืกื˜ืขืžืขืŸ, ืึทื–ืึท ื•ื•ื™ Kubernetes, ืื™ื– ืงืจื™ื˜ื™ืฉ ืคึฟืึทืจ ื“ื™ ืจื™ืœื™ื™ืึทื‘ื™ืœืึทื˜ื™ ืื•ืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ ืึทืœืข ืกืขืจื•ื•ื™ืกืขืก ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื–ื™ื™. ื™ืขื“ืขืจ ืกื™ืกื˜ืขื ืื™ืจ ืœื•ื™ืคืŸ ื‘ืขื ืขืคื™ืฅ ืคื•ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’