เบซเบกเบฒเบโเปเบซเบโ. เปเบ.: เบเบปเบเบเบงเบฒเบกเบเบตเป, เบเบฝเบเปเบเบเบงเบดเบชเบฐเบงเบฐเบเบญเบ SRE เบเบฒเบ LinkedIn, เปเบเบปเปเบฒเปเบเปเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเปเบฝเบงเบเบฑเบ magic เบเบฒเบเปเบ Kubernetes - เบซเบผเบฒเบเบเบตเปเบเบฑเบเปเบเบ, เบเบฒเบเปเบเปเบเบญเบเบเบญเบ CRI, CNI เปเบฅเบฐ kube-apiserver - เบเบตเปเปเบเบตเบเบเบทเปเบเปเบเปเบงเบฅเบฒเบเบตเป pod เบเปเปเปเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบกเบญเบเบซเบกเบฒเบเบเบตเปเบขเบนเป IP.
เบซเบเบถเปเบเปเบเบเปเปเบเปเบฒเบเบปเบเบเบทเปเบเบเบฒเบ
เปเบกเบทเปเบญเบเปเบญเบเปเบฅเบตเปเบกเบเบปเปเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ Kubernetes เบเปเบฒเบญเบดเบ, เบกเบฑเบเบเปเปเบเบฑเบเปเบเบเบเบฑเบเบเปเบญเบเบงเปเบฒ pods เปเบเปเบฎเบฑเบเบเบตเปเบขเบนเป IP เบเบญเบเบเบงเบเปเบเบปเบฒเปเบเปเปเบเบงเปเบ. เปเบเบดเบเปเบกเปเบเบงเปเบฒเบกเบตเบเบงเบฒเบกเปเบเบปเปเบฒเปเบเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบญเบปเบเบเบฐเบเบญเบเปเบเปเบฅเบฐเบเบปเบ, เบกเบฑเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบเบตเปเบเบฐเบเบดเบเบเบฐเบเบฒเบเบฒเบเบเบงเบเบกเบฑเบเปเบฎเบฑเบเบงเบฝเบเบฎเปเบงเบกเบเบฑเบ. เบเบปเบงเบขเปเบฒเบ, เบเปเบญเบเบฎเบนเปเบงเปเบฒ plugins CNI เปเบกเปเบเบซเบเบฑเบ, เปเบเปเบเปเบญเบเบเปเปเบฎเบนเปเบงเปเบฒเบเบงเบเบกเบฑเบเบเบทเบเปเบญเบตเปเบเปเบเบงเปเบ. เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเบเบฝเบเบเบปเบเบเบงเบฒเบกเบเบตเปเปเบเบทเปเบญเปเบเปเบเบเบฑเบเบเบงเบฒเบกเบฎเบนเปเบเปเบฝเบงเบเบฑเบเบญเบปเบเบเบฐเบเบญเบเปเบเบทเบญเบเปเบฒเบเบเปเบฒเบเปเปเบฅเบฐเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบฎเปเบงเบกเบเบฑเบเปเบเบเบธเปเบก Kubernetes, เปเบเบดเปเบเบเปเบงเบเปเบซเปเปเบเปเบฅเบฐเบเบฑเบเปเบเปเบฎเบฑเบเบเบตเปเบขเบนเป IP เบเบญเบเบเบปเบเปเบญเบ.
เบกเบตเบงเบดเบเบตเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบเบฒเบเบเบฑเบเบเบฑเปเบเปเบเบทเบญเบเปเบฒเบเปเบ Kubernetes, เบเบทเบเบฑเบเบเบฑเบเบกเบตเบเบปเบงเปเบฅเบทเบญเบ runtime เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบธ. เบชเบดเปเบเบเบดเบกเบเบตเปเบเบฐเปเบเป
เบเบฒเบเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบทเปเบเบเบฒเบ
เบเบนเปเบเบญเบเปเบเบเปเบเบต เปเบฅเบฐเปเบเบทเบญเบเปเบฒเบ: เบเบฒเบเบฅเบงเบกเปเบเบเบซเบเปเป
เบกเบตเบซเบผเบฒเบเบชเบดเปเบเบเบดเบกเบเบตเปเบเบตเปเบฅเบตเบเปเบเบญเบดเบเปเบเบตเปเบเบฑเบเบเบตเปเบญเบฐเบเบดเบเบฒเบเบงเบดเบเบตเบเบฒเบเบเบฑเบเบเบธเบเบดเบเบเปเปเบชเบทเปเบชเบฒเบเบเบฑเบเบเบฑเบเปเบฅเบฐเบเบฑเบเบเปเบฒเบเปเบเบทเบญเบเปเบฒเบ. เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฝเบเปเบเปเบเบฐเปเบซเปเบเบฒเบเบฅเบงเบกเบเบปเปเบงเปเบเบเบญเบเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบทเปเบเบเบฒเบเปเบฅเบฐเบเปเบฒเบเบฑเบเบเบปเบงเปเบญเบเบเบฑเบเบงเบดเบเบตเบเบฒเบเบซเบเบถเปเบ, เปเบเบดเปเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบชเปเบฒเบเบเบปเบง Linux เปเบฅเบฐเบซเบธเปเบกเบซเปเปเบซเบธเปเบกเบซเปเป. เบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบทเบเบฅเบฐเปเบงเบฑเปเบ, เบเบฑเบเบเบฑเปเบเปเบเปเบซเบปเบงเบเปเปเบเบญเบเปเบเบทเบญเบเปเบฒเบเบเบนเปเบเบญเบเปเบเบเปเบเบตเบกเบฑเบเบชเบปเบกเบเบงเบเปเบเปเบฎเบฑเบเบเบปเบเบเบงเบฒเบกเปเบเบเบเปเบฒเบเบซเบฒเบ. เบฅเบดเปเบเบเปเปเบเบซเบฒเบเบฒเบเบชเบดเปเบเบเบดเบกเบเบตเปเบกเบตเบเบงเบฒเบกเปเบเบปเปเบฒเปเบเปเบเบเบชเบฐเปเบเบฒเบฐ เปเบฅเบฐเบเบฒเบเบชเบถเบเบชเบฒเบเบฐเบเบทเบเบชเบฐเปเบญเบเปเบซเปเบเปเบฒเบเบฅเบธเปเบกเบเบตเป.
เบเบฑเบเบเบธเบขเบนเปเปเบเบซเบเบถเปเบเปเบเบปเปเบฒเบเบฒเบ
เบงเบดเบเบตเปเบถเปเบเปเบเบเบฒเบเบเบฑเบเบเบฒเบเบชเบทเปเบชเบฒเบเบเปเบฒเบเบเบตเปเบขเบนเป IP เบฅเบฐเบซเบงเปเบฒเบเบเปเบญเบเบเบฑเบเบเบธเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเปเบฎเบเบเบฝเบงเบเบฑเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบชเปเบฒเบเบเบปเบง Linux. เบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเบเบตเป, เบญเบธเบเบฐเบเบญเบ virtual เบเบทเบเบชเปเบฒเบเบเบถเปเบเปเบ Kubernetes (เปเบฅเบฐ Docker)
เบเบนเปเบเบญเบเปเบเบเปเบเบตเบเบฑเบเปเบปเบเบขเบนเปเปเบเปเบฎเบเบเบฝเบงเบเบฑเบเบกเบตเบชเบปเปเบเปเบถเปเบเบเบญเบ veth เปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบปเบงเบเบตเปเปเบเบปเบฒเปเบเบปเปเบฒเบชเบฒเบกเบฒเบเบชเบทเปเบชเบฒเบเบเบฑเบเบเบฑเบเปเบเปเบเปเบฒเบเบเบตเปเบขเบนเป IP. เบเบปเบง Linux เบเบฑเบเบกเบตเบเบตเปเบขเบนเป IP เปเบฅเบฐเปเบฎเบฑเบเบซเบเปเบฒเบเบตเปเปเบเบฑเบเบเบฐเบเบนเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฒเบฅเบฐเบเบญเบ egress เบเบฒเบ pods เบเบฒเบเบเบฒเบเบชเปเบฒเบฅเบฑเบ nodes เบญเบทเปเบเป.
เบเบฑเบเบเบธเบขเบนเปเปเบเปเบเบปเปเบฒเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ
Packet encapsulation เปเบกเปเบเบงเบดเบเบตเบเบฒเบเบซเบเบถเปเบเบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเป containers เปเบ nodes เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบดเบเบเปเปเบชเบทเปเบชเบฒเบเบเบฑเบเบเบฑเบเปเบฅเบฐเบเบฑเบเปเบเบเปเบเปเบเบตเปเบขเบนเป IP. เบขเบนเป Flannel, เปเบเบฑเบเปเบเปเบฅเบขเบตเปเบกเปเบเบฎเบฑเบเบเบดเบเบเบญเบเบชเปเบฒเบฅเบฑเบเปเบญเบเบฒเบเบเบตเป.
เปเบเบเบธเปเบก Kubernetes, Flannel เบชเปเบฒเบเบญเบธเบเบฐเบเบญเบ vxlan เปเบฅเบฐเบเบฑเบเบเบธเบเบเบฒเบเบฐเบฅเบฒเบเปเบชเบฑเปเบเบเบฒเบเปเบเปเบเปเบฅเบฐ node เบเบฒเบกเบเบงเบฒเบกเปเบซเบกเบฒเบฐเบชเบปเบก. เปเบเปเบฅเบฐเปเบเบฑเบเปเบเบฑเบเบเบตเปเบเบฑเปเบเปเบงเปเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบธเบขเบนเปเปเบเปเบฎเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบฐเบเปเบฒเบเบญเบธเบเบฐเบเบญเบ vxlan เปเบฅเบฐเบเบทเบเบซเบธเปเบกเบขเบนเปเปเบเบเบธเบ UDP. เบขเบนเปเบเบตเปเบเบธเบเบซเบกเบฒเบเบเบฒเบเบเบฒเบ, เปเบเบฑเบเปเบเบฑเบเบเบตเปเบเบดเบเบขเบนเปเปเบเปเบเบทเบเบชเบฐเบเบฑเบเปเบฅเบฐเบชเบปเปเบเบเปเปเปเบเบซเบฒเบเบฑเบเบเบตเปเบเปเบญเบเบเบฒเบ.
เบซเบกเบฒเบโเปเบซเบโ: เบเบตเปโเปเบเบฑเบโเบเบฝเบโเปเบเปโเบซเบเบถเปเบโเปเบโเบเบฒเบโเบเบฑเบโเบเบฑเปเบโเบเบฒเบโเบชเบทเปโเบชเบฒเบโเปเบเบทเบญโเบเปเบฒเบโเบฅเบฐโเบซเบงเปเบฒเบโเบเบฒโเบเบฐโเบเบฐโ.
CRI เปเบกเปเบเบซเบเบฑเบ?
CNI เปเบกเปเบเบซเบเบฑเบ?
เบเบฒเบเบเบฑเบเบชเบฑเบ subnets เปเบซเปเบเบฑเบ nodes เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเบเบปเบเบเบตเปเบขเบนเป IP เปเบซเปเบเบฑเบ pods
เปเบเบทเปเบญเบเบเบฒเบเปเบเปเบฅเบฐเบเบฑเบเปเบเบเบธเปเบกเบเปเบญเบเบกเบตเบเบตเปเบขเบนเป IP, เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบชเปเบฒเบเบฑเบเปเบเบทเปเบญเปเบซเปเปเบเปเปเบเบงเปเบฒเบเบตเปเบขเบนเปเบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ. เบเบตเปเปเบกเปเบเบเบฑเบเบฅเบธเปเบเปเปเบเบเบเบฒเบเบกเบญเบเบซเบกเบฒเบเปเบเปเบฅเบฐ node เปเบเบฑเบ subnet เปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ, เบเบฒเบ pods เปเบ node เบเบฑเปเบเบเปเบฒเบงเปเบเปเบเบทเบเบกเบญเบเบซเบกเบฒเบเบเบตเปเบขเบนเป IP.
Node IPAM Controller
เปเบเปเบงเบฅเบฒเบเบตเป nodeipam
เบเปเบฒเบเปเบเบฑเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบธเบ --controllers
เปเบเบ Kubernetes เบเบทเบเบกเบญเบเปเบฒเบเปเบซเป podCIDR เปเบกเบทเปเบญเบกเบฑเบเบเบทเบเบฅเบปเบเบเบฐเบเบฝเบเปเบเปเบเบทเปเบญเบเบเบปเปเบเบเบฑเบเบเบธเปเบก. เปเบเบทเปเบญเบเปเบฝเบ podCIDR เบเบญเบ nodes, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบปเบเปเบฅเบตเบเบเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเบเบงเบเบกเบฑเบเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบฅเบปเบเบเบฐเบเบฝเบเบเบงเบเบกเบฑเบเปเบซเบกเป, เปเบฎเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฑเปเบเบเบงเบเบเบธเบก Kubernetes เปเบเบฅเบฐเบซเบงเปเบฒเบ. เบเปเบฒเบเบชเบฒเบกเบฒเบเบชเบฐเปเบเบ podCIDR เบเบญเบ node เปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
$ kubectl get no <nodeName> -o json | jq '.spec.podCIDR'
10.244.0.0/24
Kubelet, container runtime เปเบฅเบฐ CNI plugins: เบกเบฑเบเปเบฎเบฑเบเบงเบฝเบเปเบเบงเปเบ
เบเบฒเบเบเบฑเบเบเบฒเบเบฐเบฅเบฒเบ pod เบเปเป node เบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฑเปเบเบเบญเบเบเบฒเบเบเบฐเบเบฝเบกเบซเบผเบฒเบ. เปเบเบเบฒเบเบเบตเป, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบชเบธเบกเปเบชเปเบเบฝเบเปเบเปเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเปเบเบเบเบปเบเบเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบทเบญเบเปเบฒเบเบเบฑเบ.
เบเบฒเบเบเบฑเบเบเบฒเบเบฐเบฅเบฒเบ pod เปเบเบซเบฒ node เปเบเบเบถเปเบเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเปเบญเบเปเบชเปเบเบญเบเปเบซเบเบเบฒเบเบเปเปเปเบเบเบตเป:
เบเปเบงเบเปเบซเบผเบทเบญ:
เบเบฒเบเปเบเปเบเบญเบเบฅเบฐเบซเบงเปเบฒเบ container runtime เปเบฅเบฐ plugins CNI
เบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบทเบญเบเปเบฒเบเปเบเปเบฅเบฐเบเบปเบเบกเบต plugin CNI เบเบญเบเบเบปเบเปเบญเบ. runtime เบเบญเบ container เปเบฅเปเบเบกเบฑเบเปเบเบทเปเบญ configure เปเบเบทเบญเบเปเบฒเบเบชเปเบฒเบฅเบฑเบ pod เปเบเปเบเปเบญเบเบงเปเบฒเบกเบฑเบเปเบฅเบตเปเบกเบเบปเปเบเบเบถเปเบ. เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบฑเบเบเบธ, plugin CNI เบเบทเบเปเบเบตเบเบเบปเบงเปเบเบ plugin
เบเบดเปเบเปเบเบเบงเปเบฒเบเบฑเปเบ, เบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเปเบฅเบฐเบเบปเบเบกเบตเบเบปเบงเปเบเบเบเบญเบเบเบปเบเปเบญเบ. เบกเบฑเบเปเบเปเบเบทเบเบเบดเบเบเบฑเปเบเบขเบนเปเปเบเบเบธเบ nodes Kubernetes เปเบฅเบฐเบฎเบฑเบเบเบดเบเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบทเบญเบเปเบฒเบเบเบญเบ pods. เบเบปเบงเปเบเบเบเบตเปเบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเบเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒ CNI เบซเบผเบทเบชเปเบฒเบเบกเบฑเบเบขเปเบฒเบเปเบเบฑเบเปเบญเบเบฐเบฅเบฒเบเบขเบนเปเปเบ node. config เบเปเบงเบเปเบซเป plugin CRI เบเปเบฒเบเบปเบ plugin CNI เบเบตเปเบเบฐเปเบเบซเบฒ.
เบชเบฐเบเบฒเบเบเบตเปเบเบญเบ CNI config เบชเบฒเบกเบฒเบเบเบฑเบเปเบเปเบเปเบเป; เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบกเบฑเบเบขเบนเปเปเบ /etc/cni/net.d/<config-file>
. เบเบนเปเบเปเบฅเบดเบซเบฒเบเบเบธเปเบกเบเบฑเบเบฎเบฑเบเบเบดเบเบเบญเบเบเบฒเบเบเบดเบเบเบฑเปเบ plugins CNI เปเบเปเบเปเบฅเบฐ node เบเบญเบ cluster. เบชเบฐเบเบฒเบเบเบตเปเบเบญเบเบเบงเบเปเบเบปเบฒเปเบกเปเบเบชเบฒเบกเบฒเบเบเบฑเบเปเบเปเบเปเบเป; เปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบฅเบตเปเบกเบเบปเปเบ - /opt/cni/bin
.
เปเบกเบทเปเบญเปเบเป containerd, เปเบชเบฑเปเบเบเบฒเบเบชเปเบฒเบฅเบฑเบ plugin config เปเบฅเบฐ binaries เบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเบเบปเบเบขเบนเปเปเบเบเบฒเบ [plugins.ยซio.containerd.grpc.v1.criยป.cni]
ะฒ
เปเบเบทเปเบญเบเบเบฒเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเปเบเป Flannel เปเบเบฑเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบทเบญเบเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เปเบซเปเปเบงเบปเปเบฒเปเบฅเบฑเบเบเปเบญเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบกเบฑเบ:
- Flanneld (Flannel's daemon) เบกเบฑเบเบเบฐเบเบทเบเบเบดเบเบเบฑเปเบเบขเบนเปเปเบเบเบธเปเบกเปเบเบฑเบ DaemonSet เบเบตเปเบกเบต
install-cni
เปเบเบฑเบเบเบฑเบเบเบธ init . Install-cni
เบชเปเบฒเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒ CNI (/etc/cni/net.d/10-flannel.conflist
) เปเบเปเบเปเบฅเบฐ node.- Flanneld เบชเปเบฒเบเบญเบธเบเบฐเบเบญเบ vxlan, เบเบถเบเบเปเปเบกเบนเบ metadata เปเบเบทเบญเบเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ API, เปเบฅเบฐเบเบดเบเบเบฒเบกเบเบงเบเบเบฒเบเบฒเบเบเบฑเบเบเบธเบ pod. เปเบกเบทเปเบญเบเบงเบเบกเบฑเบเบเบทเบเบชเปเบฒเบเบเบทเปเบ, เบกเบฑเบเปเบเบเบขเบฒเบเปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเบเบฑเบเบเบฑเบเบซเบกเบปเบเปเบเบเบปเปเบงเบเบธเปเบก.
- เปเบชเบฑเปเบเบเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเป pods เบชเบฒเบกเบฒเบเบชเบทเปเบชเบฒเบเบเบฑเบเบเบฑเบเปเบฅเบฐเบเบฑเบเปเบเบเบเปเบฒเบเบเบตเปเบขเบนเป IP.
เบชเปเบฒเบฅเบฑเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบ Flannel, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเบฐเบเปเบฒเปเบซเปเปเบเปเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเบเบญเบเบเปเบฒเบเบเบญเบเบเบปเบเบเบงเบฒเบก.
เบเบตเปเปเบกเปเบเปเบเบเบงเบฒเบเบเบญเบเบเบฒเบเปเบเปเบเบญเบเบฅเบฐเบซเบงเปเบฒเบเบเบฅเบฑเบเบญเบดเบ Containerd CRI เปเบฅเบฐ plugins CNI:
เบเบฑเปเบเบเบตเปเปเบเบปเปเบฒเปเบซเบฑเบเบเปเบฒเบเปเบเบดเบ, kubelet เปเบเบซเบฒ Containerd CRI plugin เปเบเบทเปเบญเบชเปเบฒเบ pod, เปเบเบดเปเบเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบซเบฒ plugin CNI เปเบเบทเปเบญ configure เปเบเบทเบญเบเปเบฒเบเบเบญเบ pod. เปเบเบเบฒเบเปเบฎเบฑเบเบเบฑเปเบเบเบฑเปเบ, plugin CNI เบเบญเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบทเบญเบเปเบฒเบเปเบเบซเบฒ plugins CNI เบซเบผเบฑเบเบญเบทเปเบเปเปเบเบทเปเบญเบเปเบฒเบเบปเบเบฅเบฑเบเบชเบฐเบเบฐเบเปเบฒเบเปเบเบญเบเปเบเบทเบญเบเปเบฒเบ.
เบเบฒเบเปเบเปเบเบญเบเบฅเบฐเบซเบงเปเบฒเบ plugins CNI
เบกเบต plugins CNI เบเปเบฒเบเปเบเบตเปเบกเบตเบซเบเปเบฒเบเบตเปเบเปเบงเบเบเบฑเปเบเบเบฒเบเบชเบทเปเบชเบฒเบเปเบเบทเบญเบเปเบฒเบเบฅเบฐเบซเบงเปเบฒเบ containers เบขเบนเปเปเบเปเบเบปเปเบฒเบเบฒเบ. เบเบปเบเบเบงเบฒเบกเบเบตเปเบเบฐเบชเบปเบเบเบฐเบเบฒเบชเบฒเบกเบเบญเบเบเบงเบเปเบเบปเบฒ.
CNI plugin Flannel
เปเบกเบทเปเบญเปเบเป Flannel เปเบเบฑเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบทเบญเบเปเบฒเบ, เบญเบปเบเบเบฐเบเบญเบ Containerd CRI เปเบ /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
}
}
]
}
เบเบฑเปเบเบญเบดเบ Flannel CNI เปเบฎเบฑเบเบงเบฝเบเบฎเปเบงเบกเบเบฑเบเบเบฑเบ Flannel. เปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบ, Flanneld เบเบถเบเบเปเปเบกเบนเบ podCIDR เปเบฅเบฐเบฅเบฒเบเบฅเบฐเบญเบฝเบเบญเบทเปเบเปเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเบทเบญเบเปเบฒเบเบเบฒเบเปเบเบตเบเปเบงเบต API เปเบฅเบฐเบเบฑเบเบเบถเบเบเบงเบเบกเบฑเบเปเบงเปเปเบเปเบเบฅเป. /run/flannel/subnet.env
.
FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=false
เบเบฑเปเบเบญเบดเบ Flannel CNI เปเบเปเบเปเปเบกเบนเบเบเบฒเบ /run/flannel/subnet.env
เปเบเบทเปเบญเบเบฑเปเบเบเปเบฒเปเบฅเบฐเปเบเบซเบฒ plugin เบเบปเบง CNI.
CNI plugin Bridge
เบเบฑเปเบเบญเบดเบเบเบตเปเบเบทเบเปเบญเบตเปเบเบเปเบงเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเปเปเปเบเบเบตเป:
{
"name": "cni0",
"type": "bridge",
"mtu": 1450,
"ipMasq": false,
"isGateway": true,
"ipam": {
"type": "host-local",
"subnet": "10.244.0.0/24"
}
}
เปเบเปเบงเบฅเบฒเบเบตเปเปเบญเบตเปเบเบงเปเบฒเบเบฑเปเบเบเปเบฒเบญเบดเบ, เบกเบฑเบเบชเปเบฒเบเบเบปเบง Linux เบเบฑเบ ยซnameยป: ยซcni0ยป
, เปเบเบดเปเบเบฅเบฐเบเบธเปเบงเปเปเบ config. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบนเป veth เปเบกเปเบเบเบทเบเบชเปเบฒเบเบเบถเปเบเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบฑเบ. เบเบฒเบเบซเบเบถเปเบเบเบญเบเบกเบฑเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ namespace เปเบเบทเบญเบเปเบฒเบเบเบญเบ container, เบญเบตเบเบญเบฑเบเบซเบเบถเปเบเปเบกเปเบเบฅเบงเบกเบขเบนเปเปเบเบเบปเบง Linux เปเบเปเบเบทเบญเบเปเบฒเบเปเบเบปเปเบฒเบเบฒเบ.
เบซเบผเบฑเบเบเบฒเบเบชเปเบฒเปเบฅเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบนเป veth, เบเบฑเปเบเบญเบดเบ Bridge เปเบเบซเบฒ plugin IPAM CNI เบเปเบญเบเบเบดเปเบเบเบญเบเปเบเบปเปเบฒเบเบฒเบ. เบเบฐเปเบเบเบเบญเบเบเบฅเบฑเบเบญเบดเบ IPAM เบชเบฒเบกเบฒเบเบเบทเบเบเบฑเปเบเบเปเบฒเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒ CNI เบเบตเป plugin CRI เปเบเปเปเบเบทเปเบญเปเบเบซเบฒ plugin Flannel CNI.
เบเบฅเบฑเบเบญเบดเบ IPAM CNI เบเบญเบเปเบเบปเปเบฒเบเบฒเบ-เบเปเบญเบเบเบดเปเบ
เบเบปเบง CNI เปเบ
{
"name": "cni0",
"ipam": {
"type": "host-local",
"subnet": "10.244.0.0/24",
"dataDir": "/var/lib/cni/networks"
}
}
เบเบฅเบฑเบเบญเบดเบ IPAM เบเบญเบเปเบเบปเปเบฒเบเบฒเบ-เบเปเบญเบเบเบดเปเบ (IP Address Mเบเบฒเบโเบเบธเปเบกโเบเบญเบโเบเบตเปโเบขเบนเป IPโ) เบชเบปเปเบเบเบทเบเบเบตเปเบขเบนเป IP เบชเปเบฒเบฅเบฑเบ container เบเบฒเบ subnet เปเบฅเบฐเปเบเบฑเบเบฎเบฑเบเบชเบฒ IP เบเบตเปเบเบฑเบเบชเบฑเบเปเบงเปเปเบเปเบฎเบเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบเบฒเบ dataDir
- /var/lib/cni/networks/<network-name=cni0>/<ip>
. เปเบเบฅเปเบเบตเปเบกเบต ID เบเบญเบเบเบฑเบเบเบธเบเบตเปเบเบตเปเบขเบนเป IP เบเบตเปเบเบทเบเบกเบญเบเบซเบกเบฒเบ.
เปเบกเบทเปเบญเปเบเบซเบฒ plugin IPAM เบเปเบญเบเบเบดเปเบเบเบญเบเปเบเบปเปเบฒเบเบฒเบ, เบกเบฑเบเบเบฐเบชเบปเปเบเบเบทเบเบเปเปเบกเบนเบเบเปเปเปเบเบเบตเป:
{
"ip4": {
"ip": "10.244.4.2",
"gateway": "10.244.4.3"
},
"dns": {}
}
Summary
Kube-controller-manager เบกเบญเบเปเบฒเบ podCIDR เปเบซเปเบเบฑเบเปเบเปเบฅเบฐ node. pods เบเบญเบเปเบเปเบฅเบฐ node เปเบเปเบฎเบฑเบเบเบตเปเบขเบนเป IP เบเบฒเบเบเบทเปเบเบเบตเปเบเบตเปเบขเบนเปเปเบเบเปเบงเบ podCIDR เบเบตเปเบเบฑเบเบชเบฑเบ. เปเบเบทเปเบญเบเบเบฒเบ podCIDRs เบเบญเบ nodes เบเปเปเบเบฑเบเบเปเบญเบเบเบฑเบ, pods เบเบฑเบเบซเบกเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบขเบนเป IP เบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ.
เบเบนเปเปเบเบดเปเบเปเบเบเบเบธเปเบก Kubernetes เบเบณเบเบปเบเบเปเบฒ เปเบฅเบฐเบเบดเบเบเบฑเปเบ kubelet, container runtime, network provider agents, เปเบฅเบฐ copy the CNI plugins to each node. เปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบ, เบเบปเบงเปเบเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบทเบญเบเปเบฒเบเบเบฐเบชเปเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒ CNI. เปเบกเบทเปเบญเบเบฑเบเบเบทเบเบเบณเบเบปเบเปเบซเปเบเบฑเบเปเบซเบเบ, kubelet เปเบเบซเบฒ plugin CRI เปเบเบทเปเบญเบชเปเบฒเบเบกเบฑเบ. เบเปเปเปเบ, เบเปเบฒเปเบเป containerd, Containerd CRI plugin เปเบญเบตเปเบ plugin CNI เบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบ CNI config เปเบเบทเปเบญ configure เปเบเบทเบญเบเปเบฒเบเบเบญเบ pod. เบเบฑเปเบเบเบฑเปเบ, เบเบฑเบเปเบเปเบฎเบฑเบเบเบตเปเบขเบนเป IP.
เบกเบฑเบเปเบเปเปเบงเบฅเบฒเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบงเบฅเบฒเบเบฒเบเปเบเบทเปเบญเปเบเบปเปเบฒเปเบ subtleties เบเบฑเบเบซเบกเบปเบเปเบฅเบฐ nuances เบเบญเบเบเบฒเบเปเบเปเบเบญเบเบเบฑเบเบซเบกเบปเบเปเบซเบผเบปเปเบฒเบเบตเป. เบเปเบญเบเบซเบงเบฑเบเบงเปเบฒเบเบฐเบชเบปเบเบเบฒเบเบเบตเปเบเบฐเบเปเบงเบเปเบซเปเบเปเบฒเบเปเบเบปเปเบฒเปเบเบเบตเบเบถเปเบเบงเปเบฒ Kubernetes เปเบฎเบฑเบเบงเบฝเบเปเบเบงเปเบ. เบเปเบฒเบเปเบญเบเบเบดเบเบเบฒเบเบซเบเบฑเบ, เบเบฐเบฅเบธเบเบฒเบเบดเบเบเปเปเบเปเบญเบเบเบตเป
เปเบญเบเบฐเบชเบฒเบ
เบเบนเปเบเบญเบเปเบเบเปเบเบตเปเบฅเบฐเปเบเบทเบญเบเปเบฒเบ
เบเบฒเบเบฅเบงเบกเปเบเบทเบญเบเปเบฒเบเบเบนเปเบเบญเบเปเบเบเปเบเบต Demystifying เปเบเบทเบญเบเปเบฒเบ container
Flannel เปเบฎเบฑเบเบงเบฝเบเปเบเบงเปเบ?
Flannel Networking Demystify Kubernetes เบเบฑเบ Flannel - เบเบงเบฒเบกเปเบเบปเปเบฒเปเบเบเปเบฝเบงเบเบฑเบเปเบเบทเบญเบเปเบฒเบ
CRI เปเบฅเบฐ CNI
PS เบเบฒเบเบเบฑเบเปเบ
เบญเปเบฒเบเบเบฑเบเบขเบนเปเปเบ blog เบเบญเบเบเบงเบเปเบฎเบปเบฒ:
- ยซ
Calico เบชเปเบฒเบฅเบฑเบเปเบเบทเบญเบเปเบฒเบเปเบ Kubernetes: เบเบฒเบเปเบเบฐเบเปเบฒเปเบฅเบฐเบเบฐเบชเบปเบเบเบฒเบเปเบฅเบฑเบเบเปเบญเบ " - "เบเบนเปเบกเบทเบฎเบนเบเบเบฒเบเบเปเบฝเบงเบเบฑเบเปเบเบทเบญเบเปเบฒเบเปเบ Kubernetes":
เบเบฒเบเบเบต 1 เปเบฅเบฐ 2 (เบเบปเบงเปเบเบเปเบเบทเบญเบเปเบฒเบ, เปเบเบทเบญเบเปเบฒเบเบเปเบญเบเบเบฑเบ) ,เบเบฒเบโเบเบต 3 (เบเบฒเบโเบเปโเบฅเบดโเบเบฒเบโเปเบฅเบฐโเบเบฒเบโเบเบธเบโเปเบเปเบโเบเบฐโเบฅเบฒโเบเบญเบโ) ; - ยซ
Container Networking Interface (CNI) - เบเบฒเบเปเบเปเบเบญเบเปเบเบทเบญเบเปเบฒเบ เปเบฅเบฐเบกเบฒเบเบเบฐเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเปเบญเบเบเบฑเบเบเบธ Linux ".
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com