Pinterest ನಲ್ಲಿ kubernetes ವೇದಿಕೆಯನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ

ವರ್ಷಗಳಲ್ಲಿ, Pinterest ನ 300 ಮಿಲಿಯನ್ ಬಳಕೆದಾರರು 200 ಶತಕೋಟಿಗಿಂತ ಹೆಚ್ಚಿನ ಬೋರ್ಡ್‌ಗಳಲ್ಲಿ 4 ಶತಕೋಟಿ ಪಿನ್‌ಗಳನ್ನು ರಚಿಸಿದ್ದಾರೆ. ಬಳಕೆದಾರರ ಈ ಸೈನ್ಯವನ್ನು ಮತ್ತು ವಿಶಾಲವಾದ ವಿಷಯ ಬೇಸ್ ಅನ್ನು ಪೂರೈಸಲು, ಪೋರ್ಟಲ್ ಸಾವಿರಾರು ಸೇವೆಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದೆ, ಕೆಲವು CPUಗಳಿಂದ ನಿರ್ವಹಿಸಬಹುದಾದ ಮೈಕ್ರೋ ಸರ್ವೀಸ್‌ಗಳಿಂದ ಹಿಡಿದು, ವರ್ಚುವಲ್ ಯಂತ್ರಗಳ ಸಂಪೂರ್ಣ ಫ್ಲೀಟ್‌ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ದೈತ್ಯ ಏಕಶಿಲೆಗಳವರೆಗೆ. ಮತ್ತು ಕಂಪನಿಯ ಕಣ್ಣುಗಳು k8 ಗಳ ಮೇಲೆ ಬಿದ್ದ ಕ್ಷಣ ಬಂದಿತು. Pinterest ನಲ್ಲಿ "ಕ್ಯೂಬ್" ಏಕೆ ಚೆನ್ನಾಗಿ ಕಾಣುತ್ತದೆ? ನಮ್ಮ ಇತ್ತೀಚಿನ ಲೇಖನದ ಅನುವಾದದಿಂದ ನೀವು ಇದರ ಬಗ್ಗೆ ಕಲಿಯುವಿರಿ ಬ್ಲಾಗ್ Pinterest ಎಂಜಿನಿಯರಿಂಗ್.

Pinterest ನಲ್ಲಿ kubernetes ವೇದಿಕೆಯನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ

ಆದ್ದರಿಂದ, ನೂರಾರು ಮಿಲಿಯನ್ ಬಳಕೆದಾರರು ಮತ್ತು ನೂರಾರು ಶತಕೋಟಿ ಪಿನ್‌ಗಳು. ಈ ಬಳಕೆದಾರರ ಸೈನ್ಯವನ್ನು ಮತ್ತು ವಿಶಾಲವಾದ ವಿಷಯ ಬೇಸ್ ಅನ್ನು ಪೂರೈಸಲು, ನಾವು ಕೆಲವು CPUಗಳಿಂದ ನಿರ್ವಹಿಸಬಹುದಾದ ಮೈಕ್ರೋ ಸರ್ವೀಸ್‌ಗಳಿಂದ ಹಿಡಿದು, ವರ್ಚುವಲ್ ಯಂತ್ರಗಳ ಸಂಪೂರ್ಣ ಫ್ಲೀಟ್‌ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ದೈತ್ಯ ಏಕಶಿಲೆಗಳವರೆಗೆ ಸಾವಿರಾರು ಸೇವೆಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ್ದೇವೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ನಾವು CPU, ಮೆಮೊರಿ, ಅಥವಾ I/O ಪ್ರವೇಶದ ಅಗತ್ಯವಿರುವ ವಿವಿಧ ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ.

ಉಪಕರಣಗಳ ಈ ಮೃಗಾಲಯವನ್ನು ನಿರ್ವಹಿಸುವಲ್ಲಿ, ಅಭಿವೃದ್ಧಿ ತಂಡವು ಹಲವಾರು ಸವಾಲುಗಳನ್ನು ಎದುರಿಸುತ್ತದೆ:

  • ಉತ್ಪಾದನಾ ಪರಿಸರವನ್ನು ನಡೆಸಲು ಎಂಜಿನಿಯರ್‌ಗಳಿಗೆ ಏಕರೂಪದ ಮಾರ್ಗವಿಲ್ಲ. ಸ್ಥಿತಿಯಿಲ್ಲದ ಸೇವೆಗಳು, ಸ್ಟೇಟ್‌ಫುಲ್ ಸೇವೆಗಳು ಮತ್ತು ಸಕ್ರಿಯ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿರುವ ಯೋಜನೆಗಳು ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನ ತಂತ್ರಜ್ಞಾನದ ಸ್ಟ್ಯಾಕ್‌ಗಳನ್ನು ಆಧರಿಸಿವೆ. ಇದು ಇಂಜಿನಿಯರ್‌ಗಳಿಗೆ ಸಂಪೂರ್ಣ ತರಬೇತಿ ಕೋರ್ಸ್‌ನ ರಚನೆಗೆ ಕಾರಣವಾಯಿತು ಮತ್ತು ನಮ್ಮ ಮೂಲಸೌಕರ್ಯ ತಂಡದ ಕೆಲಸವನ್ನು ಗಂಭೀರವಾಗಿ ಸಂಕೀರ್ಣಗೊಳಿಸುತ್ತದೆ.
  • ತಮ್ಮ ಸ್ವಂತ ವರ್ಚುವಲ್ ಯಂತ್ರಗಳ ಸಮೂಹವನ್ನು ಹೊಂದಿರುವ ಡೆವಲಪರ್‌ಗಳು ಆಂತರಿಕ ನಿರ್ವಾಹಕರ ಮೇಲೆ ದೊಡ್ಡ ಹೊರೆಯನ್ನು ಸೃಷ್ಟಿಸುತ್ತಾರೆ. ಪರಿಣಾಮವಾಗಿ, OS ಅಥವಾ AMI ಅನ್ನು ನವೀಕರಿಸುವಂತಹ ಸರಳ ಕಾರ್ಯಾಚರಣೆಗಳು ವಾರಗಳು ಮತ್ತು ತಿಂಗಳುಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಇದು ತೋರಿಕೆಯಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ದೈನಂದಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ ಹೆಚ್ಚಿದ ಕೆಲಸದ ಹೊರೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ.
  • ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪರಿಹಾರಗಳ ಮೇಲೆ ಜಾಗತಿಕ ಮೂಲಸೌಕರ್ಯ ನಿರ್ವಹಣಾ ಸಾಧನಗಳನ್ನು ರಚಿಸುವಲ್ಲಿ ತೊಂದರೆಗಳು. ವರ್ಚುವಲ್ ಯಂತ್ರಗಳ ಮಾಲೀಕರನ್ನು ಕಂಡುಹಿಡಿಯುವುದು ಸುಲಭವಲ್ಲ ಎಂಬ ಅಂಶದಿಂದ ಪರಿಸ್ಥಿತಿಯು ಮತ್ತಷ್ಟು ಜಟಿಲವಾಗಿದೆ. ಅಂದರೆ, ನಮ್ಮ ಮೂಲಸೌಕರ್ಯದ ಇತರ ಭಾಗಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಈ ಸಾಮರ್ಥ್ಯವನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಹೊರತೆಗೆಯಬಹುದೇ ಎಂದು ನಮಗೆ ತಿಳಿದಿಲ್ಲ.

ಕಂಟೈನರ್ ಆರ್ಕೆಸ್ಟ್ರೇಶನ್ ವ್ಯವಸ್ಥೆಗಳು ಕೆಲಸದ ಹೊರೆ ನಿರ್ವಹಣೆಯನ್ನು ಏಕೀಕರಿಸುವ ಒಂದು ಮಾರ್ಗವಾಗಿದೆ. ಅವರು ಹೆಚ್ಚಿದ ಅಭಿವೃದ್ಧಿ ವೇಗಕ್ಕೆ ಬಾಗಿಲು ತೆರೆಯುತ್ತಾರೆ ಮತ್ತು ಮೂಲಸೌಕರ್ಯ ನಿರ್ವಹಣೆಯನ್ನು ಸರಳಗೊಳಿಸುತ್ತಾರೆ, ಏಕೆಂದರೆ ಯೋಜನೆಯಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಒಂದು ಕೇಂದ್ರೀಕೃತ ವ್ಯವಸ್ಥೆಯಿಂದ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ.

Pinterest ನಲ್ಲಿ kubernetes ವೇದಿಕೆಯನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ

ಚಿತ್ರ 1: ಮೂಲಸೌಕರ್ಯ ಆದ್ಯತೆಗಳು (ವಿಶ್ವಾಸಾರ್ಹತೆ, ಡೆವಲಪರ್ ಉತ್ಪಾದಕತೆ ಮತ್ತು ದಕ್ಷತೆ).

Pinterest ನಲ್ಲಿನ ಕ್ಲೌಡ್ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ತಂಡವು 8 ರಲ್ಲಿ K2017 ಗಳನ್ನು ಕಂಡುಹಿಡಿದಿದೆ. 2017 ರ ಮೊದಲಾರ್ಧದ ವೇಳೆಗೆ, API ಮತ್ತು ನಮ್ಮ ಎಲ್ಲಾ ವೆಬ್ ಸರ್ವರ್‌ಗಳು ಸೇರಿದಂತೆ ನಮ್ಮ ಹೆಚ್ಚಿನ ಉತ್ಪಾದನಾ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ನಾವು ದಾಖಲಿಸಿದ್ದೇವೆ. ನಂತರ, ಕಂಟೇನರ್ ಪರಿಹಾರಗಳನ್ನು ಸಂಘಟಿಸಲು, ಕ್ಲಸ್ಟರ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಮತ್ತು ಅವರೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ನಾವು ವಿವಿಧ ವ್ಯವಸ್ಥೆಗಳ ಸಂಪೂರ್ಣ ಮೌಲ್ಯಮಾಪನವನ್ನು ನಡೆಸಿದ್ದೇವೆ. 2017 ರ ಅಂತ್ಯದ ವೇಳೆಗೆ, ನಾವು ಕುಬರ್ನೆಟ್ಸ್ ಅನ್ನು ಬಳಸಲು ನಿರ್ಧರಿಸಿದ್ದೇವೆ. ಇದು ಸಾಕಷ್ಟು ಹೊಂದಿಕೊಳ್ಳುವ ಮತ್ತು ಡೆವಲಪರ್ ಸಮುದಾಯದಲ್ಲಿ ವ್ಯಾಪಕವಾಗಿ ಬೆಂಬಲಿತವಾಗಿದೆ.

ಇಲ್ಲಿಯವರೆಗೆ, ನಾವು ನಮ್ಮದೇ ಆದ ಕ್ಲಸ್ಟರ್ ಬೂಟ್ ಪರಿಕರಗಳನ್ನು Kops ಆಧರಿಸಿ ನಿರ್ಮಿಸಿದ್ದೇವೆ ಮತ್ತು ನೆಟ್‌ವರ್ಕಿಂಗ್, ಭದ್ರತೆ, ಮೆಟ್ರಿಕ್ಸ್, ಲಾಗಿಂಗ್, ಐಡೆಂಟಿಟಿ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಮತ್ತು ಟ್ರಾಫಿಕ್‌ನಂತಹ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಮೂಲಸೌಕರ್ಯ ಘಟಕಗಳನ್ನು ಕುಬರ್ನೆಟ್ಸ್‌ಗೆ ಸ್ಥಳಾಂತರಿಸಿದ್ದೇವೆ. ನಮ್ಮ ಸಂಪನ್ಮೂಲಕ್ಕಾಗಿ ನಾವು ವರ್ಕ್‌ಲೋಡ್ ಮಾಡೆಲಿಂಗ್ ವ್ಯವಸ್ಥೆಯನ್ನು ಸಹ ಅಳವಡಿಸಿದ್ದೇವೆ, ಅದರ ಸಂಕೀರ್ಣತೆಯನ್ನು ಡೆವಲಪರ್‌ಗಳಿಂದ ಮರೆಮಾಡಲಾಗಿದೆ. ಈಗ ನಾವು ಕ್ಲಸ್ಟರ್‌ನ ಸ್ಥಿರತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, ಅದನ್ನು ಸ್ಕೇಲಿಂಗ್ ಮಾಡಲು ಮತ್ತು ಹೊಸ ಕ್ಲೈಂಟ್‌ಗಳನ್ನು ಸಂಪರ್ಕಿಸಲು ಗಮನಹರಿಸಿದ್ದೇವೆ.

ಕುಬರ್ನೆಟ್ಸ್: ದಿ Pinterest ವೇ

ನಮ್ಮ ಇಂಜಿನಿಯರ್‌ಗಳು ಇಷ್ಟಪಡುವ ವೇದಿಕೆಯಾಗಿ Pinterest ಪ್ರಮಾಣದಲ್ಲಿ Kubernetes ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸುವುದು ಬಹಳಷ್ಟು ಸವಾಲುಗಳೊಂದಿಗೆ ಬಂದಿತು.

ದೊಡ್ಡ ಕಂಪನಿಯಾಗಿ, ನಾವು ಮೂಲಸೌಕರ್ಯ ಸಾಧನಗಳಲ್ಲಿ ಹೆಚ್ಚು ಹೂಡಿಕೆ ಮಾಡಿದ್ದೇವೆ. ಉದಾಹರಣೆಗಳು ಪ್ರಮಾಣಪತ್ರ ಸಂಸ್ಕರಣೆ ಮತ್ತು ಪ್ರಮುಖ ವಿತರಣೆ, ಟ್ರಾಫಿಕ್ ನಿಯಂತ್ರಣ ಘಟಕಗಳು, ಸೇವಾ ಶೋಧನೆ ವ್ಯವಸ್ಥೆಗಳು, ಗೋಚರತೆಯ ಘಟಕಗಳು ಮತ್ತು ಲಾಗ್ ಮತ್ತು ಮೆಟ್ರಿಕ್ಸ್ ರವಾನೆ ಘಟಕಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಭದ್ರತಾ ಸಾಧನಗಳನ್ನು ಒಳಗೊಂಡಿವೆ. ಇದೆಲ್ಲವನ್ನೂ ಒಂದು ಕಾರಣಕ್ಕಾಗಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ: ನಾವು ಪ್ರಯೋಗ ಮತ್ತು ದೋಷದ ಸಾಮಾನ್ಯ ಹಾದಿಯಲ್ಲಿ ಸಾಗಿದ್ದೇವೆ ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ಹಳೆಯ ಚಕ್ರವನ್ನು ಹೊಸ ವೇದಿಕೆಯಲ್ಲಿ ಮರುಶೋಧಿಸುವ ಬದಲು ಕುಬರ್ನೆಟ್ಸ್‌ನಲ್ಲಿನ ಹೊಸ ಮೂಲಸೌಕರ್ಯಕ್ಕೆ ಈ ಎಲ್ಲಾ ಸಾಧನಗಳನ್ನು ಸಂಯೋಜಿಸಲು ಬಯಸಿದ್ದೇವೆ. ಈ ವಿಧಾನವು ಒಟ್ಟಾರೆಯಾಗಿ ವಲಸೆಯನ್ನು ಸರಳಗೊಳಿಸಿದೆ, ಏಕೆಂದರೆ ಎಲ್ಲಾ ಅಪ್ಲಿಕೇಶನ್ ಬೆಂಬಲವು ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಮತ್ತು ಮೊದಲಿನಿಂದ ರಚಿಸಬೇಕಾಗಿಲ್ಲ.

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

ಒಂದೇ ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿ ವಿಭಿನ್ನ ಆವೃತ್ತಿಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ತುಂಬಾ ಕಷ್ಟಕರವಾಗಿತ್ತು. ನೀವು ಅವರ ಎಲ್ಲಾ ಸಮಸ್ಯೆಗಳು, ದೋಷಗಳು ಮತ್ತು ನವೀಕರಣಗಳೊಂದಿಗೆ ಒಂದೇ ರನ್‌ಟೈಮ್ ಪರಿಸರದ ಬಹು ಆವೃತ್ತಿಗಳಲ್ಲಿ ಏಕಕಾಲದಲ್ಲಿ ಕೆಲಸ ಮಾಡಬೇಕಾದರೆ ಗ್ರಾಹಕರ ಬೆಂಬಲದ ಸಂಕೀರ್ಣತೆಯನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ.

Pinterest ಬಳಕೆದಾರ ಗುಣಲಕ್ಷಣಗಳು ಮತ್ತು ನಿಯಂತ್ರಕಗಳು

ನಮ್ಮ ಇಂಜಿನಿಯರ್‌ಗಳಿಗೆ ಕುಬರ್ನೆಟ್‌ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸುಲಭವಾಗುವಂತೆ ಮಾಡಲು ಮತ್ತು ನಮ್ಮ ಮೂಲಸೌಕರ್ಯವನ್ನು ಸರಳೀಕರಿಸಲು ಮತ್ತು ವೇಗಗೊಳಿಸಲು, ನಾವು ನಮ್ಮದೇ ಆದ ಕಸ್ಟಮ್ ಸಂಪನ್ಮೂಲ ವ್ಯಾಖ್ಯಾನಗಳನ್ನು (CRDs) ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ್ದೇವೆ.

CRD ಗಳು ಈ ಕೆಳಗಿನ ಕಾರ್ಯವನ್ನು ಒದಗಿಸುತ್ತವೆ:

  1. ವಿವಿಧ ಸ್ಥಳೀಯ ಕುಬರ್ನೆಟ್ಸ್ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಒಟ್ಟುಗೂಡಿಸುವುದರಿಂದ ಅವು ಒಂದೇ ಕೆಲಸದ ಹೊರೆಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಉದಾಹರಣೆಗೆ, PinterestService ಸಂಪನ್ಮೂಲವು ನಿಯೋಜನೆ, ಲಾಗಿನ್ ಸೇವೆ ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್ ನಕ್ಷೆಯನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಇದು ಡೆವಲಪರ್‌ಗಳಿಗೆ DNS ಅನ್ನು ಹೊಂದಿಸುವ ಬಗ್ಗೆ ಚಿಂತಿಸದಿರಲು ಅನುಮತಿಸುತ್ತದೆ.
  2. ಅಗತ್ಯ ಅಪ್ಲಿಕೇಶನ್ ಬೆಂಬಲವನ್ನು ಅಳವಡಿಸಿ. ಬಳಕೆದಾರರು ತಮ್ಮ ವ್ಯವಹಾರದ ತರ್ಕಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಕಂಟೇನರ್ ನಿರ್ದಿಷ್ಟತೆಯ ಮೇಲೆ ಮಾತ್ರ ಗಮನಹರಿಸಬೇಕು, ಆದರೆ CRD ನಿಯಂತ್ರಕವು ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ init ಕಂಟೈನರ್‌ಗಳು, ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳು ಮತ್ತು ಪಾಡ್ ವಿಶೇಷಣಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ಇದು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಮೂಲಭೂತವಾಗಿ ವಿಭಿನ್ನ ಮಟ್ಟದ ಸೌಕರ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ.
  3. CRD ನಿಯಂತ್ರಕಗಳು ಸ್ಥಳೀಯ ಸಂಪನ್ಮೂಲಗಳ ಜೀವನಚಕ್ರವನ್ನು ಸಹ ನಿರ್ವಹಿಸುತ್ತವೆ ಮತ್ತು ಡೀಬಗ್ ಲಭ್ಯತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತವೆ. ಇದು ಬಯಸಿದ ಮತ್ತು ನಿಜವಾದ ವಿಶೇಷಣಗಳನ್ನು ಸಮನ್ವಯಗೊಳಿಸುವುದು, CRD ಸ್ಥಿತಿಯನ್ನು ನವೀಕರಿಸುವುದು ಮತ್ತು ಈವೆಂಟ್ ಲಾಗ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಮತ್ತು ಹೆಚ್ಚಿನದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. CRD ಇಲ್ಲದೆ, ಡೆವಲಪರ್‌ಗಳು ಬಹು ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಒತ್ತಾಯಿಸಲ್ಪಡುತ್ತಾರೆ, ಇದು ದೋಷದ ಸಾಧ್ಯತೆಯನ್ನು ಮಾತ್ರ ಹೆಚ್ಚಿಸುತ್ತದೆ.

ನಮ್ಮ ನಿಯಂತ್ರಕದಿಂದ ನಿರ್ವಹಿಸಲ್ಪಡುವ PinterestService ಮತ್ತು ಆಂತರಿಕ ಸಂಪನ್ಮೂಲದ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ:

Pinterest ನಲ್ಲಿ kubernetes ವೇದಿಕೆಯನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ

ನೀವು ಮೇಲೆ ನೋಡುವಂತೆ, ಕಸ್ಟಮ್ ಕಂಟೇನರ್ ಅನ್ನು ಬೆಂಬಲಿಸಲು ನಾವು ಭದ್ರತೆ, ಗೋಚರತೆ ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ದಟ್ಟಣೆಯನ್ನು ಒದಗಿಸಲು init ಕಂಟೇನರ್ ಮತ್ತು ಹಲವಾರು ಆಡ್-ಆನ್‌ಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಅಗತ್ಯವಿದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ನಾವು ಕಾನ್ಫಿಗರೇಶನ್ ಮ್ಯಾಪ್ ಟೆಂಪ್ಲೇಟ್‌ಗಳನ್ನು ರಚಿಸಿದ್ದೇವೆ ಮತ್ತು ಬ್ಯಾಚ್ ಉದ್ಯೋಗಗಳಿಗಾಗಿ PVC ಟೆಂಪ್ಲೇಟ್‌ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಅಳವಡಿಸಿದ್ದೇವೆ, ಜೊತೆಗೆ ಗುರುತಿಸುವಿಕೆ, ಸಂಪನ್ಮೂಲ ಬಳಕೆ ಮತ್ತು ಕಸ ಸಂಗ್ರಹಣೆಯನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಬಹು ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳ ಟ್ರ್ಯಾಕಿಂಗ್.

CRD ಬೆಂಬಲವಿಲ್ಲದೆ ಡೆವಲಪರ್‌ಗಳು ಈ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗಳನ್ನು ಕೈಯಿಂದ ಬರೆಯಲು ಬಯಸುತ್ತಾರೆ ಎಂದು ಊಹಿಸಿಕೊಳ್ಳುವುದು ಕಷ್ಟ, ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳನ್ನು ಮತ್ತಷ್ಟು ನಿರ್ವಹಿಸಲು ಮತ್ತು ಡೀಬಗ್ ಮಾಡಲು ಬಿಡಿ.

ಅಪ್ಲಿಕೇಶನ್ ನಿಯೋಜನೆ ಕೆಲಸದ ಹರಿವು

Pinterest ನಲ್ಲಿ kubernetes ವೇದಿಕೆಯನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ

ಮೇಲಿನ ಚಿತ್ರವು ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್‌ಗೆ Pinterest ಕಸ್ಟಮ್ ಸಂಪನ್ಮೂಲವನ್ನು ಹೇಗೆ ನಿಯೋಜಿಸಬೇಕು ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ:

  1. CLI ಮತ್ತು ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಡೆವಲಪರ್‌ಗಳು ನಮ್ಮ ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್‌ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುತ್ತಾರೆ.
  2. CLI/UI ಪರಿಕರಗಳು ಆರ್ಟಿಫ್ಯಾಕ್ಟರಿಯಿಂದ ವರ್ಕ್‌ಫ್ಲೋ ಕಾನ್ಫಿಗರೇಶನ್ YAML ಫೈಲ್‌ಗಳು ಮತ್ತು ಇತರ ಬಿಲ್ಡ್ ಪ್ರಾಪರ್ಟೀಸ್ (ಅದೇ ಆವೃತ್ತಿ ID) ಗಳನ್ನು ಹಿಂಪಡೆಯುತ್ತವೆ ಮತ್ತು ನಂತರ ಅವುಗಳನ್ನು ಉದ್ಯೋಗ ಸಲ್ಲಿಕೆ ಸೇವೆಗೆ ಸಲ್ಲಿಸುತ್ತವೆ. ಈ ಹಂತವು ಉತ್ಪಾದನಾ ಆವೃತ್ತಿಗಳನ್ನು ಮಾತ್ರ ಕ್ಲಸ್ಟರ್‌ಗೆ ತಲುಪಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
  3. JSS ಕುಬರ್ನೆಟ್ಸ್ ಸೇರಿದಂತೆ ವಿವಿಧ ವೇದಿಕೆಗಳಿಗೆ ಗೇಟ್ವೇ ಆಗಿದೆ. ಇಲ್ಲಿ ಬಳಕೆದಾರರನ್ನು ದೃಢೀಕರಿಸಲಾಗಿದೆ, ಕೋಟಾಗಳನ್ನು ನೀಡಲಾಗುತ್ತದೆ ಮತ್ತು ನಮ್ಮ CRD ಯ ಸಂರಚನೆಯನ್ನು ಭಾಗಶಃ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ.
  4. JSS ಭಾಗದಲ್ಲಿ CRD ಅನ್ನು ಪರಿಶೀಲಿಸಿದ ನಂತರ, ಮಾಹಿತಿಯನ್ನು k8s ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ API ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ.
  5. ನಮ್ಮ CRD ನಿಯಂತ್ರಕವು ಎಲ್ಲಾ ಬಳಕೆದಾರರ ಸಂಪನ್ಮೂಲಗಳಲ್ಲಿನ ಘಟನೆಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತದೆ. ಇದು CR ಗಳನ್ನು ಸ್ಥಳೀಯ k8s ಸಂಪನ್ಮೂಲಗಳಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ, ಅಗತ್ಯ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ, ಸೂಕ್ತವಾದ ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಹೊಂದಿಸುತ್ತದೆ ಮತ್ತು ಕಂಟೈನರೈಸ್ ಮಾಡಿದ ಬಳಕೆದಾರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಸಾಕಷ್ಟು ಮೂಲಸೌಕರ್ಯ ಬೆಂಬಲವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಇತರ ಬೆಂಬಲ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.
  6. CRD ನಿಯಂತ್ರಕವು ನಂತರ ಸ್ವೀಕರಿಸಿದ ಡೇಟಾವನ್ನು Kubernetes API ಗೆ ರವಾನಿಸುತ್ತದೆ ಇದರಿಂದ ಅದನ್ನು ಶೆಡ್ಯೂಲರ್‌ನಿಂದ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಬಹುದು ಮತ್ತು ಉತ್ಪಾದನೆಗೆ ಹಾಕಬಹುದು.

ಹೇಳಿಕೆಯನ್ನು: ಈ ನಿಯೋಜನೆಯ ಪೂರ್ವ-ಬಿಡುಗಡೆ ಕೆಲಸದ ಹರಿವನ್ನು ಹೊಸ k8s ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ಮೊದಲ ಬಳಕೆದಾರರಿಗಾಗಿ ರಚಿಸಲಾಗಿದೆ. ನಮ್ಮ ಹೊಸ CI/CD ಯೊಂದಿಗೆ ಸಂಪೂರ್ಣವಾಗಿ ಸಂಯೋಜಿಸಲು ನಾವು ಪ್ರಸ್ತುತ ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪರಿಷ್ಕರಿಸುವ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿದ್ದೇವೆ. ಇದರರ್ಥ ಕುಬರ್ನೆಟ್ಸ್ಗೆ ಸಂಬಂಧಿಸಿದ ಎಲ್ಲವನ್ನೂ ನಾವು ನಿಮಗೆ ಹೇಳಲು ಸಾಧ್ಯವಿಲ್ಲ. "Pinterest ಗಾಗಿ CI/CD ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದು" ಎಂಬ ನಮ್ಮ ಮುಂದಿನ ಬ್ಲಾಗ್ ಪೋಸ್ಟ್‌ನಲ್ಲಿ ನಮ್ಮ ಅನುಭವ ಮತ್ತು ಈ ದಿಕ್ಕಿನಲ್ಲಿ ತಂಡದ ಪ್ರಗತಿಯನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ನಾವು ಎದುರು ನೋಡುತ್ತಿದ್ದೇವೆ.

ವಿಶೇಷ ಸಂಪನ್ಮೂಲಗಳ ವಿಧಗಳು

Pinterest ನ ನಿರ್ದಿಷ್ಟ ಅಗತ್ಯಗಳ ಆಧಾರದ ಮೇಲೆ, ನಾವು ವಿಭಿನ್ನ ಕೆಲಸದ ಹರಿವುಗಳಿಗೆ ಸರಿಹೊಂದುವಂತೆ ಕೆಳಗಿನ CRD ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ್ದೇವೆ:

  • PinterestService ಒಂದು ಸ್ಥಿತಿಯಿಲ್ಲದ ಸೇವೆಗಳಾಗಿದ್ದು ಅದು ದೀರ್ಘಕಾಲ ಚಾಲನೆಯಲ್ಲಿದೆ. ನಮ್ಮ ಅನೇಕ ಪ್ರಮುಖ ವ್ಯವಸ್ಥೆಗಳು ಅಂತಹ ಸೇವೆಗಳ ಗುಂಪನ್ನು ಆಧರಿಸಿವೆ.
  • PinterestJobSet ಮಾದರಿಗಳು ಪೂರ್ಣ ಸೈಕಲ್ ಬ್ಯಾಚ್ ಉದ್ಯೋಗಗಳು. Pinterest ನಲ್ಲಿನ ಒಂದು ಸಾಮಾನ್ಯ ಸನ್ನಿವೇಶವೆಂದರೆ ಅನೇಕ ಉದ್ಯೋಗಗಳು ಒಂದೇ ರೀತಿಯ ಧಾರಕಗಳನ್ನು ಸಮಾನಾಂತರವಾಗಿ ಇತರ ರೀತಿಯ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಲೆಕ್ಕಿಸದೆ ನಡೆಸುತ್ತವೆ.
  • PinterestCronJob ಅನ್ನು ಸಣ್ಣ ಆವರ್ತಕ ಲೋಡ್‌ಗಳ ಜೊತೆಯಲ್ಲಿ ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಭದ್ರತೆ, ಟ್ರಾಫಿಕ್, ಲಾಗ್‌ಗಳು ಮತ್ತು ಮೆಟ್ರಿಕ್‌ಗಳಿಗೆ ಜವಾಬ್ದಾರರಾಗಿರುವ Pinterest ಬೆಂಬಲ ಕಾರ್ಯವಿಧಾನಗಳೊಂದಿಗೆ ಸ್ಥಳೀಯ ಕ್ರಾನ್ ಕೆಲಸಕ್ಕಾಗಿ ಇದು ಹೊದಿಕೆಯಾಗಿದೆ.
  • PinterestDaemon ಮೂಲಸೌಕರ್ಯ ಡೀಮನ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ನಾವು ನಮ್ಮ ಸಮೂಹಗಳಿಗೆ ಹೆಚ್ಚಿನ ಬೆಂಬಲವನ್ನು ಸೇರಿಸುವುದರಿಂದ ಈ ಕುಟುಂಬವು ಬೆಳೆಯುತ್ತಲೇ ಇದೆ.
  • PinterestTrainingJob Tensorflow ಮತ್ತು Pytorch ಪ್ರಕ್ರಿಯೆಗಳಿಗೆ ವಿಸ್ತರಿಸುತ್ತದೆ, ಎಲ್ಲಾ ಇತರ CRD ಗಳಂತೆಯೇ ಅದೇ ಮಟ್ಟದ ರನ್ಟೈಮ್ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ. Pinterest ಸಕ್ರಿಯವಾಗಿ Tensorflow ಮತ್ತು ಇತರ ಯಂತ್ರ ಕಲಿಕೆ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಬಳಸುವುದರಿಂದ, ಅವುಗಳ ಸುತ್ತಲೂ ಪ್ರತ್ಯೇಕ CRD ಅನ್ನು ನಿರ್ಮಿಸಲು ನಮಗೆ ಒಂದು ಕಾರಣವಿದೆ.

ನಾವು PinterestStatefulSet ನಲ್ಲಿ ಸಹ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದೇವೆ, ಇದನ್ನು ಶೀಘ್ರದಲ್ಲೇ ಡೇಟಾ ವೇರ್‌ಹೌಸ್‌ಗಳು ಮತ್ತು ಇತರ ಸ್ಟೇಟ್‌ಫುಲ್ ಸಿಸ್ಟಮ್‌ಗಳಿಗೆ ಅಳವಡಿಸಲಾಗುವುದು.

ರನ್ಟೈಮ್ ಬೆಂಬಲ

ಅಪ್ಲಿಕೇಶನ್ ಪಾಡ್ ಕುಬರ್ನೆಟ್ಸ್‌ನಲ್ಲಿ ರನ್ ಮಾಡಿದಾಗ, ಅದು ತನ್ನನ್ನು ಗುರುತಿಸಿಕೊಳ್ಳಲು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಪಡೆಯುತ್ತದೆ. ರಹಸ್ಯ ಸಂಗ್ರಹಣೆಯನ್ನು ಪ್ರವೇಶಿಸಲು ಅಥವಾ mTLS ಮೂಲಕ ಇತರ ಸೇವೆಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಈ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಏತನ್ಮಧ್ಯೆ, ಕಂಟೈನರ್ ಇನಿಟ್ ಕಾನ್ಫಿಗರರೇಟರ್ ಮತ್ತು ಡೀಮನ್ ಕಂಟೈನರೈಸ್ ಮಾಡಿದ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಚಲಾಯಿಸುವ ಮೊದಲು ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಅವಲಂಬನೆಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುತ್ತದೆ. ಎಲ್ಲವೂ ಸಿದ್ಧವಾದಾಗ, ಟ್ರಾಫಿಕ್ ಸೈಡ್‌ಕಾರ್ ಮತ್ತು ಡೀಮನ್ ಮಾಡ್ಯೂಲ್‌ನ IP ವಿಳಾಸವನ್ನು ನಮ್ಮ ಝೂಕೀಪರ್‌ನೊಂದಿಗೆ ನೋಂದಾಯಿಸುತ್ತದೆ ಆದ್ದರಿಂದ ಗ್ರಾಹಕರು ಅದನ್ನು ಕಂಡುಹಿಡಿಯಬಹುದು. ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ನೆಟ್‌ವರ್ಕ್ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿರುವುದರಿಂದ ಇವೆಲ್ಲವೂ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.

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

ಪರೀಕ್ಷೆ ಮತ್ತು QA

ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕುಬರ್ನೆಟ್ಸ್ ಪರೀಕ್ಷಾ ಮೂಲಸೌಕರ್ಯದ ಮೇಲೆ ನಾವು ಎಂಡ್-ಟು-ಎಂಡ್ ಪರೀಕ್ಷಾ ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ನಿರ್ಮಿಸಿದ್ದೇವೆ. ಈ ಪರೀಕ್ಷೆಗಳು ನಮ್ಮ ಎಲ್ಲಾ ಕ್ಲಸ್ಟರ್‌ಗಳಿಗೆ ಅನ್ವಯಿಸುತ್ತವೆ. ಉತ್ಪನ್ನ ಕ್ಲಸ್ಟರ್‌ನ ಭಾಗವಾಗುವ ಮೊದಲು ನಮ್ಮ ಪೈಪ್‌ಲೈನ್ ಅನೇಕ ಪರಿಷ್ಕರಣೆಗಳನ್ನು ಮಾಡಿತು.

ಪರೀಕ್ಷಾ ವ್ಯವಸ್ಥೆಗಳ ಜೊತೆಗೆ, ಸಿಸ್ಟಮ್ ಘಟಕಗಳು, ಸಂಪನ್ಮೂಲ ಬಳಕೆ ಮತ್ತು ಇತರ ಪ್ರಮುಖ ಸೂಚಕಗಳ ಸ್ಥಿತಿಯನ್ನು ನಿರಂತರವಾಗಿ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಮೇಲ್ವಿಚಾರಣೆ ಮತ್ತು ಎಚ್ಚರಿಕೆ ವ್ಯವಸ್ಥೆಗಳನ್ನು ನಾವು ಹೊಂದಿದ್ದೇವೆ, ಮಾನವ ಹಸ್ತಕ್ಷೇಪದ ಅಗತ್ಯವಿದ್ದಾಗ ಮಾತ್ರ ನಮಗೆ ತಿಳಿಸುತ್ತದೆ.

ಪರ್ಯಾಯಗಳು

ರೂಪಾಂತರ ಪ್ರವೇಶ ನಿಯಂತ್ರಕಗಳು ಮತ್ತು ಟೆಂಪ್ಲೇಟ್ ವ್ಯವಸ್ಥೆಗಳಂತಹ ಕಸ್ಟಮ್ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಕೆಲವು ಪರ್ಯಾಯಗಳನ್ನು ನಾವು ನೋಡಿದ್ದೇವೆ. ಆದಾಗ್ಯೂ, ಅವೆಲ್ಲವೂ ಗಮನಾರ್ಹ ಕಾರ್ಯಾಚರಣೆಯ ಸವಾಲುಗಳೊಂದಿಗೆ ಬರುತ್ತವೆ, ಆದ್ದರಿಂದ ನಾವು CRD ಮಾರ್ಗವನ್ನು ಆರಿಸಿದ್ದೇವೆ.

ಸೈಡ್‌ಕಾರ್‌ಗಳು, ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳು ಮತ್ತು ಇತರ ರನ್‌ಟೈಮ್ ಬೆಂಬಲವನ್ನು ಪರಿಚಯಿಸಲು ಪರಸ್ಪರ ಪ್ರವೇಶ ನಿಯಂತ್ರಕವನ್ನು ಬಳಸಲಾಯಿತು. ಆದಾಗ್ಯೂ, ಇದು ಸಂಪನ್ಮೂಲ ಬಂಧಕ ಮತ್ತು ಜೀವನಚಕ್ರ ನಿರ್ವಹಣೆಯಂತಹ ವಿವಿಧ ಸಮಸ್ಯೆಗಳನ್ನು ಎದುರಿಸಿತು, ಅಲ್ಲಿ ಅಂತಹ ಸಮಸ್ಯೆಗಳು CRD ಯಲ್ಲಿ ಉದ್ಭವಿಸುವುದಿಲ್ಲ.

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

ಮುಂಬರುವ ಕೆಲಸ

ನಾವು ಪ್ರಸ್ತುತ ನಮ್ಮ ಎಲ್ಲಾ ಕ್ಲಸ್ಟರ್‌ಗಳಲ್ಲಿ ಮಿಶ್ರ ಹೊರೆಯೊಂದಿಗೆ ವ್ಯವಹರಿಸುತ್ತಿದ್ದೇವೆ. ವಿಭಿನ್ನ ಪ್ರಕಾರಗಳು ಮತ್ತು ಗಾತ್ರಗಳ ಅಂತಹ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಬೆಂಬಲಿಸಲು, ನಾವು ಈ ಕೆಳಗಿನ ಪ್ರದೇಶಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತೇವೆ:

  • ಕ್ಲಸ್ಟರ್‌ಗಳ ಸಂಗ್ರಹವು ಸ್ಕೇಲೆಬಿಲಿಟಿ ಮತ್ತು ಸ್ಥಿರತೆಗಾಗಿ ವಿವಿಧ ಕ್ಲಸ್ಟರ್‌ಗಳಲ್ಲಿ ದೊಡ್ಡ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ವಿತರಿಸುತ್ತದೆ.
  • ಅಪ್ಲಿಕೇಶನ್ ಸಂಪರ್ಕ ಮತ್ತು SLA ಗಳನ್ನು ರಚಿಸಲು ಕ್ಲಸ್ಟರ್ ಸ್ಥಿರತೆ, ಸ್ಕೇಲೆಬಿಲಿಟಿ ಮತ್ತು ಗೋಚರತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು.
  • ಸಂಪನ್ಮೂಲಗಳು ಮತ್ತು ಕೋಟಾಗಳನ್ನು ನಿರ್ವಹಿಸುವುದರಿಂದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಪರಸ್ಪರ ಸಂಘರ್ಷಗೊಳ್ಳುವುದಿಲ್ಲ ಮತ್ತು ಕ್ಲಸ್ಟರ್‌ನ ಪ್ರಮಾಣವನ್ನು ನಮ್ಮ ಕಡೆಯಿಂದ ನಿಯಂತ್ರಿಸಲಾಗುತ್ತದೆ.
  • ಕುಬರ್ನೆಟ್ಸ್‌ನಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಬೆಂಬಲಿಸಲು ಮತ್ತು ನಿಯೋಜಿಸಲು ಹೊಸ CI/CD ಪ್ಲಾಟ್‌ಫಾರ್ಮ್.

ಮೂಲ: www.habr.com

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