ಇದು ನನ್ನ ನವೀಕರಣ
ಮೊದಲನೆಯದಾಗಿ, ನಾನು ಸಿಲಿಯಮ್ ತಂಡಕ್ಕೆ ಧನ್ಯವಾದ ಹೇಳಲು ಬಯಸುತ್ತೇನೆ: ಮೆಟ್ರಿಕ್ಸ್ ಮಾನಿಟರಿಂಗ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಮತ್ತು ಸರಿಪಡಿಸಲು ಹುಡುಗರು ನನಗೆ ಸಹಾಯ ಮಾಡಿದರು.
ನವೆಂಬರ್ 2018 ರಿಂದ ಏನು ಬದಲಾಗಿದೆ
ಅಂದಿನಿಂದ ಬದಲಾಗಿರುವುದು ಇಲ್ಲಿದೆ (ನಿಮಗೆ ಆಸಕ್ತಿಯಿದ್ದರೆ):
Flannel ವೇಗವಾದ ಮತ್ತು ಸರಳವಾದ CNI ಇಂಟರ್ಫೇಸ್ ಆಗಿ ಉಳಿದಿದೆ, ಆದರೆ ಇನ್ನೂ ನೆಟ್ವರ್ಕ್ ನೀತಿಗಳು ಮತ್ತು ಗೂಢಲಿಪೀಕರಣವನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.
Romana ಇನ್ನು ಮುಂದೆ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ನಾವು ಅದನ್ನು ಮಾನದಂಡದಿಂದ ತೆಗೆದುಹಾಕಿದ್ದೇವೆ.
WeaveNet ಈಗ ಪ್ರವೇಶ ಮತ್ತು ಹೊರಹೋಗುವಿಕೆಗಾಗಿ ನೆಟ್ವರ್ಕ್ ನೀತಿಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ! ಆದರೆ ಉತ್ಪಾದಕತೆ ಕಡಿಮೆಯಾಗಿದೆ.
ಕ್ಯಾಲಿಕೋದಲ್ಲಿ, ಉತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ ನೀವು ಇನ್ನೂ ಗರಿಷ್ಠ ಪ್ಯಾಕೆಟ್ ಗಾತ್ರವನ್ನು (MTU) ಹಸ್ತಚಾಲಿತವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ. CNI ಅನ್ನು ಸ್ಥಾಪಿಸಲು ಕ್ಯಾಲಿಕೊ ಎರಡು ಆಯ್ಕೆಗಳನ್ನು ನೀಡುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ಪ್ರತ್ಯೇಕ ETCD ರೆಪೊಸಿಟರಿ ಇಲ್ಲದೆ ಮಾಡಬಹುದು:
- ಕುಬರ್ನೆಟ್ಸ್ API ನಲ್ಲಿ ಸ್ಥಿತಿಯನ್ನು ದತ್ತಾಂಶ ಸಂಗ್ರಹವಾಗಿ ಸಂಗ್ರಹಿಸುವುದು (ಕ್ಲಸ್ಟರ್ ಗಾತ್ರ <50 ನೋಡ್ಗಳು);
- K8S API (ಕ್ಲಸ್ಟರ್ ಗಾತ್ರ > 50 ನೋಡ್ಗಳು) ಮೇಲಿನ ಲೋಡ್ ಅನ್ನು ನಿವಾರಿಸಲು Typha ಪ್ರಾಕ್ಸಿಯೊಂದಿಗೆ ಡೇಟಾ ಸ್ಟೋರ್ನಂತೆ Kubernetes API ನಲ್ಲಿ ಸ್ಥಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುವುದು.
ಕ್ಯಾಲಿಕೊ ಬೆಂಬಲ ಘೋಷಿಸಿದರು
Cilium ಈಗ ಗೂಢಲಿಪೀಕರಣವನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ! Cilium IPSec ಸುರಂಗಗಳೊಂದಿಗೆ ಗೂಢಲಿಪೀಕರಣವನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ WeaveNet ನೆಟ್ವರ್ಕ್ಗೆ ಪರ್ಯಾಯವನ್ನು ನೀಡುತ್ತದೆ. ಆದರೆ ವೀವ್ನೆಟ್ ಎನ್ಕ್ರಿಪ್ಶನ್ ಸಕ್ರಿಯಗೊಳಿಸಿದ ಸಿಲಿಯಮ್ಗಿಂತ ವೇಗವಾಗಿರುತ್ತದೆ.
ಅಂತರ್ನಿರ್ಮಿತ ETCD ಆಪರೇಟರ್ಗೆ ಧನ್ಯವಾದಗಳು ಸಿಲಿಯಮ್ ಅನ್ನು ನಿಯೋಜಿಸಲು ಈಗ ಸುಲಭವಾಗಿದೆ.
Cilium ತಂಡವು ಮೆಮೊರಿ ಬಳಕೆ ಮತ್ತು CPU ವೆಚ್ಚವನ್ನು ಕಡಿಮೆ ಮಾಡುವ ಮೂಲಕ ಅದರ CNI ನಿಂದ ಸ್ವಲ್ಪ ತೂಕವನ್ನು ಟ್ರಿಮ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿದೆ, ಆದರೆ ಅದರ ಪ್ರತಿಸ್ಪರ್ಧಿಗಳು ಇನ್ನೂ ಹಗುರವಾಗಿರುತ್ತವೆ.
ಬೆಂಚ್ಮಾರ್ಕ್ ಸಂದರ್ಭ
ಬೆಂಚ್ಮಾರ್ಕ್ ಅನ್ನು 10 Gb ಸೂಪರ್ಮೈಕ್ರೋ ಸ್ವಿಚ್ನೊಂದಿಗೆ ಮೂರು ವರ್ಚುವಲೈಸ್ ಮಾಡದ ಸೂಪರ್ಮೈಕ್ರೋ ಸರ್ವರ್ಗಳಲ್ಲಿ ರನ್ ಮಾಡಲಾಗುತ್ತದೆ. ಸರ್ವರ್ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯ DAC SFP+ ಕೇಬಲ್ಗಳ ಮೂಲಕ ಸ್ವಿಚ್ಗೆ ನೇರವಾಗಿ ಸಂಪರ್ಕಿಸಲಾಗಿದೆ ಮತ್ತು ಜಂಬೋ ಫ್ರೇಮ್ಗಳೊಂದಿಗೆ (MTU 9000) ಅದೇ VLAN ನಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ.
ಕುಬರ್ನೆಟ್ಸ್ 1.14.0 ಅನ್ನು ಉಬುಂಟು 18.04 LTS ನಲ್ಲಿ ಡಾಕರ್ 18.09.2 ನೊಂದಿಗೆ ಸ್ಥಾಪಿಸಲಾಗಿದೆ (ಈ ಬಿಡುಗಡೆಯಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ಡಾಕರ್ ಆವೃತ್ತಿ).
ಪುನರುತ್ಪಾದನೆಯನ್ನು ಸುಧಾರಿಸಲು, ನಾವು ಯಾವಾಗಲೂ ಮಾಸ್ಟರ್ ಅನ್ನು ಮೊದಲ ನೋಡ್ನಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ನಿರ್ಧರಿಸಿದ್ದೇವೆ, ಬೆಂಚ್ಮಾರ್ಕ್ನ ಸರ್ವರ್ ಭಾಗವನ್ನು ಎರಡನೇ ಸರ್ವರ್ನಲ್ಲಿ ಮತ್ತು ಕ್ಲೈಂಟ್ ಭಾಗವನ್ನು ಮೂರನೇಯಲ್ಲಿ ಇರಿಸಿ. ಇದನ್ನು ಮಾಡಲು, ನಾವು Kubernetes ನಿಯೋಜನೆಗಳಲ್ಲಿ NodeSelector ಅನ್ನು ಬಳಸುತ್ತೇವೆ.
ನಾವು ಮಾನದಂಡದ ಫಲಿತಾಂಶಗಳನ್ನು ಈ ಕೆಳಗಿನ ಪ್ರಮಾಣದಲ್ಲಿ ವಿವರಿಸುತ್ತೇವೆ:
ಬೆಂಚ್ಮಾರ್ಕ್ಗಾಗಿ CNI ಅನ್ನು ಆಯ್ಕೆಮಾಡುವುದು
ವಿಭಾಗದಲ್ಲಿನ ಪಟ್ಟಿಯಿಂದ CNI ಗೆ ಮಾತ್ರ ಇದು ಮಾನದಂಡವಾಗಿದೆ
ನಾವು ಈ ಕೆಳಗಿನ CNI ಗಳನ್ನು ಹೋಲಿಸುತ್ತೇವೆ:
- ಕ್ಯಾಲಿಕೋ v3.6
- ಕಾಲುವೆ v3.6 (ಮೂಲಭೂತವಾಗಿ ನೆಟ್ವರ್ಕಿಂಗ್ಗಾಗಿ ಫ್ಲಾನೆಲ್ + ಫೈರ್ವಾಲ್ನಂತೆ ಕ್ಯಾಲಿಕೊ)
- ಸಿಲಿಯಮ್ 1.4.2
- ಫ್ಲಾನೆಲ್ 0.11.0
- ಕ್ಯೂಬ್-ರೂಟರ್ 0.2.5
- WeaveNet 2.5.1
ಸೆಟ್ಟಿಂಗ್
CNI ಅನ್ನು ಸ್ಥಾಪಿಸುವುದು ಸುಲಭ, ನಮ್ಮ ಮೊದಲ ಅನಿಸಿಕೆ ಉತ್ತಮವಾಗಿರುತ್ತದೆ. ಮಾನದಂಡದಿಂದ ಎಲ್ಲಾ CNI ಗಳನ್ನು ಸ್ಥಾಪಿಸಲು ತುಂಬಾ ಸುಲಭ (ಒಂದು ಅಥವಾ ಎರಡು ಆಜ್ಞೆಗಳೊಂದಿಗೆ).
ನಾವು ಹೇಳಿದಂತೆ, ಸರ್ವರ್ಗಳು ಮತ್ತು ಸ್ವಿಚ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾದ ಜಂಬೋ ಫ್ರೇಮ್ಗಳೊಂದಿಗೆ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ (ನಾವು MTU ಅನ್ನು 9000 ಗೆ ಹೊಂದಿಸಿದ್ದೇವೆ). ಅಡಾಪ್ಟರುಗಳ ಸಂರಚನೆಯ ಆಧಾರದ ಮೇಲೆ CNI ಸ್ವಯಂಚಾಲಿತವಾಗಿ MTU ಅನ್ನು ನಿರ್ಧರಿಸಿದರೆ ನಾವು ಸಂತೋಷಪಡುತ್ತೇವೆ. ಆದಾಗ್ಯೂ, ಸಿಲಿಯಮ್ ಮತ್ತು ಫ್ಲಾನೆಲ್ ಮಾತ್ರ ಇದನ್ನು ನಿರ್ವಹಿಸಿದರು. ಉಳಿದ CNI ಗಳು GitHub ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ MTU ಅನ್ವೇಷಣೆಯನ್ನು ಸೇರಿಸಲು ವಿನಂತಿಗಳನ್ನು ಹೊಂದಿವೆ, ಆದರೆ ಕ್ಯಾಲಿಕೊ, ಕೆನಾಲ್ ಮತ್ತು ಕ್ಯೂಬ್-ರೂಟರ್ಗಾಗಿ ಕಾನ್ಫಿಗ್ಮ್ಯಾಪ್ ಅನ್ನು ಬದಲಾಯಿಸುವ ಮೂಲಕ ಅಥವಾ WeaveNet ಗಾಗಿ ಪರಿಸರ ವೇರಿಯಬಲ್ ಅನ್ನು ರವಾನಿಸುವ ಮೂಲಕ ನಾವು ಅದನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ.
ತಪ್ಪಾದ MTU ಸಮಸ್ಯೆ ಏನು? ಈ ರೇಖಾಚಿತ್ರವು ಡೀಫಾಲ್ಟ್ MTU ಮತ್ತು ಜಂಬೋ ಫ್ರೇಮ್ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದ WeaveNet ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ತೋರಿಸುತ್ತದೆ:
MTU ಥ್ರೋಪುಟ್ ಮೇಲೆ ಹೇಗೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ?
ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ MTU ಎಷ್ಟು ಮುಖ್ಯ ಎಂಬುದನ್ನು ನಾವು ನೋಡಿದ್ದೇವೆ, ಈಗ ನಮ್ಮ CNI ಗಳು ಅದನ್ನು ಹೇಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಿರ್ಧರಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ನೋಡೋಣ:
CNI ಸ್ವಯಂಚಾಲಿತವಾಗಿ MTU ಅನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತದೆ
ಅತ್ಯುತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ ನೀವು ಕ್ಯಾಲಿಕೊ, ಕೆನಾಲ್, ಕ್ಯೂಬ್-ರೂಟರ್ ಮತ್ತು ವೀವ್ನೆಟ್ಗಾಗಿ MTU ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗಿದೆ ಎಂದು ಗ್ರಾಫ್ ತೋರಿಸುತ್ತದೆ. Cilium ಮತ್ತು Flannel ಯಾವುದೇ ಸೆಟ್ಟಿಂಗ್ಗಳಿಲ್ಲದೆ MTU ಅನ್ನು ಸರಿಯಾಗಿ ನಿರ್ಧರಿಸಲು ಸಾಧ್ಯವಾಯಿತು.
ಭದ್ರತೆ
ನಾವು CNI ಭದ್ರತೆಯನ್ನು ಎರಡು ಅಂಶಗಳಲ್ಲಿ ಹೋಲಿಸುತ್ತೇವೆ: ರವಾನಿಸಲಾದ ಡೇಟಾವನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡುವ ಸಾಮರ್ಥ್ಯ ಮತ್ತು ಕುಬರ್ನೆಟ್ಸ್ ನೆಟ್ವರ್ಕ್ ನೀತಿಗಳ ಅನುಷ್ಠಾನ (ನೈಜ ಪರೀಕ್ಷೆಗಳ ಆಧಾರದ ಮೇಲೆ, ದಾಖಲಾತಿಯಲ್ಲ).
ಕೇವಲ ಎರಡು CNIಗಳು ಡೇಟಾವನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತವೆ: Cilium ಮತ್ತು WeaveNet. ಗೂಢಲಿಪೀಕರಣ WeaveNet ಎನ್ಕ್ರಿಪ್ಶನ್ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು CNI ಪರಿಸರ ವೇರಿಯೇಬಲ್ ಆಗಿ ಹೊಂದಿಸುವ ಮೂಲಕ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. IN
ನೆಟ್ವರ್ಕ್ ನೀತಿಯ ಅನುಷ್ಠಾನಕ್ಕೆ ಸಂಬಂಧಿಸಿದಂತೆ, ಅವರು ಯಶಸ್ವಿಯಾಗಿದ್ದಾರೆ ಕ್ಯಾಲಿಕೊ, ಕಾಲುವೆ, ಸಿಲಿಯಮ್ ಮತ್ತು ವೀವ್ನೆಟ್, ಇದರಲ್ಲಿ ನೀವು ಪ್ರವೇಶ ಮತ್ತು ಎಗ್ರೆಸ್ ನಿಯಮಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು. ಫಾರ್ ಕುಬೆ-ರೂಟರ್ ಪ್ರವೇಶಕ್ಕೆ ಮಾತ್ರ ನಿಯಮಗಳಿವೆ, ಮತ್ತು ಫ್ಲಾನೆಲ್ ಯಾವುದೇ ನೆಟ್ವರ್ಕ್ ನೀತಿಗಳಿಲ್ಲ.
ಒಟ್ಟಾರೆ ಫಲಿತಾಂಶಗಳು ಇಲ್ಲಿವೆ:
ಸುರಕ್ಷತಾ ಕಾರ್ಯಕ್ಷಮತೆ ಬೆಂಚ್ಮಾರ್ಕ್ ಫಲಿತಾಂಶಗಳು
ಉತ್ಪಾದಕತೆ
ಈ ಮಾನದಂಡವು ಪ್ರತಿ ಪರೀಕ್ಷೆಯ ಕನಿಷ್ಠ ಮೂರು ರನ್ಗಳ ಸರಾಸರಿ ಥ್ರೋಪುಟ್ ಅನ್ನು ತೋರಿಸುತ್ತದೆ. ನಾವು TCP ಮತ್ತು UDP (iperf3 ಅನ್ನು ಬಳಸುವುದು), HTTP (Nginx ಮತ್ತು ಕರ್ಲ್ನೊಂದಿಗೆ) ಅಥವಾ FTP (vsftpd ಮತ್ತು ಕರ್ಲ್ನೊಂದಿಗೆ) ಮತ್ತು ಅಂತಿಮವಾಗಿ SCP-ಆಧಾರಿತ ಎನ್ಕ್ರಿಪ್ಶನ್ (ಕ್ಲೈಂಟ್ ಮತ್ತು ಸರ್ವರ್ OpenSSH ಬಳಸಿ) ಬಳಸಿಕೊಂಡು ಅಪ್ಲಿಕೇಶನ್ ಕಾರ್ಯಕ್ಷಮತೆಯಂತಹ ನೈಜ ಅಪ್ಲಿಕೇಶನ್ಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಪರೀಕ್ಷಿಸುತ್ತೇವೆ.
ಎಲ್ಲಾ ಪರೀಕ್ಷೆಗಳಿಗೆ, ಸ್ಥಳೀಯ ನೆಟ್ವರ್ಕ್ ಕಾರ್ಯಕ್ಷಮತೆಯೊಂದಿಗೆ CNI ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೋಲಿಸಲು ನಾವು ಬೇರ್ ಮೆಟಲ್ ಬೆಂಚ್ಮಾರ್ಕ್ (ಗ್ರೀನ್ ಲೈನ್) ಅನ್ನು ನಿರ್ವಹಿಸಿದ್ದೇವೆ. ಇಲ್ಲಿ ನಾವು ಅದೇ ಪ್ರಮಾಣವನ್ನು ಬಳಸುತ್ತೇವೆ, ಆದರೆ ಬಣ್ಣದಲ್ಲಿ:
- ಹಳದಿ = ತುಂಬಾ ಒಳ್ಳೆಯದು
- ಕಿತ್ತಳೆ = ಒಳ್ಳೆಯದು
- ನೀಲಿ = ಹೀಗೆ
- ಕೆಂಪು = ಕೆಟ್ಟದು
ನಾವು ತಪ್ಪಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ CNI ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ ಮತ್ತು ಸರಿಯಾದ MTU ನೊಂದಿಗೆ CNI ಗಳಿಗೆ ಮಾತ್ರ ಫಲಿತಾಂಶಗಳನ್ನು ತೋರಿಸುತ್ತೇವೆ. (ಗಮನಿಸಿ: ನೀವು ಎನ್ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ ಸಿಲಿಯಮ್ MTU ಅನ್ನು ಸರಿಯಾಗಿ ಲೆಕ್ಕಾಚಾರ ಮಾಡುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ನೀವು ಆವೃತ್ತಿ 8900 ರಲ್ಲಿ MTU ಅನ್ನು 1.4 ಗೆ ಹಸ್ತಚಾಲಿತವಾಗಿ ಕಡಿಮೆ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಮುಂದಿನ ಆವೃತ್ತಿ, 1.5, ಇದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮಾಡುತ್ತದೆ.)
ಫಲಿತಾಂಶಗಳು ಇಲ್ಲಿವೆ:
ಎಲ್ಲಾ CNIಗಳು TCP ಮಾನದಂಡದಲ್ಲಿ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಿದವು. ಎನ್ಕ್ರಿಪ್ಶನ್ನೊಂದಿಗೆ CNI ತುಂಬಾ ಹಿಂದುಳಿದಿದೆ ಏಕೆಂದರೆ ಎನ್ಕ್ರಿಪ್ಶನ್ ದುಬಾರಿಯಾಗಿದೆ.
ಇಲ್ಲಿಯೂ ಸಹ, ಎಲ್ಲಾ CNI ಗಳು ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿವೆ. ಎನ್ಕ್ರಿಪ್ಶನ್ನೊಂದಿಗೆ CNI ಬಹುತೇಕ ಅದೇ ಫಲಿತಾಂಶವನ್ನು ತೋರಿಸಿದೆ. ಸಿಲಿಯಮ್ ಸ್ಪರ್ಧೆಯಲ್ಲಿ ಸ್ವಲ್ಪ ಹಿಂದಿದೆ, ಆದರೆ ಇದು ಕೇವಲ 2,3% ಬೇರ್ ಮೆಟಲ್ ಆಗಿದೆ, ಆದ್ದರಿಂದ ಇದು ಕೆಟ್ಟ ಫಲಿತಾಂಶವಲ್ಲ. Cilium ಮತ್ತು Flannel ಮಾತ್ರ MTU ಅನ್ನು ಸರಿಯಾಗಿ ನಿರ್ಧರಿಸಿದ್ದಾರೆ ಎಂಬುದನ್ನು ಮರೆಯಬೇಡಿ, ಮತ್ತು ಇವುಗಳು ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಸಂರಚನೆಯಿಲ್ಲದೆ ಅವರ ಫಲಿತಾಂಶಗಳಾಗಿವೆ.
ನಿಜವಾದ ಅಪ್ಲಿಕೇಶನ್ ಬಗ್ಗೆ ಏನು? ನೀವು ನೋಡುವಂತೆ, HTTP ಗಾಗಿ ಒಟ್ಟಾರೆ ಕಾರ್ಯಕ್ಷಮತೆ TCP ಗಿಂತ ಸ್ವಲ್ಪ ಕಡಿಮೆಯಾಗಿದೆ. ನೀವು TCP ಯೊಂದಿಗೆ HTTP ಅನ್ನು ಬಳಸುತ್ತಿದ್ದರೂ ಸಹ, HTTP ಮಾನದಂಡದ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವ ನಿಧಾನಗತಿಯ ಪ್ರಾರಂಭವನ್ನು ತಪ್ಪಿಸಲು ನಾವು TCP ಮಾನದಂಡದಲ್ಲಿ iperf3 ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದೇವೆ. ಇಲ್ಲಿ ಎಲ್ಲರೂ ಒಳ್ಳೆಯ ಕೆಲಸ ಮಾಡಿದ್ದಾರೆ. ಕ್ಯೂಬ್-ರೂಟರ್ ಸ್ಪಷ್ಟ ಪ್ರಯೋಜನವನ್ನು ಹೊಂದಿದೆ, ಆದರೆ ವೀವ್ನೆಟ್ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲಿಲ್ಲ: ಬೇರ್ ಮೆಟಲ್ಗಿಂತ ಸುಮಾರು 20% ಕೆಟ್ಟದಾಗಿದೆ. ಎನ್ಕ್ರಿಪ್ಶನ್ನೊಂದಿಗೆ ಸಿಲಿಯಮ್ ಮತ್ತು ವೀವ್ನೆಟ್ ನಿಜವಾಗಿಯೂ ದುಃಖಕರವಾಗಿ ಕಾಣುತ್ತವೆ.
FTP ಯೊಂದಿಗೆ, ಮತ್ತೊಂದು TCP-ಆಧಾರಿತ ಪ್ರೋಟೋಕಾಲ್, ಫಲಿತಾಂಶಗಳು ಬದಲಾಗುತ್ತವೆ. Flannel ಮತ್ತು Kube-router ಕೆಲಸ ಮಾಡುತ್ತವೆ, ಆದರೆ ಕ್ಯಾಲಿಕೊ, ಕೆನಾಲ್ ಮತ್ತು Cilium ಸ್ವಲ್ಪ ಹಿಂದೆ ಮತ್ತು ಬೇರ್ ಮೆಟಲ್ಗಿಂತ ಸುಮಾರು 10% ನಿಧಾನವಾಗಿರುತ್ತವೆ. WeaveNet 17% ರಷ್ಟು ಹಿಂದೆ ಇದೆ, ಆದರೆ ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ WeaveNet ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ Cilium ಗಿಂತ 40% ಮುಂದಿದೆ.
SCP ಯೊಂದಿಗೆ SSH ಎನ್ಕ್ರಿಪ್ಶನ್ ನಮಗೆ ಎಷ್ಟು ವೆಚ್ಚವಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಾವು ತಕ್ಷಣ ನೋಡಬಹುದು. ಬಹುತೇಕ ಎಲ್ಲಾ CNIಗಳು ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿವೆ, ಆದರೆ WeaveNet ಮತ್ತೆ ಹಿಂದುಳಿದಿದೆ. ಗೂಢಲಿಪೀಕರಣದೊಂದಿಗೆ ಸಿಲಿಯಮ್ ಮತ್ತು ವೀವ್ನೆಟ್ ಡಬಲ್ ಎನ್ಕ್ರಿಪ್ಶನ್ (SSH + CNI) ಕಾರಣದಿಂದಾಗಿ ಕೆಟ್ಟದಾಗಿದೆ ಎಂದು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ.
ಫಲಿತಾಂಶಗಳೊಂದಿಗೆ ಸಾರಾಂಶ ಕೋಷ್ಟಕ ಇಲ್ಲಿದೆ:
ಸಂಪನ್ಮೂಲ ಬಳಕೆ
ಈಗ CNI ಭಾರೀ ಲೋಡ್ಗಳ ಅಡಿಯಲ್ಲಿ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹೇಗೆ ಬಳಸುತ್ತದೆ ಎಂಬುದನ್ನು ಹೋಲಿಸೋಣ (TCP ವರ್ಗಾವಣೆಯ ಸಮಯದಲ್ಲಿ, 10 Gbps). ಕಾರ್ಯಕ್ಷಮತೆಯ ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ನಾವು CNI ಅನ್ನು ಬೇರ್ ಮೆಟಲ್ (ಗ್ರೀನ್ ಲೈನ್) ನೊಂದಿಗೆ ಹೋಲಿಸುತ್ತೇವೆ. ಸಂಪನ್ಮೂಲ ಬಳಕೆಗಾಗಿ, CNI ಇಲ್ಲದೆ ಶುದ್ಧ ಕುಬರ್ನೆಟ್ಸ್ (ಪರ್ಪಲ್ ಲೈನ್) ಅನ್ನು ತೋರಿಸೋಣ ಮತ್ತು CNI ಎಷ್ಟು ಹೆಚ್ಚುವರಿ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಬಳಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡೋಣ.
ಸ್ಮರಣೆಯೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸೋಣ. ವರ್ಗಾವಣೆಯ ಸಮಯದಲ್ಲಿ MB ಯಲ್ಲಿ ನೋಡ್ಗಳ RAM (ಬಫರ್ಗಳು ಮತ್ತು ಸಂಗ್ರಹವನ್ನು ಹೊರತುಪಡಿಸಿ) ಸರಾಸರಿ ಮೌಲ್ಯ ಇಲ್ಲಿದೆ.
Flannel ಮತ್ತು Kube-Router ಅತ್ಯುತ್ತಮ ಫಲಿತಾಂಶಗಳನ್ನು ತೋರಿಸಿದೆ - ಕೇವಲ 50 MB. ಕ್ಯಾಲಿಕೊ ಮತ್ತು ಕೆನಾಲ್ ಪ್ರತಿಯೊಂದೂ 70 ಅನ್ನು ಹೊಂದಿದೆ. WeaveNet ಸ್ಪಷ್ಟವಾಗಿ ಇತರವುಗಳಿಗಿಂತ ಹೆಚ್ಚು ಬಳಸುತ್ತದೆ - 130 MB, ಮತ್ತು Cilium 400 ಅನ್ನು ಬಳಸುತ್ತದೆ.
ಈಗ CPU ಸಮಯ ಬಳಕೆಯನ್ನು ಪರಿಶೀಲಿಸೋಣ. ಗಮನಿಸತಕ್ಕದ್ದು: ರೇಖಾಚಿತ್ರವು ಶೇಕಡಾವಾರು ಅಲ್ಲ, ಆದರೆ ppm ಅನ್ನು ತೋರಿಸುತ್ತದೆ, ಅಂದರೆ, "ಬೇರ್ ಕಬ್ಬಿಣ" ಗಾಗಿ 38 ppm 3,8% ಆಗಿದೆ. ಫಲಿತಾಂಶಗಳು ಇಲ್ಲಿವೆ:
ಕ್ಯಾಲಿಕೊ, ಕೆನಾಲ್, ಫ್ಲಾನೆಲ್ ಮತ್ತು ಕ್ಯೂಬೆ-ರೂಟರ್ ಅತ್ಯಂತ CPU ದಕ್ಷತೆಯನ್ನು ಹೊಂದಿವೆ - CNI ಇಲ್ಲದ ಕುಬರ್ನೆಟ್ಸ್ಗಿಂತ ಕೇವಲ 2% ಹೆಚ್ಚು. WeaveNet ಹೆಚ್ಚುವರಿ 5% ನೊಂದಿಗೆ ಹಿಂದುಳಿದಿದೆ, ನಂತರ Cilium 7% ನಲ್ಲಿದೆ.
ಸಂಪನ್ಮೂಲ ಬಳಕೆಯ ಸಾರಾಂಶ ಇಲ್ಲಿದೆ:
ಫಲಿತಾಂಶಗಳು
ಎಲ್ಲಾ ಫಲಿತಾಂಶಗಳೊಂದಿಗೆ ಟೇಬಲ್:
ತೀರ್ಮಾನಕ್ಕೆ
ಕೊನೆಯ ಭಾಗದಲ್ಲಿ ನಾನು ಫಲಿತಾಂಶಗಳ ಬಗ್ಗೆ ನನ್ನ ವ್ಯಕ್ತಿನಿಷ್ಠ ಅಭಿಪ್ರಾಯವನ್ನು ವ್ಯಕ್ತಪಡಿಸುತ್ತೇನೆ. ಈ ಮಾನದಂಡವು ಒಂದು ಸಣ್ಣ ಕ್ಲಸ್ಟರ್ನಲ್ಲಿ (3 ನೋಡ್ಗಳು) ಒಂದೇ ಸಂಪರ್ಕದ ಥ್ರೋಪುಟ್ ಅನ್ನು ಮಾತ್ರ ಪರೀಕ್ಷಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿಡಿ. ಇದು ದೊಡ್ಡ ಕ್ಲಸ್ಟರ್ಗಳಿಗೆ (<50 ನೋಡ್ಗಳು) ಅಥವಾ ಸಮಾನಾಂತರ ಸಂಪರ್ಕಗಳಿಗೆ ಅನ್ವಯಿಸುವುದಿಲ್ಲ.
ಸನ್ನಿವೇಶವನ್ನು ಅವಲಂಬಿಸಿ ಕೆಳಗಿನ CNI ಗಳನ್ನು ಬಳಸಲು ನಾನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ:
- ನಿಮ್ಮ ಕ್ಲಸ್ಟರ್ನಲ್ಲಿ ನೀವು ಹೊಂದಿದ್ದೀರಾ ಕೆಲವು ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ ನೋಡ್ಗಳು (ಹಲವಾರು GB RAM, ಹಲವಾರು ಕೋರ್ಗಳು) ಮತ್ತು ನಿಮಗೆ ಭದ್ರತಾ ವೈಶಿಷ್ಟ್ಯಗಳ ಅಗತ್ಯವಿಲ್ಲ - ಆಯ್ಕೆಮಾಡಿ ಫ್ಲಾನೆಲ್. ಇದು ಅತ್ಯಂತ ವೆಚ್ಚ-ಪರಿಣಾಮಕಾರಿ CNI ಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಮತ್ತು ಇದು ವಿವಿಧ ರೀತಿಯ ಆರ್ಕಿಟೆಕ್ಚರ್ಗಳೊಂದಿಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ (amd64, arm, arm64, ಇತ್ಯಾದಿ). ಹೆಚ್ಚುವರಿಯಾಗಿ, ಇದು ಎರಡರಲ್ಲಿ ಒಂದಾಗಿದೆ (ಇನ್ನೊಂದು ಸಿಲಿಯಮ್) CNI ಅದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ MTU ಅನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ಏನನ್ನೂ ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗಿಲ್ಲ. Kube-router ಸಹ ಸೂಕ್ತವಾಗಿದೆ, ಆದರೆ ಇದು ಪ್ರಮಾಣಿತವಾಗಿಲ್ಲ ಮತ್ತು ನೀವು MTU ಅನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.
- ಅಗತ್ಯವಿದ್ದರೆ ನೆಟ್ವರ್ಕ್ ಅನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿ ಸುರಕ್ಷತೆಗಾಗಿ, ತೆಗೆದುಕೊಳ್ಳಿ WeaveNet. ನೀವು ಜಂಬೋ ಫ್ರೇಮ್ಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ MTU ಗಾತ್ರವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಮರೆಯಬೇಡಿ ಮತ್ತು ಪರಿಸರ ವೇರಿಯಬಲ್ ಮೂಲಕ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಮೂಲಕ ಎನ್ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ. ಆದರೆ ಕಾರ್ಯಕ್ಷಮತೆಯ ಬಗ್ಗೆ ಮರೆತುಬಿಡುವುದು ಉತ್ತಮ - ಅದು ಗೂಢಲಿಪೀಕರಣದ ವೆಚ್ಚವಾಗಿದೆ.
- ಗೆ ಸಾಮಾನ್ಯ ಬಳಕೆ советую ಕ್ಯಾಲಿಕೊ. ಈ CNI ಅನ್ನು ವಿವಿಧ ಕುಬರ್ನೆಟ್ಸ್ ನಿಯೋಜನೆ ಸಾಧನಗಳಲ್ಲಿ (ಕಾಪ್ಸ್, ಕುಬೆಸ್ಪ್ರೇ, ರಾಂಚರ್, ಇತ್ಯಾದಿ) ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. WeaveNet ನಂತೆ, ಜಂಬೋ ಫ್ರೇಮ್ಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ ಕಾನ್ಫಿಗ್ಮ್ಯಾಪ್ನಲ್ಲಿ MTU ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಮರೆಯದಿರಿ. ಇದು ಬಹು-ಕ್ರಿಯಾತ್ಮಕ ಸಾಧನವಾಗಿದ್ದು ಅದು ಸಂಪನ್ಮೂಲ ಬಳಕೆ, ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ಸುರಕ್ಷತೆಯ ವಿಷಯದಲ್ಲಿ ಪರಿಣಾಮಕಾರಿಯಾಗಿದೆ.
ಮತ್ತು ಅಂತಿಮವಾಗಿ, ಅಭಿವೃದ್ಧಿಯನ್ನು ಅನುಸರಿಸಲು ನಾನು ನಿಮಗೆ ಸಲಹೆ ನೀಡುತ್ತೇನೆ ಸಿಲಿಯಮ್. ಈ CNI ತಮ್ಮ ಉತ್ಪನ್ನದ ಮೇಲೆ ಬಹಳಷ್ಟು ಕೆಲಸ ಮಾಡುವ ಅತ್ಯಂತ ಸಕ್ರಿಯ ತಂಡವನ್ನು ಹೊಂದಿದೆ (ವೈಶಿಷ್ಟ್ಯಗಳು, ಸಂಪನ್ಮೂಲ ಉಳಿತಾಯ, ಕಾರ್ಯಕ್ಷಮತೆ, ಭದ್ರತೆ, ಕ್ಲಸ್ಟರಿಂಗ್...) ಮತ್ತು ಅವರು ತುಂಬಾ ಆಸಕ್ತಿದಾಯಕ ಯೋಜನೆಗಳನ್ನು ಹೊಂದಿದ್ದಾರೆ.
ಮೂಲ: www.habr.com