×× Calico × ×¢×¥ ×€ÖŒ××××× ××× ×Ö· ×ך××× ×§××× ×€×× × ×¢×¥ ×€ÖŒ×Ö·××ַס×× ××× ×Ö· ××× ×Ö·×€××× ×¡×× ××ַקס ×Š× ××ַש××Š× ××Ö·×× ×××Ö·×š× ××× ×ת, ×××ך×××Ö·× ××ש×× ×¢× ××× ×€ÖŒ×Öž×ס. ×× ×€ÖŒ×Ö·××ַס×× ×§×¢× ×¢× ×××× ××¢×××¢× ×× ××× ×Ö· × ×Ö·×עס׀֌×ַסע ×Öž×עך ×××× ×××××××¢ × ×¢×¥ ×€ÖŒ×Ö·××ַס×× ×××֞ס ×Ö·×€ÖŒ×××× ×Š×
×עך ×ַך×××§× ×ַס××× ×Ö·× ××ך ××Öž×× ×Ö· ×קעך××ק ×€×ךש××× × ×€×× ××× Kubernetes ××× Calico × ×¢×¥ ×€ÖŒ×Ö·××ַס×× ×ַך××¢×. ×××× × ×ש×, ××ך ךעק×Öž××¢× ×××š× ×Š× ×€ÖŒ×š××××š× ×¢×¡
ק×Ö·××ק×Öž
××× ×Ö· ×€×× ××Ö·××¢× ××Ö·× ××ך××, ×××¢× ×§×Ö·××ק×Öž ק×Ö·× ×¢×§×¥ ×Ö· ×€ÖŒ×Öž× ×Š× ×× × ×¢×¥ (××¢× ×××Ö·×ך×Ö·××¢ ××× ××), עס ק×Ö·× ×¢×§×¥ עס ×Š× ×עך ××Ö·××¢××֞ס × ××Š× ×Ö· ×××ך×××Ö·× ×¢×××¢×š× ×¢× ×Š×××× × (×××¢×). ×עך ×€×ַךקעך ×עש××§× ×××š× ×× ×€ÖŒ×Öž× ×§××× ×Š× ×עך ××Ö·××¢××֞ס ×€Ö¿×× ××¢× ×××ך×××Ö·× ×Š×××× × ××× ××× ×€ÖŒ×š×Ö·×¡×¢×¡× ××× ×× ××¢×××¢ ×××¢× ××× ×××× ×¢×¡ ×עק×××¢× ×€Ö¿×× ×Ö· ×ש×××ת × ×¢×¥ ׊×××× ×. ×××š× ×€×¢××ק××Ö·×, Calico × ×¢××¢× ×× ×× ×עך׀××ס×× CaliXXX. ××× × ×עך ×€×ַךקעך ק××× ×××š× ×× ×××ך×××Ö·× ×Š×××× ×, עס ×××× ×××š× ××€ÖŒ××Ö·××עס ××× ×××× ×× ×€ÖŒ×Öž× ××× ××¢×××¢× ×××× ××Öž×€ÖŒ×§×¢× ×Ö·××עק. ×עך××עך, ×××¢× ×€×ַךקעך ק××× ×Š× / ×€×× ×Ö· ×€ÖŒ×Öž×, עס ××× ×€×֞ך××עך××× ×€×× ×× ××Ö·××¢××֞ס ס ×€×× × ×€×× ×××× ×× ×.
××××£ ×Ö· Kubernetes × ×Öž××¢ ×€×××¡× ××ק ק×Ö·××ק×Öž, ××ך ×§×¢× ×¢× ××ַ׀֌ע ×Ö· ×××ך×××Ö·× ×Š×××× × (×××¢××) ×Š× ×Ö· ××עךק××Öž×× ××× ××××. ××× ××¢× ×××ש׀֌×× ××× ××, ××ך ×§×¢× ×¢× ××¢× ×Ö·× vet # 10 (calic1cbf1ca0f8) ××× ×§×Öž× × ×¢×§××¢× ×Š× cnx-manager-* ××× ×× ×§×Ö·××ק×Öž-××Öž× ×××֞ך×× × × ×Öž××¢×.
[centos@ip-172-31-31-46 K8S]$ sudo ip a
...
10: calic1cbf1ca0f8@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1440 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 5
inet6 fe80::ecee:eeff:feee:eeee/64 scope link
valid_lft forever preferred_lft forever
...
[centos@ip-172-31-31-46 K8S]$ calicoctl get wep --all-namespaces
...
calico-monitoring cnx-manager-8f778bd66-lz45m ip-172-31-31-46.ec2.internal 192.168.103.134/32
calic1cbf1ca0f8
...
××××Ö·× ×§×Ö·××ק×Öž קך××××¥ ×Ö· ×××¢×× ×Š×××× × ×€Ö¿×ַך ××¢×עך ××עךק××Öž××, ××× ××× ×¢×¡ ××ך××€××š× ×€ÖŒ×Ö·××ַס××? ×Š× ××Öž× ××֞ס, Calico קך××××¥ ××קס ××× ×€×ַךש××× ×§×××× ×€×× ×× ×€ÖŒ×ַק×Ö·× ×€ÖŒ×š×ַסעס×× × ××š× × ××Š× ××€ÖŒ××Ö·××עס.
×× ×××Ö·×ך×Ö·××¢ ××× ×× ××××Ö·×× ×× ×§×××× ×× ×××Ö·×××× ××× ×€ÖŒ×ַק×Ö·× ×€ÖŒ×š×ַסעס×× × ××× ××€ÖŒ××Ö·××עס (×Öž×עך ×× × ×¢××€×××עך ס×Ö·×ס×ס××Ö·×). ×××¢× ×Ö· ×€ÖŒ×ַק×Ö·× ×§××× ×××š× ×Ö· × ×¢×¥ ׊×××× ×, עס עךש×עך ×××× ×××š× ×× PEROUTING ק×××. × ×š×××× × ××ַש××ס ××× ××Ö·× ××¢××××, ××× ×××××š× ××××£ ××¢×, ×× ×€ÖŒ×ַק×Ö·× ×€ÖŒ×ַס×× ×××š× INPUT (××ךעק××¢× ×Š× ××Ö·××¢××֞ס ׀֌ך×ַסעס×Ö·×) ×Öž×עך FORWARD (××ךעק××¢× ×Š× ×Ö· ×€ÖŒ×Öž× ×Öž×עך ×× ×× ×עך × ×Öž××¢ ××××£ ×× × ×¢×¥). ×€Ö¿×× ×× ××××¢ ׀֌ך×֞׊עס, ×× ×€ÖŒ×ַק×Ö·× ×××× ×××š× ×× OUTPUT ××× ××¢×š× ×Öž× ×€ÖŒ×֞ס×ך×Öž×××× × ×§××× ××××עך עס ××× ×עש××§× ×ַך×Öž×€ÖŒ ×× ×§×Ö·×××¢.
××Ö·×עךק×× × ×Ö·× ×× ×€ÖŒ×Öž× ××× ×××× ×Ö· ×€×× ×ך×××¡× ××ק ×¢× ×××× (×€×ך××× ×× ×Š× ×× ×××¢××) ××× ×עך××× ×¢× ×€×× ××€ÖŒ××Ö·××עס ׀֌ך×ַסעס×× ×. ××× ×¡ ק×׊עך:
- ×€×֞ך××עך××× ×€×ַךקעך (× ×Ö·×, ך×Ö·×××× ×Öž×עך ×Š× / ×€Ö¿×× ×Ö· ×€ÖŒ×Öž×) ×€ÖŒ×ַס×× ×××š× ×× PEROUTING - FORWARD - POSTROUTING ק××××.
- ×€×ַךקעך ×Š× ×× ××××¢ ××Ö·××¢××֞ס ׀֌ך×֞׊עס ×€ÖŒ×ַס×× ×××š× ×× PEROUTING - INPUT ק×××.
- ×€×ַךקעך ×€×× ×× ××××¢ ××Ö·××¢××֞ס ׀֌ך×֞׊עס ×××× ×××š× ×× OUTPUT - POSTROUTING ק×××.
Calico ××× ×€ÖŒ×Öž××××ק ×֞׀֌׊×עס ×××֞ס ××Öž×× ××ך ×Š× ×Š×××××× ×€ÖŒ×Ö·××ַס×× ×ַך××עך ×Ö·××¢ ק××××. ××× ××¢× ××× ××× ×¢×, ××Öž×× ××× ×× ×§×ק ××× ×× ×€×ַךש×××¢× ×¢ ×€ÖŒ×Öž××××ק ק×Ö·× ×€×××עך××ש×Ö·× ×֞׀֌׊×עס ×× ×××Š× ××× Calico. ×× × ×××¢×š× ××× ×עך ךש××× ×€×× ×֞׀֌׊×עס ××× ×× ×©××××¢× ×Š× ×× × ×××¢×š× ××× ×× ×××Ö·×ך×Ö·××¢ ×××××.
- ××עךק××Öž×× ×¢× ××€ÖŒ××× × (×€ÖŒ×Öž×) ×€ÖŒ×Öž××××ק
- ××Öž×¡× ×¢× ××€ÖŒ××× × ×€ÖŒ×Öž××××ק
- ApplyOnForward ×֞׀֌׊××¢
- ׀֌ךע×× ×Ö·× ×€ÖŒ×Öž××××ק
- ×Ö·× ×ך×Ö·×§×§×¢× ×€ÖŒ×Öž××××ק
××Öž××ך ×Öž× ××××× ××× ×§××§× ××× ×€ÖŒ×Ö·××ַס×× ××¢× ×¢× ××¢×××¢× ×× ×Š× ××עךק××Öž×× ×¢× ××€ÖŒ×Öž×× ×¥ (Kubernetes ×€ÖŒ×Öž×ס ×Öž×עך OpenStack VMs), ××× ××¢×š× ×Öž× ×§×ק ××× ×× ×€ÖŒ×Öž××××ק ×֞׀֌׊×עס ×€Ö¿×ַך ××Ö·××¢××֞ס ×¢× ××€ÖŒ×Öž×× ×¥.
×××֞ךק××Öž×Ö·× ×¢× ××€ÖŒ×Öž×× ×¥
×××֞ךק××Öž×Ö·× ×¢× ××€ÖŒ××× × ×€ÖŒ×Öž××××ק (1)
××֞ס ××× ×Ö·× ×֞׀֌׊××¢ ×Š× ××ַש××Š× ×××× ×§×××¢×š× ×¢×עס ×€ÖŒ×Öž×ס. Calico ש×××Š× ×ך××¢×× ××× Kubernetes NetworkPolicy, ×Öž×עך עס ×××× ××× × ×Öž× ×€ÖŒ×Ö·××ַס×× - Calico NetworkPolicy ××× GlobalNetworkPolicy. ק×Ö·××ק×Öž קך××××¥ ×Ö· ק××× ×€Ö¿×ַך ××¢×עך ×€ÖŒ×Öž× (××עךק××Öž××) ××× ××קס ××× ×× INPUT ××× OUTPUT ק×××× ×€Ö¿×ַך ×× ××עךק××Öž×× ×Š× ×× ×€×××עך ××ש ×€×× ×× FORWARD ק×××.
××Öž×¡× ×¢× ××€ÖŒ×Öž×× ×¥
××Öž×¡× ×¢× ××€ÖŒ×Öž×× × ×€ÖŒ×Öž××××ק (2)
××× ×Ö·××ש×Ö·× ×Š× CNI (container × ×¢×¥ ׊×××× ×), Calico ×€ÖŒ×Ö·××ַס×× ×Š×ש××¢×× ×× ×€×××ק××× ×Š× ××ַש××Š× ×× ××Ö·××¢××֞ס ×××. ××× Calico, ××ך ×§×¢× ×¢× ××Ö·×× ×Ö· ××Ö·××¢××֞ס ×¢× ××€ÖŒ××× × ×××š× ×¡×€ÖŒ×¢×Š××€×׊××š× ×Ö· ק×Öž×××× ×ַ׊××¢ ×€×× ââââ×× ××Ö·××¢××֞ס ׊×××× × ×××, ×××× × ××××ק, ×€ÖŒ×Öž×š× × ××עך×. ×€ÖŒ×Öž××××ק ×¢× ×€×֞ךס××Ö·× × ×€Ö¿×ַך ××¢× ×¢× ×××× ××× ×Ö·×ש×××× ××× ×Ö· ×€×××עך ××ש ××× ×× INPUT ××× OUTPUT ק××××. ××× ××ך ×§×¢× ×¢× ××¢× ×€Ö¿×× ×× ×××Ö·×ך×Ö·××¢, (2) ××× ×Ö·×€ÖŒ×××× ×Š× ××××¢ ׀֌ך×ַסעס×Ö·× ××××£ ×× × ×Öž××¢ / ××Ö·××¢××֞ס. ××֞ס ×××, ×××× ××ך ××Ö·×× ×Ö· ×€ÖŒ×Öž××××ק ×××֞ס ×Ö·×€ÖŒ×××× ×Š× ×עך ××Ö·××¢××֞ס ×¢× ××€ÖŒ××× ×, ××֞ס ×××¢× × ××©× ××××š×§× ×€×ַךקעך ×Š× / ×€Ö¿×× ×××× ×€ÖŒ×Öž×ס. ×Öž×עך עס ××× ×Ö· ×××× ×Š×××× × / ס×× ××ַקס ×€Ö¿×ַך ×××ַק×× × ×€×ַךקעך ×€Ö¿×ַך ×××× ××Ö·××¢××֞ס ××× ×€ÖŒ×Öž×ס × ××Š× ×§×Ö·××ק×Öž ×€ÖŒ×Ö·××ַס××. ××֞ס ס×××€ÖŒ××Ö·×€××× ×××עך ×עך ׀֌ך×֞׊עס ×€×× ×Öž× ×€×ך×× × ×€ÖŒ×Ö·××ַס×× ×€Ö¿×ַך ×Ö· ××¢×עך×Ö·××ש×× ××ַס × ×¢×¥. ק×Ö·× ×€×××עך×× × ××Ö·××¢××֞ס ×¢× ××€ÖŒ××× × ×€ÖŒ×Ö·××ַס×× ×Š× ×€×ַך××¢×¡×¢×š× ×§× ××× ×××עך×××× ××× ×× ×× ×עך ××××××ק × ××Š× ×€×Ö·×.
×ַ׀֌׀֌×××Öž× ×€×֞ך×××¢×š× ×€ÖŒ×Öž××××ק (3)
×× ApplyOnForward ×֞׀֌׊××¢ ××× ××ךע××××× ××× ×× Calico ×××××××¢ × ×¢×¥ ×€ÖŒ×Öž××××ק ×Š× ××Öž×× ×€ÖŒ×Ö·××ַס×× ×Š× ×××× ××¢×××¢× ×× ×Š× ×Ö·××¢ ×€×ַךקעך ×××֞ס ×€×Öž×š× ×××š× ×× ××Ö·××¢××֞ס ×¢× ××€ÖŒ××× ×, ×ַך××Ö·× ×עךע×× × ×€×ַךקעך ×××֞ס ×××¢× ×××× ×€×֞ך××עך××× ×××š× ×עך ××Ö·××¢××֞ס. ××֞ס ×××× ×€×ַךקעך ×€×֞ך××עך××× ×Š× ×× ××××¢ ×€ÖŒ×Öž× ×Öž×עך עך××¢×¥ ×Ö·× ×עךש ××××£ ×× × ×¢×¥. Calico ך×ק×××××¢×š× ×Ö·× ×× ××ַש××¢×××§× ××Öž× ×××× ×¢× ××××Ö·×× ×€Ö¿×ַך ×€ÖŒ×Ö·××ַס×× × ××Š× PreDNAT ××× ×Ö·× ×ך×ַקקע×, ××¢× ×× ×€××××¢× ××¢ סעקש×Ö·× ×. ××× ×Ö·××ש×Ö·×, ApplyOnForward ×§×¢× ×¢× ×××× ××¢××××× × ×Š× ××Öž× ×××֞ך ××Ö·××¢××֞ס ×€×ַךקעך ××× ×§×ַסעס ×××¢× ×Ö· ×××ך×××Ö·× ×š×Ö·××עך ×Öž×עך ×××××××××š× NAT ××× ××¢× ×׊×.
××Ö·×עךק×× × ×Ö·× ×××× ××ך ××Ö·×š×€Ö¿× ×Š× ×Š×××××× ×× ××¢×××¢ × ×¢×¥ ×€ÖŒ×Öž××××ק ×Š× ×××××¢ ××Ö·××¢××֞ס ׀֌ך×ַסעס×Ö·× ××× ×€ÖŒ×Öž×ס, ××ך ××Öž× × ×× ××Ö·×š×€Ö¿× ×Š× × ××Š× ×× ApplyOnForward ×֞׀֌׊××¢. ×× ××ך ××Ö·×š×€Ö¿× ×Š× ××Öž× ××× ×Š× ×©×Ö·×€Ö¿× ×Ö· ×€×ך××¢ ×€Ö¿×ַך ×× ×€×ך××× ×× ××֞ס××¢× ××€ÖŒ××× × ××× ××עךק××Öž×× ×¢× ××€ÖŒ××× × (×€ÖŒ×Öž×). ק×Ö·××ק×Öž ××× ×§××× ××¢× ×× ×Š× ××ך××€××š× ×€ÖŒ×Öž××××ק ×××××š× ××××£ ××Ö·××¢×ס, ך×Ö·××ַך×××ַס ×€×× ×× ×¢× ××€ÖŒ××× × ×××€ÖŒ (××֞ס××¢× ××€ÖŒ××× × ×Öž×עך ××עךק××Öž××).
׀֌ךע×× ×Ö·× ×€ÖŒ×Öž××××ק (4)
××× Kubernetes, סעך×××ס ×¢× ×××× ×€ÖŒ×֞ךץ ×§×¢× ×¢× ×××× ×קס׀֌×Öž××× ××ס××××× ×ק × ××Š× ×× NodePorts ×֞׀֌׊××¢ ×Öž×עך, ×Öž×€ÖŒ×××Öž× ×Ö·××× (×××¢× × ××Š× Calico), ×××š× ××Ö·× ×Š×¢ ××× ××× ×× Cluster IPs ×Öž×עך ×€×× ×ך×××¡× ××ק IPs ×֞׀֌׊×עס. Kube-proxy ××Ö·××Ö·× ×¡×Ö·× ×× ×§×Ö·××× × ×€×ַךקעך ××¢××× ×× ×Š× ×Ö· ××× ×¡× ×Š× ×× ×€ÖŒ×Öž×ס ×€×× ×× ×§×֞ך×ַס׀֌×Ö·× ××× × ××× ×¡× × ××Š× DAT. ××¢××¢×× ××¢×, ××× ××Öž× ××ך ××ך××€××š× ×€ÖŒ×Ö·××ַס×× ×€Ö¿×ַך ×€×ַךקעך ק×××¢× ×××š× NodePorts? ×Š× ×¢× ×©×ך ×Ö·× ×× ×€ÖŒ×Ö·××ַס×× ××¢× ×¢× ××¢×××¢× ×× ××××עך ×× ×€×ַךקעך ××× ×€ÖŒ×š×Ö·×¡×¢×¡× ×××š× DAT (×××֞ס ××× ×Ö· ××Ö·×€ÖŒ×× × ×Š××××©× ××Ö·××¢××֞ס: ×€ÖŒ×Öž×š× ××× ×§×֞ך×ַס׀֌×Ö·× ××× × ××× ×¡×), Calico ××× ×Ö· ×€ÖŒ×ַך×Ö·××¢×עך ×€Ö¿×ַך ×××××××¢ × ×¢×¥ ×€ÖŒ×Öž××××ק ×עך××€Ö¿× "preDNAT: ××ת".
×××¢× ×€×ַך-×× ×Ö·× ××× ×¢× ××××Ö·××, ×× ×€ÖŒ×Ö·××ַס×× ××¢× ×¢× ×××€ÖŒ××Ö·××¢× ×Ö·× ××× (4) ××× ×× ×××Ö·×ך×Ö·××¢ - ××× ×× ××Ö·× ×× ××ש ×€×× ×× PREROUTING ק××× - ××××× ××××עך ×× ×Ö·×. ×× ××¢××××× ×××¢× ×¡×ך ×€×× ×€ÖŒ×Ö·××ַס×× ××× × ××©× × ××××¢××× ××¢× ××Öž, ××× × ×× ×Ö·×€ÖŒ××ַק××ש×Ö·× ×€×× ×× ×€ÖŒ×Ö·××ַס×× ×Ö·×§×¢×š× ×€×× ×€×š×עך ××× ×× ×€×ַךקעך ׀֌ך×ַסעס×× × ×××¢×. ×Öž×עך, preDNAT ×€ÖŒ×Ö·××ַס×× ×š×¢×¡×€ÖŒ×¢×§× ×× ×¡×ך ×€×× ×Ö·×€ÖŒ××ַק××ש×Ö·× ×Š××××©× ×××.
×××¢× ××ך ש×Ö·×€Ö¿× ×€ÖŒ×Ö·××ַס×× ××× ×€×ַך-DNAT, עס ××× ××××××ק ×Š× ×××× ×Öž×€ÖŒ××¢××× ×××¢×× ×× ×€×ַךקעך ××ך ××××× ×Š× ×€ÖŒ×š×֞׊עס ××× ××Öž×× ×× ×עך×××× ×Š× ×××× ×€×ך×××ך׀×. ×€×ַךקעך ×× ×ע׊×××× × ××× '××Öž××' ××× ×× ×€×ַך-×× ×Ö·× ×€ÖŒ×Öž××××ק ×××¢× × ×× ×עך ×××× ×Öž×€ÖŒ×עש××¢×× ×××š× ×× ××֞ס××¢× ××€ÖŒ××× × ×€ÖŒ×Öž××××ק, ×שעת ×€×ַךקעך ×××֞ס ×€×××× ×× ×€×ַך-×× ×Ö·× ×€ÖŒ×Öž××××ק ×××¢× ×€×֞ך××¢×Š× ×××š× ×× ×š××¢× ×§××××.
Calico ××× ××¢×××× ×¢×¡ ××Ö·× ××Ö·××Öž×š× ×Š× ××¢×× ×× ×ַ׀֌׀֌×××Öž× ×€×֞ך×××¢×š× ×֞׀֌׊××¢ ×××¢× ××ך × ××Š× PreDNAT, ××××Ö·× ×× ×עס××× ××ש×Ö·× ×€×× ×€×ַךקעך ××× × ×Öž× × ××©× ×××ס×עק××××. ×€×ַךקעך ×§×¢× ×¢× ×××× ××ךעק××¢× ×Š× ×עך ××Ö·××¢××֞ס ׀֌ך×֞׊עס, ×Öž×עך עס ×§×¢× ×¢× ×××× ×€×֞ך××עך××× ×Š× ×Ö· ×€ÖŒ×Öž× ×Öž×עך ×× ×× ×עך × ×Öž××¢.
× ××-×ך×Ö·×§× ×€ÖŒ×Öž××××ק (5)
× ×¢××××֞ךקס ××× ×Ö·×€ÖŒ××ַק××ש×Ö·× × ×§×¢× ×¢× ××Öž×× ×ך××ס ××׀עך×Ö·× ×¡×× ××× × ×Ö·××ך. ××× ×¢×××¢××¢ עקס××š×¢× ×§×ַסעס, ×Ö·×€ÖŒ××ַק××ש×Ö·× × ×§×¢× ×××©×¢× ×¢×š××× ×€×××¢ ק×ךץ-××¢××¢×× ×§×Ö·× ×¢×§×©×Ö·× ×. ××֞ס ×§×¢× ×Öž× ××Ö·×× ×§×Ö·× ×ך×ַקק (×Ö· ××ַךץ ק×Öž××€ÖŒ×Öž× ×¢× × ×€×× ×× ××× ×קס × ×¢××××֞ךק×× × ×Öž× ×××××) ×Š× ××××€× ×××ס ×€×× ××֌ך××. ×ך×Ö·××ש×Ö·× ×Ö·××, ×Š× ××××€× ×× ×××׀֌ס ×€×× ×Ö·×€ÖŒ××ַק××ש×Ö·× × ××××£ ××× ×קס, ××ך ×××Öž×× ××Öž×× ×Š× ××Ö·× ×××Ö·×× ×§×Ö·× ×€×××עך ×Öž×עך ××ס××××Ö·× ×§×Ö·× ×ך×ַקק, ×Öž×עך שך××Ö·×× ××€ÖŒ××Ö·××עס ×ÖŒ×××× ×Š× ××××€ÖŒ×ַס ק×Ö·× ×ך×ַקק. ×Ö·× ×ך×Ö·×§×§×¢× ×€ÖŒ×Öž××××ק ××× ×§×Ö·××ק×Öž ××× ×Ö· ס×××€ÖŒ×עך ××× ×עך ע׀עק×××× ×֞׀֌׊××¢ ×××× ××ך ××××× ×Š× ×€ÖŒ×š×֞׊עס ק×Ö·× ×¢×§×©×Ö·× × ××× ×עש×××× × ××× ××¢×××¢×. ×€Ö¿×ַך ×××ַש׀֌××, ×××× ××ך × ××Š× ××ַס×××
××××¢× ×¢× ××¢×
×××¢× ××ך ש××¢×× ×× "××ÖžNotTrack: ××ת" ×֞׀֌׊××¢ ××× Calico GlobalNetworkPolicy, עס ×××¢×š× ×Ö·× ** ×Ö·× ×ך×Ö·×§×§×¢× ** ×€ÖŒ×Öž××××ק ××× ××× ××¢×××¢× ×× ×××עך ×€×š× ××× ×× ××× ×קס ×€ÖŒ×ַק×Ö·× ×€ÖŒ×š×ַסעס×× × ×š×¢×š× - ××× ××¢. ××ך ×××× ××× ×× ×××Ö·×ך×Ö·××¢ ×××××, ×Ö·× ×ך×Ö·×§×§×¢× ×€ÖŒ×Ö·××ַס×× ××¢× ×¢× ××¢×××¢× ×× ××× ×× PREROUTING ××× OUTPUT ק×××× ××× ×× ×š×× ××ש ××××עך ק×Ö·× ×¢×§×©×Ö·× ×ך×ַק×× × (ק×Öž× × ×ךך×ַק) ××× ×¡××ַך××¢×. ×××¢× ×Ö· ×€ÖŒ×ַק×Ö·× ××× ×¢×š××××× ×××š× ×× ×Ö·× ×ך×Ö·×§×§×¢× ×€ÖŒ×Öž××××ק, עס ××× ×× ×ע׊×××× × ×Š× ××ס××××Ö·× ×§×Ö·× ×¢×§×©×Ö·× ×ך×ַק×× × ×€Ö¿×ַך ××¢× ×€ÖŒ×ַק×Ö·×. עס ×××× ×:
- ×× ×Ö·× ×ך×Ö·×§×§×¢× ×€ÖŒ×Öž××××ק ××× ××¢×××¢× ×× ××××£ ×Ö· ׀֌עך ×€ÖŒ×ַק×Ö·× ×קעך. עס ××× ×§××× ××Ö·×ך××£ ×€×× ×§×©×š (×Öž×עך ××××€×). ×€×¢×× ×€×× ×§×Ö·× ×¢×§×©×Ö·× × ××× ×¢×××¢××¢ ××××××ק ×€××××:
- ×××× ××ך ××××× ×Š× ××Öž×× ×××××¢ ××¢×× ××× ×¢× ×׀עך ×€×ַךקעך, ××ך ××Ö·×š×€Ö¿× ×Ö· ××¢×š×©× ×€Ö¿×ַך ×××××¢ ×× ××Ö·×× × ××× ×Ö·××××Ö·×× × (××××Ö·× Calico ×××€ÖŒ×ק×× × ××Š× ×§×Ö·× ×ך×ַקק ×Š× ×Š×××× ×¢× ×׀עך ×€×ַךקעך ××× ×¢×š×××××).
- ×× ×Ö·× ×ך×Ö·×§×§×¢× ×€ÖŒ×Öž××××ק ××× × ××©× ×ַך××¢×× ×€Ö¿×ַך Kubernetes ××עךק××Öž××× (×€ÖŒ×Öž×ס), ××××Ö·× ××× ××¢× ×€×Ö·× ×¢×¡ ××× ×§××× ×××¢× ×Š× ×©×€ÖŒ×ך ×× ×Ö·××××Öž××× × ×§×©×š ×€×× ×× ×€ÖŒ×Öž×.
- NAT ×ַך××¢× × ××©× ×š××××ק ××× ×Ö·× ×ך×Ö·×§×§×¢× ×€ÖŒ×ַק××¥ (××× × ×× ×§×¢×š× ×¡××Öž×š× ×× NAT ââ××Ö·×€ÖŒ×× × ××× ×§×Öž× ×ך×ַקק).
- ×××¢× ××ך×××¢××× ××¢× ×××š× ×× "××Öž×× ×Ö·××¢" ××¢×š×©× ××× ×× ×Ö·× ×ך×Ö·×§×§×¢× ×€ÖŒ×Öž××××ק, ×Ö·××¢ ×€ÖŒ×ַק××¥ ×××¢× ×××× ×× ×ע׊×××× × ××× ×Ö·× ×ך×ַק×××. ××֞ס ××× ×ÖŒ××¢× ×©××¢× ××ק × ××©× ×××֞ס ××ך ×××××, ×Ö·××× ×¢×¡ ××× ××××××ק ×Š× ×××× ×××עך סע×עק×××× ×××¢×× ×× ×€ÖŒ×ַק××¥ עך××××× ×××š× ×Ö·× ×ך×Ö·×§×§×¢× ×€ÖŒ×Ö·××ַס×× (××× ××Öž×× ×š××Ö¿ ×€×ַךקעך ×Š× ×××× ×××š× × ×֞ך××Ö·× ×ך×Ö·×§× ×€ÖŒ×Ö·××ַס××).
- ×Ö·× ×ך×Ö·×§×§×¢× ×€ÖŒ×Ö·××ַס×× ××¢× ×¢× ××¢×××¢× ×× ××× ×× ×Öž× ×××× ×€×× ×× ×€ÖŒ×ַק×Ö·× ×€ÖŒ×š×ַסעס×× × ×š×¢×š× - ××× ××¢. ××֞ס ××× ×××עך ××××××ק ×Š× ×€Ö¿×ַךש×××× ×××¢× ×§×š×××××× × ×§×Ö·××ק×Öž ×€ÖŒ×Ö·××ַס××. ××ך ×§×¢× ×¢× ××Öž×× ×Ö· ×€ÖŒ×Öž× ×€ÖŒ×Öž××××ק ××× ×¡×ך: 1 ××× ×Ö· ×Ö·× ×ך×Ö·×§×§×¢× ×€ÖŒ×Öž××××ק ××× ×¡×ך: 1000. עס ×××¢× × ××©× ×¢× ××. ×× ×Ö·× ×ך×Ö·×§×§×¢× ×€ÖŒ×Öž××××ק ×××¢× ×××× ××¢×××¢× ×× ××××עך ×× ×€ÖŒ×Öž××××ק ×€Ö¿×ַך ×× ×€ÖŒ×Öž×. ×Ö·× ×ך×Ö·×§×§×¢× ×€ÖŒ×Ö·××ַס×× ×š×¢×¡×€ÖŒ×¢×§× ××ך××€×ך×× × ×¡×ך ××××× ×Š××××©× ×××.
××××Ö·× ×××× ×¢×š ×€×× ×× ×Š××× ×€×× ×× ××Öž× ×Öž×ך×ַק ×€ÖŒ×Öž××××ק ××× ×Š× ××ך××€××š× ×× ×€ÖŒ×Öž××××ק ×××עך ×€×š× ××× ×× ××× ×קס ×€ÖŒ×ַק×Ö·× ×€ÖŒ×š×ַסעס×× × ×š×¢×š× - ××× ××¢, Calico ×××× ×¢×¡ ××Ö·× ××Ö·××Öž×š× ×Š× ×¡×€ÖŒ×¢×Š××€×׊××š× ×× ×ַ׀֌׀֌×××Öž× ×€×֞ך×××¢×š× ×֞׀֌׊××¢ ×××¢× × ××Š× doNotTrack. ךע׀עךך×× × ×Š× ×× ×€ÖŒ×ַק×Ö·× ×€ÖŒ×š×ַסעס×× × ×××Ö·×ך×Ö·××¢, ××Öž× ×Ö·× ×× ×Ö·× ×ך×Ö·×§×§×¢× (5) ×€ÖŒ×Öž××××ק ××× ××¢×××¢× ×× ××××עך ק××× ×š×××× × ××ס××ש×Ö·× ×. ×€×ַךקעך ×§×¢× ×¢× ×××× ××ךעק××¢× ×Š× ×עך ××Ö·××¢××֞ס ׀֌ך×֞׊עס, ×Öž×עך עס ×§×¢× ×¢× ×××× ×€×֞ך××עך××× ×Š× ×Ö· ×€ÖŒ×Öž× ×Öž×עך ×× ×× ×עך × ×Öž××¢.
ךע×××××Ö·×× ×€××
××ך ××Öž×× ×עק××§× ××××£ ×× ×€×ַךש××× ×€ÖŒ×Öž××××ק ×֞׀֌׊×עס (××Öž×¡× ×¢× ××€ÖŒ××× ×, ApplyOnForward, preDNAT ××× Untracked) ××× ×§×Ö·××ק×Öž ××× ××× ××× ××¢× ×¢× ××¢×××¢× ×× ×Š×××××¢× ×× ×€ÖŒ×ַק×Ö·× ×€ÖŒ×š×ַסעס×× × ×ך×. ×€×ךש××× × ××× ××× ×ַך××¢× ××¢×׀֌ס ××× ××¢×××¢××Öž×€ÖŒ×× × ×¢×€×¢×§×××× ××× ×××עך ×€ÖŒ×Ö·××ַס××. ××× Calico ××ך ×§×¢× ×¢× × ××Š× ×Ö· ×××××××¢ × ×¢×¥ ×€ÖŒ×Öž××××ק ×××֞ס ×Ö·×€ÖŒ×××× ×Š× ×Ö· ×€×ך××¢ (×Ö· ×ך×׀֌ע ×€×× ââ× ×Öž××× ××× ×€ÖŒ×Öž×ס) ××× ×Š×××××× ×€ÖŒ×Ö·××ַס×× ××× ×€×ַךש××× ×€ÖŒ×ַך×Ö·××¢×עךס. ××֞ס ×Ö·××Ö·×× ×××עך×××× ××× × ×¢×¥ ×€ÖŒ××Ö·× ×€ÖŒ×š×֞׀עסס××Öž× ×Ö·×ס ×Š× ×§×Ö·× ×××× ××Ö·× ××× ××ַש××Š× "×Ö·××¥" (×¢× ××€ÖŒ××× × ×××׀֌ס) ××× ×Ö· ×××× ×€ÖŒ×Öž××××ק ש׀֌ך×Ö·× ××× ×§×Ö·××ק×Öž ×€ÖŒ×Ö·××ַס××.
××¢×š×§×¢× ××¢× ×ש: ××× ×××Öž×× ××× ×Š× ××Ö·× ×§×¢×
×ק×ך: www.habr.com