ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ DNS ನೊಂದಿಗೆ ಸಮಸ್ಯೆಗಳು. ಸಾರ್ವಜನಿಕ ಮರಣೋತ್ತರ ಪರೀಕ್ಷೆ

ಸೂಚನೆ ಅನುವಾದ: ಇದು ಕಂಪನಿಯ ಎಂಜಿನಿಯರಿಂಗ್ ಬ್ಲಾಗ್‌ನಿಂದ ಸಾರ್ವಜನಿಕ ಪೋಸ್ಟ್‌ಮಾರ್ಟಮ್‌ನ ಅನುವಾದವಾಗಿದೆ ತಯಾರಿ. ಇದು ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿ ಕಾಂಟ್ರಾಕ್‌ನ ಸಮಸ್ಯೆಯನ್ನು ವಿವರಿಸುತ್ತದೆ, ಇದು ಕೆಲವು ಉತ್ಪಾದನಾ ಸೇವೆಗಳ ಭಾಗಶಃ ಅಲಭ್ಯತೆಗೆ ಕಾರಣವಾಯಿತು.

ಪೋಸ್ಟ್‌ಮಾರ್ಟಮ್‌ಗಳ ಬಗ್ಗೆ ಸ್ವಲ್ಪ ಹೆಚ್ಚು ತಿಳಿದುಕೊಳ್ಳಲು ಅಥವಾ ಭವಿಷ್ಯದಲ್ಲಿ ಕೆಲವು ಸಂಭಾವ್ಯ DNS ಸಮಸ್ಯೆಗಳನ್ನು ತಡೆಯಲು ಬಯಸುವವರಿಗೆ ಈ ಲೇಖನವು ಉಪಯುಕ್ತವಾಗಬಹುದು.

ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ DNS ನೊಂದಿಗೆ ಸಮಸ್ಯೆಗಳು. ಸಾರ್ವಜನಿಕ ಮರಣೋತ್ತರ ಪರೀಕ್ಷೆ
ಇದು DNS ಅಲ್ಲ
ಇದು DNS ಆಗಿರಬಾರದು
ಅದು DNS ಆಗಿತ್ತು

Preply ನಲ್ಲಿ ಪೋಸ್ಟ್‌ಮಾರ್ಟಮ್‌ಗಳು ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗಳ ಬಗ್ಗೆ ಸ್ವಲ್ಪ

ಮರಣೋತ್ತರ ಪರೀಕ್ಷೆಯು ಅಸಮರ್ಪಕ ಕ್ರಿಯೆ ಅಥವಾ ಉತ್ಪಾದನೆಯಲ್ಲಿನ ಕೆಲವು ಘಟನೆಯನ್ನು ವಿವರಿಸುತ್ತದೆ. ಮರಣೋತ್ತರ ಪರೀಕ್ಷೆಯು ಘಟನೆಗಳ ಟೈಮ್‌ಲೈನ್, ಬಳಕೆದಾರರ ಪ್ರಭಾವ, ಮೂಲ ಕಾರಣ, ತೆಗೆದುಕೊಂಡ ಕ್ರಮಗಳು ಮತ್ತು ಕಲಿತ ಪಾಠಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

SRE ಹುಡುಕಲಾಗುತ್ತಿದೆ

ಪಿಜ್ಜಾದೊಂದಿಗೆ ಸಾಪ್ತಾಹಿಕ ಸಭೆಗಳಲ್ಲಿ, ತಾಂತ್ರಿಕ ತಂಡದಲ್ಲಿ, ನಾವು ವಿವಿಧ ಮಾಹಿತಿಯನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತೇವೆ. ಅಂತಹ ಸಭೆಗಳ ಪ್ರಮುಖ ಭಾಗವೆಂದರೆ ಮರಣೋತ್ತರ ಪರೀಕ್ಷೆಗಳು, ಇದು ಹೆಚ್ಚಾಗಿ ಸ್ಲೈಡ್‌ಗಳೊಂದಿಗೆ ಪ್ರಸ್ತುತಿ ಮತ್ತು ಘಟನೆಯ ಹೆಚ್ಚು ಆಳವಾದ ವಿಶ್ಲೇಷಣೆಯೊಂದಿಗೆ ಇರುತ್ತದೆ. ಮರಣೋತ್ತರ ಪರೀಕ್ಷೆಯ ನಂತರ ನಾವು ಚಪ್ಪಾಳೆ ತಟ್ಟದಿದ್ದರೂ, ನಾವು "ಯಾವುದೇ ಆಪಾದನೆ ಇಲ್ಲ" ಎಂಬ ಸಂಸ್ಕೃತಿಯನ್ನು ಬೆಳೆಸಲು ಪ್ರಯತ್ನಿಸುತ್ತೇವೆ (ದೋಷರಹಿತ ಸಂಸ್ಕೃತಿ) ಪೋಸ್ಟ್‌ಮಾರ್ಟಮ್‌ಗಳನ್ನು ಬರೆಯುವುದು ಮತ್ತು ಪ್ರಸ್ತುತಪಡಿಸುವುದು ಭವಿಷ್ಯದಲ್ಲಿ ಇದೇ ರೀತಿಯ ಘಟನೆಗಳನ್ನು ತಡೆಯಲು ನಮಗೆ (ಮತ್ತು ಇತರರು) ಸಹಾಯ ಮಾಡುತ್ತದೆ ಎಂದು ನಾವು ನಂಬುತ್ತೇವೆ, ಅದಕ್ಕಾಗಿಯೇ ನಾವು ಅವುಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತಿದ್ದೇವೆ.

ಘಟನೆಯಲ್ಲಿ ಭಾಗಿಯಾಗಿರುವ ವ್ಯಕ್ತಿಗಳು ಶಿಕ್ಷೆ ಅಥವಾ ಪ್ರತೀಕಾರದ ಭಯವಿಲ್ಲದೆ ವಿವರವಾಗಿ ಮಾತನಾಡಬಹುದು ಎಂದು ಭಾವಿಸಬೇಕು. ಆಪಾದನೆ ಇಲ್ಲ! ಮರಣೋತ್ತರ ಪರೀಕ್ಷೆಯನ್ನು ಬರೆಯುವುದು ಶಿಕ್ಷೆಯಲ್ಲ, ಆದರೆ ಇಡೀ ಕಂಪನಿಗೆ ಕಲಿಕೆಯ ಅವಕಾಶ.

CALMS ಮತ್ತು DevOps ಅನ್ನು ಇರಿಸಿಕೊಳ್ಳಿ: S ಹಂಚಿಕೆಗಾಗಿ

ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ DNS ನೊಂದಿಗೆ ಸಮಸ್ಯೆಗಳು. ಮರಣೋತ್ತರ ಪರೀಕ್ಷೆ

ದಿನಾಂಕ: 28.02.2020

ಲೇಖಕರು: ಅಮೆಟ್ ಯು., ಆಂಡ್ರೆ ಎಸ್., ಇಗೊರ್ ಕೆ., ಅಲೆಕ್ಸಿ ಪಿ.

ಸ್ಥಿತಿ: ಮುಗಿದಿದೆ

ಸಂಕ್ಷಿಪ್ತವಾಗಿ: ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿನ ಕೆಲವು ಸೇವೆಗಳಿಗೆ ಭಾಗಶಃ DNS ಅಲಭ್ಯತೆ (26 ನಿಮಿಷ).

ಪ್ರಭಾವ: A, B ಮತ್ತು C ಸೇವೆಗಳಿಗಾಗಿ 15000 ಈವೆಂಟ್‌ಗಳು ಕಳೆದುಹೋಗಿವೆ

ಮೂಲ ಕಾರಣ: Kube-proxy ಗೆ ಕಾಂಟ್ರಾಕ್ ಟೇಬಲ್‌ನಿಂದ ಹಳೆಯ ನಮೂದನ್ನು ಸರಿಯಾಗಿ ತೆಗೆದುಹಾಕಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ, ಆದ್ದರಿಂದ ಕೆಲವು ಸೇವೆಗಳು ಇನ್ನೂ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ಪಾಡ್‌ಗಳಿಗೆ ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿವೆ

E0228 20:13:53.795782       1 proxier.go:610] Failed to delete kube-system/kube-dns:dns endpoint connections, error: error deleting conntrack entries for UDP peer {100.64.0.10, 100.110.33.231}, error: conntrack command returned: ...

ಪ್ರಚೋದಕ: ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್‌ನೊಳಗಿನ ಕಡಿಮೆ ಹೊರೆಯಿಂದಾಗಿ, CoreDNS-ಆಟೋಸ್ಕೇಲರ್ ನಿಯೋಜನೆಯಲ್ಲಿನ ಪಾಡ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಮೂರರಿಂದ ಎರಡಕ್ಕೆ ಇಳಿಸಿತು.

ಪರಿಹಾರ: ಅಪ್ಲಿಕೇಶನ್‌ನ ಮುಂದಿನ ನಿಯೋಜನೆಯು ಹೊಸ ನೋಡ್‌ಗಳ ರಚನೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿತು, CoreDNS-ಆಟೋಸ್ಕೇಲರ್ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಪೂರೈಸಲು ಹೆಚ್ಚಿನ ಪಾಡ್‌ಗಳನ್ನು ಸೇರಿಸಿತು, ಇದು ಕಾಂಟ್ರಾಕ್ ಟೇಬಲ್‌ನ ಪುನಃ ಬರೆಯುವಿಕೆಯನ್ನು ಪ್ರಚೋದಿಸಿತು.

ಪತ್ತೆ: ಪ್ರಮೀತಿಯಸ್ ಮಾನಿಟರಿಂಗ್ A, B ಮತ್ತು C ಸೇವೆಗಳಿಗಾಗಿ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ 5xx ದೋಷಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಿದೆ ಮತ್ತು ಕರ್ತವ್ಯದಲ್ಲಿರುವ ಎಂಜಿನಿಯರ್‌ಗಳಿಗೆ ಕರೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿತು

ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ DNS ನೊಂದಿಗೆ ಸಮಸ್ಯೆಗಳು. ಸಾರ್ವಜನಿಕ ಮರಣೋತ್ತರ ಪರೀಕ್ಷೆ
ಕಿಬಾನಾದಲ್ಲಿ 5xx ದೋಷಗಳು

ಕ್ರಿಯೆಗಳು

ಪರಿಣಾಮ
ಕೌಟುಂಬಿಕತೆ
ಜವಾಬ್ದಾರಿ
ಉದ್ದೇಶ

CoreDNS ಗಾಗಿ ಆಟೋಸ್ಕೇಲರ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ
ತಡೆದರು
ಅಮೆಟ್ ಯು.
DEVOPS-695

ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವ DNS ಸರ್ವರ್ ಅನ್ನು ಹೊಂದಿಸಿ
ಇಳಿಕೆ
ಮ್ಯಾಕ್ಸ್ ವಿ.
DEVOPS-665

ಕಾಂಟ್ರಾಕ್ ಮಾನಿಟರಿಂಗ್ ಅನ್ನು ಹೊಂದಿಸಿ
ತಡೆದರು
ಅಮೆಟ್ ಯು.
DEVOPS-674

ಕಲಿತ ಪಾಠಗಳು

ಯಾವುದು ಚೆನ್ನಾಗಿ ಹೋಯಿತು:

  • ಮಾನಿಟರಿಂಗ್ ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡಿದೆ. ಪ್ರತಿಕ್ರಿಯೆ ವೇಗವಾಗಿ ಮತ್ತು ಸಂಘಟಿತವಾಗಿತ್ತು
  • ನಾವು ನೋಡ್‌ಗಳಲ್ಲಿ ಯಾವುದೇ ಮಿತಿಗಳನ್ನು ಹೊಡೆದಿಲ್ಲ

ಏನು ತಪ್ಪಾಗಿದೆ:

  • ಇದೇ ರೀತಿಯ ನಿಜವಾದ ಮೂಲ ಕಾರಣ ಇನ್ನೂ ತಿಳಿದಿಲ್ಲ ನಿರ್ದಿಷ್ಟ ದೋಷ ಕಾಂಟ್ರಾಕ್ನಲ್ಲಿ
  • ಎಲ್ಲಾ ಕ್ರಿಯೆಗಳು ಪರಿಣಾಮಗಳನ್ನು ಮಾತ್ರ ಸರಿಪಡಿಸುತ್ತವೆ, ಮೂಲ ಕಾರಣವಲ್ಲ (ದೋಷ)
  • ಬೇಗ ಅಥವಾ ನಂತರ ನಮಗೆ DNS ನಲ್ಲಿ ಸಮಸ್ಯೆಗಳಿರಬಹುದು ಎಂದು ನಮಗೆ ತಿಳಿದಿತ್ತು, ಆದರೆ ನಾವು ಕಾರ್ಯಗಳಿಗೆ ಆದ್ಯತೆ ನೀಡಲಿಲ್ಲ

ನಮಗೆ ಎಲ್ಲಿ ಅದೃಷ್ಟ ಸಿಕ್ಕಿತು:

  • ಮುಂದಿನ ನಿಯೋಜನೆಯನ್ನು CoreDNS-autoscaler ನಿಂದ ಪ್ರಚೋದಿಸಲಾಯಿತು, ಇದು ಕಾಂಟ್ರಾಕ್ ಟೇಬಲ್ ಅನ್ನು ತಿದ್ದಿ ಬರೆಯಿತು
  • ಈ ದೋಷವು ಕೆಲವು ಸೇವೆಗಳಿಗೆ ಮಾತ್ರ ಪರಿಣಾಮ ಬೀರಿದೆ

ಟೈಮ್‌ಲೈನ್ (EET)

Время
ಪರಿಣಾಮ

22:13
CoreDNS-autoscaler ಪಾಡ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಮೂರರಿಂದ ಎರಡಕ್ಕೆ ಇಳಿಸಿತು

22:18
ಕರ್ತವ್ಯದಲ್ಲಿದ್ದ ಎಂಜಿನಿಯರ್‌ಗಳು ಮೇಲ್ವಿಚಾರಣಾ ವ್ಯವಸ್ಥೆಯಿಂದ ಕರೆಗಳನ್ನು ಸ್ವೀಕರಿಸಲು ಪ್ರಾರಂಭಿಸಿದರು

22:21
ಕರ್ತವ್ಯದಲ್ಲಿದ್ದ ಎಂಜಿನಿಯರ್‌ಗಳು ದೋಷಗಳ ಕಾರಣವನ್ನು ಕಂಡುಹಿಡಿಯಲು ಪ್ರಾರಂಭಿಸಿದರು.

22:39
ಕರ್ತವ್ಯದಲ್ಲಿರುವ ಇಂಜಿನಿಯರ್‌ಗಳು ಇತ್ತೀಚಿನ ಸೇವೆಗಳಲ್ಲಿ ಒಂದನ್ನು ಹಿಂದಿನ ಆವೃತ್ತಿಗೆ ಹಿಂತಿರುಗಿಸಲು ಪ್ರಾರಂಭಿಸಿದರು

22:40
5xx ದೋಷಗಳು ಕಾಣಿಸಿಕೊಳ್ಳುವುದನ್ನು ನಿಲ್ಲಿಸಿವೆ, ಪರಿಸ್ಥಿತಿಯನ್ನು ಸ್ಥಿರಗೊಳಿಸಲಾಗಿದೆ

  • ಪತ್ತೆಹಚ್ಚುವ ಸಮಯ: 4 ನಿಮಿಷ
  • ಕ್ರಿಯೆಯ ಮೊದಲು ಸಮಯ: 21 ನಿಮಿಷ
  • ಸರಿಪಡಿಸಲು ಸಮಯ: 1 ನಿಮಿಷ

ಹೆಚ್ಚುವರಿ ಮಾಹಿತಿ

CPU ಬಳಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು, Linux ಕರ್ನಲ್ ಕಾಂಟ್ರಾಕ್ ಎಂದು ಕರೆಯುವದನ್ನು ಬಳಸುತ್ತದೆ. ಸಂಕ್ಷಿಪ್ತವಾಗಿ, ಇದು ವಿಶೇಷ ಕೋಷ್ಟಕದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾದ NAT ದಾಖಲೆಗಳ ಪಟ್ಟಿಯನ್ನು ಒಳಗೊಂಡಿರುವ ಉಪಯುಕ್ತತೆಯಾಗಿದೆ. ಮುಂದಿನ ಪ್ಯಾಕೆಟ್ ಅದೇ ಪಾಡ್‌ನಿಂದ ಮೊದಲಿನ ಅದೇ ಪಾಡ್‌ಗೆ ಬಂದಾಗ, ಅಂತಿಮ IP ವಿಳಾಸವನ್ನು ಮರು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲಾಗುವುದಿಲ್ಲ, ಆದರೆ ಕಾಂಟ್ರ್ಯಾಕ್ ಟೇಬಲ್‌ನಿಂದ ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ.
ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ DNS ನೊಂದಿಗೆ ಸಮಸ್ಯೆಗಳು. ಸಾರ್ವಜನಿಕ ಮರಣೋತ್ತರ ಪರೀಕ್ಷೆ
ಕಾಂಟ್ರಾಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ

ಫಲಿತಾಂಶಗಳು

ಇದು ಕೆಲವು ಉಪಯುಕ್ತ ಲಿಂಕ್‌ಗಳೊಂದಿಗೆ ನಮ್ಮ ಪೋಸ್ಟ್‌ಮಾರ್ಟಮ್‌ಗಳ ಒಂದು ಉದಾಹರಣೆಯಾಗಿದೆ. ನಿರ್ದಿಷ್ಟವಾಗಿ ಈ ಲೇಖನದಲ್ಲಿ, ಇತರ ಕಂಪನಿಗಳಿಗೆ ಉಪಯುಕ್ತವಾದ ಮಾಹಿತಿಯನ್ನು ನಾವು ಹಂಚಿಕೊಳ್ಳುತ್ತೇವೆ. ಅದಕ್ಕಾಗಿಯೇ ನಾವು ತಪ್ಪುಗಳನ್ನು ಮಾಡಲು ಹೆದರುವುದಿಲ್ಲ ಮತ್ತು ಅದಕ್ಕಾಗಿಯೇ ನಾವು ನಮ್ಮ ಮರಣೋತ್ತರ ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ಒಂದನ್ನು ಸಾರ್ವಜನಿಕಗೊಳಿಸುತ್ತೇವೆ. ಇನ್ನೂ ಕೆಲವು ಆಸಕ್ತಿದಾಯಕ ಸಾರ್ವಜನಿಕ ಪೋಸ್ಟ್‌ಮಾರ್ಟಮ್‌ಗಳು ಇಲ್ಲಿವೆ:

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ