ื•ื•ื™ ืงืขืŸ ืึท Kubernetes ืคึผืึธื“ ื‘ืึทืงื•ืžืขืŸ ืึทืŸ IP ืึทื“ืจืขืก?

ื ืื˜ื™ืฅ. ื˜ืจืึทื ืกืœ.: ื“ืขืจ ืึทืจื˜ื™ืงืœ, ื’ืขืฉืจื™ื‘ืŸ ื“ื•ืจืš ืึท SRE ื™ื ื–ืฉืขื ื™ืจ ืคื•ืŸ ืœื™ื ืงืขื“ื™ืŸ, ื’ื™ื™ื˜ ืื™ืŸ ื“ืขื˜ืึทืœ ื•ื•ืขื’ืŸ ื“ื™ ื™ื ืขืจ ืžืึทื’ื™ืฉ ืื™ืŸ Kubernetes - ืžืขืจ ื’ืขื ื•ื™, ื“ื™ ื™ื ื˜ืขืจืึทืงืฉืึทืŸ ืคื•ืŸ CRI, CNI ืื•ืŸ kube-apiserver - ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ื•ื•ืขืŸ ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืคึผืึธื“ ื“ืึทืจืฃ ื–ื™ื™ืŸ ืึทืกื™ื™ื ื“ ืึทืŸ IP ืึทื“ืจืขืก.

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

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

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

ืขื˜ืœืขื›ืข ื™ืงืขืจื“ื™ืง ืงืึทื ืกืขืคึผืก

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

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

ืงืึทื ื˜ื™ื™ื ืขืจื– ืื•ื™ืฃ ืื™ื™ืŸ ื‘ืึทืœืขื‘ืึธืก

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

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

ื•ื•ื™ ืงืขืŸ ืึท Kubernetes ืคึผืึธื“ ื‘ืึทืงื•ืžืขืŸ ืึทืŸ IP ืึทื“ืจืขืก?

ืงืึทื ื˜ื™ื™ื ืขืจื– ืื•ื™ืฃ ืคืึทืจืฉื™ื“ืขื ืข ืžื—ื ื•ืช

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

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

ื•ื•ื™ ืงืขืŸ ืึท Kubernetes ืคึผืึธื“ ื‘ืึทืงื•ืžืขืŸ ืึทืŸ IP ืึทื“ืจืขืก?
ื‘ืึทืžืขืจืงื•ื ื’: ื“ืึธืก ืื™ื– ื‘ืœื•ื™ื– ืื™ื™ืŸ ื•ื•ืขื’ ืฆื• ืึธืจื’ืึทื ื™ื–ื™ืจืŸ ื ืขืฅ ืงืึธืžื•ื ื™ืงืึทืฆื™ืข ืฆื•ื•ื™ืฉืŸ ืงืึทื ื˜ื™ื™ื ืขืจื–.

ื•ื•ืึธืก ืื™ื– CRI?

CRI (Container Runtime Interface) ืื™ื– ืึท ืคึผืœื•ื’ื™ืŸ ืึทื– ืึทืœืึทื•ื– ืงื•ื‘ืขืœืขื˜ ืฆื• ื ื•ืฆืŸ ืคืึทืจืฉื™ื“ืขื ืข ืงืึทื ื˜ื™ื™ื ืขืจ ืจื•ื ื˜ื™ืžืข ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ. ื“ื™ CRI API ืื™ื– ื’ืขื‘ื•ื™ื˜ ืื™ืŸ ืคืึทืจืฉื™ื“ืŸ ืจื•ื ื˜ื™ืžื–, ืึทื–ื•ื™ ื™ื•ื–ืขืจื– ืงืขื ืขืŸ ืงืœื™ื™ึทื‘ืŸ ื“ื™ ืจื•ื ื˜ื™ืžืข ืคื•ืŸ โ€‹โ€‹ื–ื™ื™ืขืจ ื‘ืจื™ืจื”.

ื•ื•ืึธืก ืื™ื– CNI?

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

ืึทืœืึทืงื™ื™ืฉืึทืŸ ืคื•ืŸ ืกื•ื‘ื ืขืฅ ืฆื• ื ืึธื•ื“ื– ืคึฟืึทืจ ืึทืกื™ื™ื ื™ื ื’ IP ืึทื“ืจืขืกืขืก ืฆื• ืคึผืึธื“ืก

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

ื ืึธื“ืข IPAM ืงืึธื ื˜ืจืึธืœืœืขืจ

ื•ื•ืขืŸ nodeipam ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ื•ื•ื™ ืึท ืคืึธืŸ ืคึผืึทืจืึทืžืขื˜ืขืจ --controllers ืงื•ื‘ืข-ืงืึธื ื˜ืจืึธืœืœืขืจ-ืคืึทืจื•ื•ืึทืœื˜ืขืจ, ืขืก ืึทืœืึทืงื™ื™ืฅ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืกื•ื‘ื ืขื˜ (ืคึผืึธื“ืกื™ื“ืจ) ืฆื• ื™ืขื“ืขืจ ื ืึธื“ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืงื ื•ื™ืœ ืกื™ื“ืจ (ื“"ื” ื“ื™ ืงื™ื™ื˜ ืคื•ืŸ IP ืึทื“ืจืขืกืขืก ืคึฟืึทืจ ื“ื™ ืงื ื•ื™ืœ ื ืขืฅ). ื–ื™ื ื˜ ื“ื™ ืคึผืึธื“ืกื™ื“ืจืก ื˜ืึธืŸ ื ื™ื˜ ืึธื•ื•ื•ืขืจืœืึทืคึผ, ืขืก ืื™ื– ืžืขื’ืœืขืš ืคึฟืึทืจ ื™ืขื“ืขืจ ืคึผืึธื“ ืฆื• ื–ื™ื™ืŸ ืึทืœืึทืงื™ื™ื˜ื™ื“ ืึท ื™ื™ื ืฆื™ืง IP ืึทื“ืจืขืก.

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

$ kubectl get no <nodeName> -o json | jq '.spec.podCIDR'
10.244.0.0/24

ืงื•ื‘ืขืœืขื˜, ืงืึทื ื˜ื™ื™ื ืขืจ ืจื•ื ื˜ื™ืžืข ืื•ืŸ CNI ืคึผืœื•ื’ื™ื ืก: ื•ื•ื™ ื“ืึธืก ืึทืœืข ืึทืจื‘ืขื˜

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

ืกืงืขื“ื–ืฉื•ืœื™ื ื’ ืึท ืคึผืึธื“ ืฆื• ืึท ื–ื™ื›ืขืจ ื ืึธื“ืข ื˜ืจื™ื’ืขืจื– ื“ื™ ืคืืœื’ืขื ื“ืข ืงื™ื™ื˜ ืคื•ืŸ ื’ืขืฉืขืขื ื™ืฉืŸ:

ื•ื•ื™ ืงืขืŸ ืึท Kubernetes ืคึผืึธื“ ื‘ืึทืงื•ืžืขืŸ ืึทืŸ IP ืึทื“ืจืขืก?

FAQ: ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืคื•ืŸ Containerd CRI ืคึผืœื•ื’ื™ื ืก.

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

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

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

ื“ืขืจ ืึธืจื˜ ืคื•ืŸ ื“ื™ CNI ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงืึทืกื˜ืึทืžื™ื™ื–ื“; ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ืขืก ืื™ื– ืื™ืŸ /etc/cni/net.d/<config-file>. ืงื ื•ื™ืœ ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจืก ื–ืขื ืขืŸ ืื•ื™ืš ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ื™ื ืกื˜ืึธืœื™ื ื’ CNI ืคึผืœื•ื’ื™ื ืก ืื•ื™ืฃ ื™ืขื“ืขืจ ืงื ื•ื™ืœ ื ืึธื“ืข. ื–ื™ื™ืขืจ ืึธืจื˜ ืื™ื– ืื•ื™ืš ืงื•ืกื˜ืึธืžื™ื–ืึทื‘ืœืข; ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ - /opt/cni/bin.

ื•ื•ืขืŸ ืื™ืจ ื ื•ืฆืŸ ืงืึทื ื˜ื™ื™ื ืขืจื“, ื“ื™ ืคึผืึทื˜ืก ืคึฟืึทืจ ื“ื™ ืคึผืœื•ื’ื™ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื•ืŸ ื‘ื™ื ืึทืจื™ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืฉื˜ืขืœืŸ ืื™ืŸ ื“ื™ ืึธืคึผื˜ื™ื™ืœื•ื ื’ [plugins.ยซio.containerd.grpc.v1.criยป.cni] ะฒ containerd ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข.

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

  • ืคืœืึทื ื ืขืœื“ (ืคืœืึทื ื ืขืœ ืก ื“ื™ื™ืžืึทืŸ) ืื™ื– ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ืื™ื ืกื˜ืึทืœื™ืจืŸ ืื™ืŸ ืึท ืงื ื•ื™ืœ ื•ื•ื™ ืึท ื“ืึทืขืžืึธื ืกืขื˜ ืžื™ื˜ install-cni ื•ื•ื™ ื™ื ื™ื˜ ืงืึทื ื˜ื™ื™ื ืขืจ.
  • Install-cni ืงืจื™ื™ื™ืฅ CNI ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข (/etc/cni/net.d/10-flannel.conflist) ืื•ื™ืฃ ื™ืขื“ืขืจ ื ืึธื“ืข.
  • ืคืœืึทื ื ืขืœื“ ืงืจื™ื™ื™ืฅ ืึท ื•ื•ืงืกืœืึทืŸ ืžื™ื˜ืœ, ืจื™ื˜ืจื™ื•ื•ื– ื ืขืฅ ืžืขื˜ืึทื“ืึทื˜ืึท ืคื•ืŸ ื“ื™ ืึทืคึผื™ ืกืขืจื•ื•ืขืจ ืื•ืŸ ืžืึธื ื™ื˜ืึธืจืก ืคึผืึธื“ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ. ื•ื•ื™ ื–ื™ื™ ื–ืขื ืขืŸ ื‘ืืฉืืคืŸ, ืขืก ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฅ ืจื•ืฅ ืฆื• ืึทืœืข ืคึผืึธื“ืก ืื™ื‘ืขืจ ื“ื™ ืงื ื•ื™ืœ.
  • ื“ื™ ืจื•ืฅ ืœืึธื–ืŸ ืคึผืึธื“ืก ืฆื• ื™ื‘ืขืจื’ืขื‘ืŸ ืžื™ื˜ ื™ืขื“ืขืจ ืื ื“ืขืจืข ื“ื•ืจืš IP ืึทื“ืจืขืกืขืก.

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

ื“ืึธ ืื™ื– ืึท ื“ื™ืึทื’ืจืึทืžืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ื™ื ื˜ืขืจืึทืงืฉืึทืŸ ืฆื•ื•ื™ืฉืŸ ื“ื™ Containerd CRI ืคึผืœื•ื’ื™ืŸ ืื•ืŸ ื“ื™ CNI ืคึผืœื•ื’ื™ื ืก:

ื•ื•ื™ ืงืขืŸ ืึท Kubernetes ืคึผืึธื“ ื‘ืึทืงื•ืžืขืŸ ืึทืŸ IP ืึทื“ืจืขืก?

ื•ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ืื•ื™ื‘ืŸ, ื“ื™ ืงื•ื‘ืขืœืขื˜ ืจื•ืคื˜ ื“ื™ Containerd CRI ืคึผืœื•ื’ื™ืŸ ืฆื• ืฉืึทืคึฟืŸ ื“ื™ ืคึผืึธื“, ื•ื•ืึธืก ื“ืึทืŸ ืจื•ืคื˜ ื“ื™ CNI ืคึผืœื•ื’ื™ืŸ ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ื“ื™ ืคึผืึธื“ ื ืขืฅ. ืื™ืŸ ื˜ืืŸ ืึทื–ื•ื™, ื“ื™ ื ืขืฅ ืฉืคึผื™ื™ึทื–ืขืจ ืก CNI ืคึผืœื•ื’ื™ืŸ ืจื•ืคื˜ ืื ื“ืขืจืข ื”ืึทืจืฅ CNI ืคึผืœื•ื’ื™ื ืก ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ืคืึทืจืฉื™ื“ืŸ ืึทืกืคึผืขืงืฅ ืคื•ืŸ ื“ื™ ื ืขืฅ.

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

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

CNI ืคึผืœื•ื’ื™ืŸ ืคืœืึทื ืึทืœ

ื•ื•ืขืŸ ื ื™ืฆืŸ ืคืœืึทื ืึทืœ ื•ื•ื™ ืึท ื ืขืฅ ืฉืคึผื™ื™ึทื–ืขืจ, ื“ื™ Containerd CRI ืงืึธืžืคึผืึธื ืขื ื˜ ืจื•ืคื˜ CNI ืคึผืœื•ื’ื™ืŸ ืคืœืึทื ืึทืœื ื™ืฆืŸ ื“ื™ CNI ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข /etc/cni/net.d/10-flannel.conflist.

$ cat /etc/cni/net.d/10-flannel.conflist
{
  "name": "cni0",
  "plugins": [
    {
      "type": "flannel",
      "delegate": {
         "ipMasq": false,
        "hairpinMode": true,
        "isDefaultGateway": true
      }
    }
  ]
}

ื“ื™ ืคืœืึทื ืึทืœ ืงื ื™ ืคึผืœื•ื’ื™ืŸ ืึทืจื‘ืขื˜ ืื™ืŸ ืงืึทื ื“ื–ืฉืึทื ื’ืงืฉืึทืŸ ืžื™ื˜ ืคืœืึทื ื ืขืœื“. ื‘ืขืฉืึทืก ืกื˜ืึทืจื˜ืึทืคึผ, ืคืœืึทื ื ืขืœื“ ืจื™ื˜ืจื™ื•ื•ื– ืคึผืึธื“ืกื™ื“ืจ ืื•ืŸ ืื ื“ืขืจืข ื ืขืฅ-ืคึฟืึทืจื‘ื•ื ื“ืขื ืข ื“ืขื˜ืึทื™ืœืก ืคื•ืŸ ื“ื™ ืึทืคึผื™ ืกืขืจื•ื•ืขืจ ืื•ืŸ ืกืึทื•ื•ืขืก ื–ื™ื™ ืฆื• ืึท ื˜ืขืงืข /run/flannel/subnet.env.

FLANNEL_NETWORK=10.244.0.0/16 
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450 
FLANNEL_IPMASQ=false

ื“ื™ ืคืœืึทื ืึทืœ ืงื ื™ ืคึผืœื•ื’ื™ืŸ ื ื™ืฆื˜ ื“ืึทื˜ืŸ ืคึฟื•ืŸ /run/flannel/subnet.env ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ืื•ืŸ ืจื•ืคืŸ ื“ื™ CNI ื‘ืจื™ืง ืคึผืœื•ื’ื™ืŸ.

CNI ืคึผืœื•ื’ื™ืŸ ื‘ืจื™ืง

ื“ืขื ืคึผืœื•ื’ื™ืŸ ืื™ื– ื’ืขืจื•ืคืŸ ืžื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ:

{
  "name": "cni0",
  "type": "bridge",
  "mtu": 1450,
  "ipMasq": false,
  "isGateway": true,
  "ipam": {
    "type": "host-local",
    "subnet": "10.244.0.0/24"
  }
}

ื•ื•ืขืŸ ื’ืขืจื•ืคืŸ ืคึฟืึทืจ ื“ื™ ืขืจืฉื˜ืขืจ ืžืึธืœ, ืขืก ืงืจื™ื™ื™ืฅ ืึท ืœื™ื ื•ืงืก ื‘ืจื™ืง ืžื™ื˜ ยซnameยป: ยซcni0ยป, ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ื™ื–ืŸ ืื™ืŸ ื“ื™ ืงืึธื ืคื™ื’ื•ืจืึทื˜ื™ืึธืŸ. ื“ืขืจื ืึธืš, ืึท ื˜ื” ืคึผืึธืจ ืื™ื– ื‘ืืฉืืคืŸ ืคึฟืึทืจ ื™ืขื“ืขืจ ืคึผืึธื“. ืื™ื™ืŸ ืกื•ืฃ ืคื•ืŸ ืขืก ืื™ื– ืงืึธื ื ืขืงื˜ืขื“ ืฆื• ื“ื™ ื ืขืฅ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ืงืึทื ื˜ื™ื™ื ืขืจ, ื“ื™ ืื ื“ืขืจืข ืื™ื– ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ื“ื™ ืœื™ื ื•ืงืก ื‘ืจื™ืง ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ื ืขืฅ. CNI ืคึผืœื•ื’ื™ืŸ ื‘ืจื™ืง ืงืึทื ืขืงืฅ ืึทืœืข ื‘ืึทืœืขื‘ืึธืก ืงืึทื ื˜ื™ื™ื ืขืจื– ืฆื• ืึท ืœื™ื ื•ืงืก ื‘ืจื™ืง ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ื ืขืฅ.

ื ืึธืš ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ื•ื•ืขื˜ื” ืคึผืึธืจ, ื“ื™ ื‘ืจื™ืง ืคึผืœื•ื’ื™ืŸ ืจื•ืคื˜ ื“ื™ ื‘ืึทืœืขื‘ืึธืก-ื”ื™ื’ืข IPAM CNI ืคึผืœื•ื’ื™ืŸ. ื“ื™ IPAM ืคึผืœื•ื’ื™ืŸ ื˜ื™ืคึผ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงืึทื ืคื™ื’ื™ืขืจื“ ืื™ืŸ ื“ื™ CNI ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื•ื•ืึธืก ื“ื™ CRI ืคึผืœื•ื’ื™ืŸ ื ื™ืฆื˜ ืฆื• ืจื•ืคืŸ ื“ื™ ืคืœืึทื ืึทืœ ืงื ื™ ืคึผืœื•ื’ื™ืŸ.

ื”ืึธืกื˜-ื”ื™ื’ืข IPAM CNI ืคึผืœื•ื’ื™ื ืก

ื‘ืจื™ืง CNI ืจื•ืคื˜ ื‘ืึทืœืขื‘ืึธืก-ื”ื™ื’ืข IPAM ืคึผืœื•ื’ื™ืŸ CNI ืžื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ:

{
  "name": "cni0",
  "ipam": {
    "type": "host-local",
    "subnet": "10.244.0.0/24",
    "dataDir": "/var/lib/cni/networks"
  }
}

ื”ืึธืกื˜-ื”ื™ื’ืข IPAM ืคึผืœื•ื’ื™ืŸ (IP Aื“ื“ืจืขืกืก Mืึทื ืึทื’ืขืžืขื ื˜ - ื™ืคึผ ืึทื“ืจืขืก ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’) ืงืขืจื˜ ื“ื™ IP ืึทื“ืจืขืก ืคึฟืึทืจ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ืคึฟื•ืŸ ื“ื™ ืกื•ื‘ื ืขื˜ ืื•ืŸ ืกื˜ืึธืจื– ื“ื™ ืึทืœืึทืงื™ื™ื˜ื™ื“ IP ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ืื™ืŸ ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ ื“ื™ ืึธืคึผื˜ื™ื™ืœื•ื ื’ dataDir - /var/lib/cni/networks/<network-name=cni0>/<ip>. ื“ืขืจ ื˜ืขืงืข ื›ึผื•ืœืœ ื“ื™ ID ืคื•ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ืฆื• ื•ื•ืึธืก ื“ื™ IP ืึทื“ืจืขืก ืื™ื– ืึทืกื™ื™ื ื“.

ื•ื•ืขืŸ ืื™ืจ ืจื•ืคืŸ ื“ืขื ื‘ืึทืœืขื‘ืึธืก-ื”ื™ื’ืข IPAM ืคึผืœื•ื’ื™ืŸ, ืขืก ืงืขืจื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ื“ืึทื˜ืŸ:

{
  "ip4": {
    "ip": "10.244.4.2",
    "gateway": "10.244.4.3"
  },
  "dns": {}
}

ืงื™ืฆืขืจ

Kube-controller-manager ืึทืกื™ื™ื ื– ืึท ืคึผืึธื“ืกื™ื“ืจ ืฆื• ื™ืขื“ืขืจ ื ืึธื“ืข. ื“ื™ ืคึผืึธื“ืก ืคื•ืŸ ื™ืขื“ืขืจ ื ืึธื“ืข ื‘ืึทืงื•ืžืขืŸ IP ืึทื“ืจืขืกืขืก ืคึฟื•ืŸ ื“ื™ ืึทื“ืจืขืก ืคึผืœืึทืฅ ืื™ืŸ ื“ื™ ืึทืœืึทืงื™ื™ื˜ื™ื“ ืคึผืึธื“ืกื™ื“ืจ ืงื™ื™ื˜. ื–ื™ื ื˜ ื“ื™ ืคึผืึธื“ืกื™ื“ืจืก ืคื•ืŸ ื“ื™ ื ืึธื•ื“ื– ื˜ืึธืŸ ื ื™ื˜ ืึธื•ื•ื•ืขืจืœืึทืคึผ, ืึทืœืข ืคึผืึธื“ืก ื‘ืึทืงื•ืžืขืŸ ื™ื™ื ืฆื™ืง IP ืึทื“ืจืขืกืขืก.

ื“ื™ Kubernetes ืงื ื•ื™ืœ ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ ืงืึทื ืคื™ื’ื™ืขืจ ืื•ืŸ ื™ื ืกื˜ืึธืœื– ื“ื™ ืงื•ื‘ืขืœืขื˜, ืงืึทื ื˜ื™ื™ื ืขืจ ืจื•ื ื˜ื™ืžืข, ื ืขืฅ ืฉืคึผื™ื™ึทื–ืขืจ ืึทื’ืขื ื˜, ืื•ืŸ ืงืึทืคึผื™ื– ื“ื™ CNI ืคึผืœื•ื’ื™ื ืก ืฆื• ื™ืขื“ืขืจ ื ืึธื“ืข. ื‘ืขืฉืึทืก ืกื˜ืึทืจื˜ืึทืคึผ, ื“ืขืจ ื ืขืฅ ืฉืคึผื™ื™ึทื–ืขืจ ืึทื’ืขื ื˜ ื“ื–ืฉืขื ืขืจื™ื™ืฅ ืึท CNI ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ. ื•ื•ืขืŸ ืึท ืคึผืึธื“ ืื™ื– ืกืงืขื“ื–ืฉื•ืœื“ ืฆื• ืึท ื ืึธื“ืข, ื“ื™ ืงื•ื‘ืขืœืขื˜ ืจื•ืคื˜ ื“ื™ CRI ืคึผืœื•ื’ื™ืŸ ืฆื• ืฉืึทืคึฟืŸ ืขืก. ื“ืขืจื ืึธืš, ืื•ื™ื‘ ืงืึทื ื˜ื™ื™ื ืขืจื“ ืื™ื– ื’ืขื ื™ืฆื˜, ื“ื™ Containerd CRI ืคึผืœื•ื’ื™ืŸ ืจื•ืคื˜ ื“ื™ CNI ืคึผืœื•ื’ื™ืŸ ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ ื“ื™ CNI ืงืึทื ืคื™ื’ื™ืขืจ ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ื“ื™ ื ืขืฅ ืคื•ืŸ ื“ื™ ืคึผืึธื“. ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ื“ื™ ืคึผืึธื“ ื ืขืžื˜ ืึทืŸ IP ืึทื“ืจืขืก.

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

ืจืขืคึฟืขืจืขื ืฆืŸ

ืงืึทื ื˜ื™ื™ื ืขืจื– ืื•ืŸ ื ืขืฅ

ื•ื•ื™ ื˜ื•ื˜ ืคืœืึทื ืึทืœ ืึทืจื‘ืขื˜?

CRI ืื•ืŸ CNI

ืคึผืก ืคื•ืŸ ืื™ื‘ืขืจื–ืขืฆืขืจ

ืœื™ื™ืขื ืขืŸ ืื•ื™ืš ืื•ื™ืฃ ืื•ื ื“ื–ืขืจ ื‘ืœืึธื’:

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

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