ಹೆಲ್ಮ್ ಸಾಧನ ಮತ್ತು ಅದರ ಅಪಾಯಗಳು

ಹೆಲ್ಮ್ ಸಾಧನ ಮತ್ತು ಅದರ ಅಪಾಯಗಳು
ಟೈಫನ್ ಸರಕು ಸಾಗಣೆ ಪರಿಕಲ್ಪನೆ, ಆಂಟನ್ ಸ್ವಾನೆಪೋಲ್

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

ಇದು ಸಮ್ಮೇಳನದಲ್ಲಿ ಮಾಡಿದ ಭಾಷಣವನ್ನು ಆಧರಿಸಿದ ಸಾರಾಂಶವಾಗಿದೆ @ಕುಬರ್ನೆಟ್ಸ್ ಸಮ್ಮೇಳನ by Mail.ru ಕ್ಲೌಡ್ ಪರಿಹಾರಗಳು - ನೀವು ಓದಲು ಬಯಸದಿದ್ದರೆ, ವೀಡಿಯೊವನ್ನು ವೀಕ್ಷಿಸಿ.

ನಾವು ಉತ್ಪಾದನೆಯಲ್ಲಿ ಕುಬರ್ನೆಟ್ಸ್ ಅನ್ನು ಏಕೆ ಬಳಸುತ್ತೇವೆ

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

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

ಕುಬರ್ನೆಟ್ಸ್‌ನಲ್ಲಿ ದೊಡ್ಡ YAML ಫೈಲ್‌ಗಳ ಶಾಪ

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

ಹೆಲ್ಮ್ ಸಾಧನ ಮತ್ತು ಅದರ ಅಪಾಯಗಳು
ಹೆಲ್ಮ್‌ನ ಪ್ರಮುಖ ನಿರ್ವಾಹಕರಾದ ಆಡಮ್ ರೀಸ್, " ಎಂಬ ಪರಿಕಲ್ಪನೆಯನ್ನು ಪರಿಚಯಿಸಿದರು.ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ಅಭಿವೃದ್ಧಿ ಚಕ್ರ", ಇದು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

  1. YAML ಅನ್ನು ನಕಲಿಸಿ - YAML ಫೈಲ್ ಅನ್ನು ನಕಲಿಸಿ.
  2. YAML ಅನ್ನು ಅಂಟಿಸಿ - ಅಂಟಿಸಿ.
  3. ಇಂಡೆಂಟ್‌ಗಳನ್ನು ಸರಿಪಡಿಸಿ - ಇಂಡೆಂಟ್‌ಗಳನ್ನು ಸರಿಪಡಿಸಿ.
  4. ಪುನರಾವರ್ತಿಸಿ - ಮತ್ತೆ ಪುನರಾವರ್ತಿಸಿ.

ಆಯ್ಕೆಯು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ ನೀವು YAML ಫೈಲ್‌ಗಳನ್ನು ಹಲವು ಬಾರಿ ನಕಲಿಸಬೇಕಾಗುತ್ತದೆ. ಈ ಚಕ್ರವನ್ನು ಬದಲಾಯಿಸಲು, ಹೆಲ್ಮ್ ಅನ್ನು ಕಂಡುಹಿಡಿಯಲಾಯಿತು.

ಹೆಲ್ಮ್ ಎಂದರೇನು

ಮೊದಲನೆಯದಾಗಿ, ಹೆಲ್ಮ್ - ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್, ಇದು ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಹುಡುಕಲು ಮತ್ತು ಸ್ಥಾಪಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಸ್ಥಾಪಿಸಲು, ಉದಾಹರಣೆಗೆ, ಮೊಂಗೋಡಿಬಿ, ನೀವು ಅಧಿಕೃತ ವೆಬ್‌ಸೈಟ್‌ಗೆ ಹೋಗಿ ಬೈನರಿಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲ, ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ helm install stable/mongodb.

ಎರಡನೆಯದಾಗಿ, ಹೆಲ್ಮ್ - ಟೆಂಪ್ಲೇಟ್ ಎಂಜಿನ್, ಫೈಲ್‌ಗಳನ್ನು ಪ್ಯಾರಾಮೀಟರ್ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. Kubernetes ನಲ್ಲಿ YAML ಫೈಲ್‌ಗಳೊಂದಿಗೆ ಪರಿಸ್ಥಿತಿಗೆ ಹಿಂತಿರುಗೋಣ. ಅದೇ YAML ಫೈಲ್ ಅನ್ನು ಬರೆಯಲು ಸುಲಭವಾಗಿದೆ, ಅದಕ್ಕೆ ಕೆಲವು ಪ್ಲೇಸ್‌ಹೋಲ್ಡರ್‌ಗಳನ್ನು ಸೇರಿಸಿ, ಅದರಲ್ಲಿ ಹೆಲ್ಮ್ ಮೌಲ್ಯಗಳನ್ನು ಬದಲಿಸುತ್ತದೆ. ಅಂದರೆ, ದೊಡ್ಡ ಸ್ಕ್ಯಾಫೋಲ್ಡ್‌ಗಳ ಬದಲಿಗೆ, ಅಗತ್ಯವಿರುವ ಮೌಲ್ಯಗಳನ್ನು ಸರಿಯಾದ ಸಮಯದಲ್ಲಿ ಬದಲಿಸುವ ಟೆಂಪ್ಲೇಟ್‌ಗಳ ಒಂದು ಸೆಟ್ ಇರುತ್ತದೆ.

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

ಹೆಲ್ಮ್ ಸಾಧನ ಮತ್ತು ಅದರ ಅಪಾಯಗಳು

ನಿಮ್ಮ ಸ್ವಂತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿಯೋಜಿಸಲು ಹೆಲ್ಮ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು

ಅಧಿಕೃತವನ್ನು ಅನುಸರಿಸಿ, ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ಹೆಲ್ಮ್ ಕ್ಲೈಂಟ್ ಅನ್ನು ಸ್ಥಾಪಿಸೋಣ ಸೂಚನೆಗಳು. ಮುಂದೆ, ನಾವು YAML ಫೈಲ್‌ಗಳ ಗುಂಪನ್ನು ರಚಿಸುತ್ತೇವೆ. ನಿರ್ದಿಷ್ಟ ಮೌಲ್ಯಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಬದಲು, ನಾವು ಪ್ಲೇಸ್‌ಹೋಲ್ಡರ್‌ಗಳನ್ನು ಬಿಡುತ್ತೇವೆ, ಭವಿಷ್ಯದಲ್ಲಿ ಹೆಲ್ಮ್ ಮಾಹಿತಿಯನ್ನು ತುಂಬುತ್ತದೆ. ಅಂತಹ ಫೈಲ್‌ಗಳ ಗುಂಪನ್ನು ಹೆಲ್ಮ್ ಚಾರ್ಟ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಇದನ್ನು ಹೆಲ್ಮ್ ಕನ್ಸೋಲ್ ಕ್ಲೈಂಟ್‌ಗೆ ಮೂರು ರೀತಿಯಲ್ಲಿ ಕಳುಹಿಸಬಹುದು:

  • ಟೆಂಪ್ಲೆಟ್ಗಳೊಂದಿಗೆ ಫೋಲ್ಡರ್ ಅನ್ನು ಸೂಚಿಸಿ;
  • ಆರ್ಕೈವ್ ಅನ್ನು .tar ಗೆ ಪ್ಯಾಕ್ ಮಾಡಿ ಮತ್ತು ಅದನ್ನು ಸೂಚಿಸಿ;
  • ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ರಿಮೋಟ್ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಇರಿಸಿ ಮತ್ತು ಹೆಲ್ಮ್ ಕ್ಲೈಂಟ್‌ನಲ್ಲಿ ರೆಪೊಸಿಟರಿಗೆ ಲಿಂಕ್ ಅನ್ನು ಸೇರಿಸಿ.

ನಿಮಗೆ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಫೈಲ್ ಕೂಡ ಬೇಕಾಗುತ್ತದೆ - values.yaml. ಅಲ್ಲಿಂದ ಡೇಟಾವನ್ನು ಟೆಂಪ್ಲೇಟ್‌ಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ. ಅದನ್ನು ಕೂಡ ರಚಿಸೋಣ.

ಹೆಲ್ಮ್ ಸಾಧನ ಮತ್ತು ಅದರ ಅಪಾಯಗಳು
ಹೆಲ್ಮ್‌ನ ಎರಡನೇ ಆವೃತ್ತಿಯು ಹೆಚ್ಚುವರಿ ಸರ್ವರ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಹೊಂದಿದೆ - ಟಿಲ್ಲರ್. ಇದು ಕುಬರ್ನೆಟ್ಸ್‌ನ ಹೊರಗೆ ಸ್ಥಗಿತಗೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಹೆಲ್ಮ್ ಕ್ಲೈಂಟ್‌ನಿಂದ ವಿನಂತಿಗಳಿಗಾಗಿ ಕಾಯುತ್ತದೆ ಮತ್ತು ಕರೆ ಮಾಡಿದಾಗ, ಅಗತ್ಯವಿರುವ ಮೌಲ್ಯಗಳನ್ನು ಟೆಂಪ್ಲೇಟ್‌ಗೆ ಬದಲಿಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಕುಬರ್ನೆಟ್‌ಗಳಿಗೆ ಕಳುಹಿಸುತ್ತದೆ.

ಹೆಲ್ಮ್ ಸಾಧನ ಮತ್ತು ಅದರ ಅಪಾಯಗಳು
ಹೆಲ್ಮ್ 3 ಸರಳವಾಗಿದೆ: ಸರ್ವರ್‌ನಲ್ಲಿ ಟೆಂಪ್ಲೇಟ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಬದಲು, ಮಾಹಿತಿಯನ್ನು ಈಗ ಸಂಪೂರ್ಣವಾಗಿ ಹೆಲ್ಮ್ ಕ್ಲೈಂಟ್ ಬದಿಯಲ್ಲಿ ಸಂಸ್ಕರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ನೇರವಾಗಿ ಕುಬರ್ನೆಟ್ಸ್ API ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ. ಈ ಸರಳೀಕರಣವು ಕ್ಲಸ್ಟರ್ ಭದ್ರತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ ಮತ್ತು ರೋಲ್ಔಟ್ ಯೋಜನೆಯನ್ನು ಸುಗಮಗೊಳಿಸುತ್ತದೆ.

ಇದೆಲ್ಲ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ

ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ helm install. ಅಪ್ಲಿಕೇಶನ್ ಬಿಡುಗಡೆಯ ಹೆಸರನ್ನು ಸೂಚಿಸೋಣ ಮತ್ತು values.yaml ಗೆ ಮಾರ್ಗವನ್ನು ನೀಡೋಣ. ಕೊನೆಯಲ್ಲಿ ನಾವು ಚಾರ್ಟ್ ಇರುವ ರೆಪೊಸಿಟರಿಯನ್ನು ಮತ್ತು ಚಾರ್ಟ್ನ ಹೆಸರನ್ನು ಸೂಚಿಸುತ್ತೇವೆ. ಉದಾಹರಣೆಯಲ್ಲಿ, ಇವು ಕ್ರಮವಾಗಿ "lmru" ಮತ್ತು "bestchart".

helm install --name bestapp --values values.yaml lmru/bestchart

ಆಜ್ಞೆಯನ್ನು ಒಮ್ಮೆ ಮಾತ್ರ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು, ಬದಲಿಗೆ ಮತ್ತೊಮ್ಮೆ ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ install ಬಳಸಲು ಅಗತ್ಯವಿದೆ upgrade. ಸರಳತೆಗಾಗಿ, ಎರಡು ಆಜ್ಞೆಗಳ ಬದಲಿಗೆ, ನೀವು ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಬಹುದು upgrade ಹೆಚ್ಚುವರಿ ಕೀಲಿಯೊಂದಿಗೆ --install. ಮೊದಲ ಬಾರಿಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ, ಬಿಡುಗಡೆಯನ್ನು ಸ್ಥಾಪಿಸಲು ಹೆಲ್ಮ್ ಆಜ್ಞೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ ಮತ್ತು ಭವಿಷ್ಯದಲ್ಲಿ ಅದನ್ನು ನವೀಕರಿಸುತ್ತದೆ.

helm upgrade --install bestapp --values values.yaml lmru/bestchart

ಹೆಲ್ಮ್‌ನೊಂದಿಗೆ ಅಪ್ಲಿಕೇಶನ್‌ನ ಹೊಸ ಆವೃತ್ತಿಗಳನ್ನು ನಿಯೋಜಿಸುವ ಮೋಸಗಳು

ಕಥೆಯ ಈ ಹಂತದಲ್ಲಿ, ನಾನು ಪ್ರೇಕ್ಷಕರೊಂದಿಗೆ ಹೂ ವಾಂಟ್ಸ್ ಟು ಬಿ ಎ ಮಿಲಿಯನೇರ್ ಅನ್ನು ಆಡುತ್ತಿದ್ದೇನೆ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ನ ಆವೃತ್ತಿಯನ್ನು ನವೀಕರಿಸಲು ಹೆಲ್ಮ್ ಅನ್ನು ಹೇಗೆ ಪಡೆಯುವುದು ಎಂದು ನಾವು ಲೆಕ್ಕಾಚಾರ ಮಾಡುತ್ತಿದ್ದೇವೆ. ವಿಡಿಯೋ ನೋಡು.

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

ವಿಧಾನ 1. ಕೊನೆಯ ಉಡಾವಣೆಯಿಂದ ಮಾಹಿತಿಯನ್ನು ಬದಲಾಯಿಸಬೇಡಿ

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

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

ವಿಧಾನ 2. ಚಿತ್ರದಲ್ಲಿ LABEL ಅನ್ನು ನವೀಕರಿಸಿ

ಅದೇ ಬರೆದಂತೆ ದಸ್ತಾವೇಜನ್ನು, "ಕಳೆದ ಬಿಡುಗಡೆಯಿಂದ ಅಪ್ಲಿಕೇಶನ್ ಬದಲಾಗಿದ್ದರೆ ಮಾತ್ರ ಹೆಲ್ಮ್ ಅನ್ನು ನವೀಕರಿಸುತ್ತದೆ." ಇದಕ್ಕಾಗಿ ತಾರ್ಕಿಕ ಆಯ್ಕೆಯು ಡಾಕರ್ ಚಿತ್ರದಲ್ಲಿಯೇ LABEL ಅನ್ನು ನವೀಕರಿಸುತ್ತಿರುವಂತೆ ತೋರುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಹೆಲ್ಮ್ ಅಪ್ಲಿಕೇಶನ್ ಚಿತ್ರಗಳನ್ನು ನೋಡುವುದಿಲ್ಲ ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಯಾವುದೇ ಬದಲಾವಣೆಗಳ ಬಗ್ಗೆ ತಿಳಿದಿಲ್ಲ. ಅಂತೆಯೇ, ಚಿತ್ರದಲ್ಲಿ ಲೇಬಲ್‌ಗಳನ್ನು ನವೀಕರಿಸುವಾಗ, ಹೆಲ್ಮ್‌ಗೆ ಅವುಗಳ ಬಗ್ಗೆ ತಿಳಿದಿರುವುದಿಲ್ಲ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ನವೀಕರಣ ಆಜ್ಞೆಯನ್ನು ಕುಬರ್ನೆಟ್‌ಗಳಿಗೆ ಕಳುಹಿಸಲಾಗುವುದಿಲ್ಲ.

ವಿಧಾನ 3: ಕೀಲಿಯನ್ನು ಬಳಸಿ --force

ಹೆಲ್ಮ್ ಸಾಧನ ಮತ್ತು ಅದರ ಅಪಾಯಗಳು
ಕೈಪಿಡಿಗಳಿಗೆ ತಿರುಗಿ ಅಗತ್ಯವಿರುವ ಕೀಲಿಯನ್ನು ನೋಡೋಣ. ಕೀಲಿಯು ಅತ್ಯಂತ ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ --force. ಸ್ಪಷ್ಟ ಹೆಸರಿನ ಹೊರತಾಗಿಯೂ, ನಡವಳಿಕೆಯು ನಿರೀಕ್ಷೆಗಿಂತ ಭಿನ್ನವಾಗಿದೆ. ಅಪ್ಲಿಕೇಶನ್ ನವೀಕರಣವನ್ನು ಒತ್ತಾಯಿಸುವ ಬದಲು, ವಿಫಲಗೊಂಡ ಸ್ಥಿತಿಯಲ್ಲಿರುವ ಬಿಡುಗಡೆಯನ್ನು ಮರುಸ್ಥಾಪಿಸುವುದು ಇದರ ನಿಜವಾದ ಉದ್ದೇಶವಾಗಿದೆ. ನೀವು ಈ ಕೀಲಿಯನ್ನು ಬಳಸದಿದ್ದರೆ, ನೀವು ಆಜ್ಞೆಗಳನ್ನು ಅನುಕ್ರಮವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕಾಗುತ್ತದೆ helm delete && helm install --replace. ಬದಲಿಗೆ ಕೀಲಿಯನ್ನು ಬಳಸಲು ಸೂಚಿಸಲಾಗುತ್ತದೆ --force, ಇದು ಈ ಆಜ್ಞೆಗಳ ಅನುಕ್ರಮ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುತ್ತದೆ. ಇದರಲ್ಲಿ ಹೆಚ್ಚಿನ ಮಾಹಿತಿ ವಿನಂತಿಯನ್ನು ಎಳೆಯಿರಿ. ಅಪ್ಲಿಕೇಶನ್ ಆವೃತ್ತಿಯನ್ನು ನವೀಕರಿಸಲು ಹೆಲ್ಮ್‌ಗೆ ಹೇಳಲು, ದುರದೃಷ್ಟವಶಾತ್, ಈ ಕೀ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ.

ವಿಧಾನ 4. ನೇರವಾಗಿ ಕುಬರ್ನೆಟ್ಸ್‌ನಲ್ಲಿ ಲೇಬಲ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಿ

ಹೆಲ್ಮ್ ಸಾಧನ ಮತ್ತು ಅದರ ಅಪಾಯಗಳು
ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿ ನೇರವಾಗಿ ಲೇಬಲ್ ಅನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತಿದೆ kubectl edit - ಕೆಟ್ಟ ಕಲ್ಪನೆ. ಈ ಕ್ರಿಯೆಯು ಚಾಲನೆಯಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ಮೂಲತಃ ನಿಯೋಜನೆಗಾಗಿ ಕಳುಹಿಸಲಾದ ಒಂದು ನಡುವಿನ ಮಾಹಿತಿಯ ಅಸಂಗತತೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ ನಿಯೋಜನೆಯ ಸಮಯದಲ್ಲಿ ಹೆಲ್ಮ್‌ನ ನಡವಳಿಕೆಯು ಅದರ ಆವೃತ್ತಿಯಿಂದ ಭಿನ್ನವಾಗಿದೆ: ಹೆಲ್ಮ್ 2 ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ ಮತ್ತು ಹೆಲ್ಮ್ 3 ಅಪ್ಲಿಕೇಶನ್‌ನ ಹೊಸ ಆವೃತ್ತಿಯನ್ನು ನಿಯೋಜಿಸುತ್ತದೆ. ಏಕೆ ಎಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ಹೆಲ್ಮ್ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೀವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕು.

ಹೆಲ್ಮ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ?

ಅದರ ಕೊನೆಯ ಬಿಡುಗಡೆಯಿಂದ ಅಪ್ಲಿಕೇಶನ್ ಬದಲಾಗಿದೆಯೇ ಎಂದು ನಿರ್ಧರಿಸಲು, ಹೆಲ್ಮ್ ಇದನ್ನು ಬಳಸಬಹುದು:

  • ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್;
  • ಹೊಸ ಮೌಲ್ಯಗಳು.ಯಾಮ್ಲ್ ಮತ್ತು ಪ್ರಸ್ತುತ ಚಾರ್ಟ್;
  • ಹೆಲ್ಮ್‌ನ ಆಂತರಿಕ ಬಿಡುಗಡೆ ಮಾಹಿತಿ.

ಹೆಚ್ಚು ಕುತೂಹಲಕ್ಕಾಗಿ: ಬಿಡುಗಡೆಗಳ ಕುರಿತು ಆಂತರಿಕ ಮಾಹಿತಿಯನ್ನು ಹೆಲ್ಮ್ ಎಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ?ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೂಲಕ helm history, ಹೆಲ್ಮ್ ಬಳಸಿ ಸ್ಥಾಪಿಸಲಾದ ಆವೃತ್ತಿಗಳ ಕುರಿತು ನಾವು ಎಲ್ಲಾ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯುತ್ತೇವೆ.

ಹೆಲ್ಮ್ ಸಾಧನ ಮತ್ತು ಅದರ ಅಪಾಯಗಳು
ಕಳುಹಿಸಿದ ಟೆಂಪ್ಲೇಟ್‌ಗಳು ಮತ್ತು ಮೌಲ್ಯಗಳ ಬಗ್ಗೆ ವಿವರವಾದ ಮಾಹಿತಿಯೂ ಇದೆ. ನಾವು ಅದನ್ನು ವಿನಂತಿಸಬಹುದು:

ಹೆಲ್ಮ್ ಸಾಧನ ಮತ್ತು ಅದರ ಅಪಾಯಗಳು
ಹೆಲ್ಮ್‌ನ ಎರಡನೇ ಆವೃತ್ತಿಯಲ್ಲಿ, ಈ ಮಾಹಿತಿಯು ಟಿಲ್ಲರ್ ಚಾಲನೆಯಲ್ಲಿರುವ ಅದೇ ನೇಮ್‌ಸ್ಪೇಸ್‌ನಲ್ಲಿದೆ (ಡೀಫಾಲ್ಟ್ ಆಗಿ ಕ್ಯೂಬ್-ಸಿಸ್ಟಮ್), ಕಾನ್ಫಿಗ್‌ಮ್ಯಾಪ್‌ನಲ್ಲಿ, "ಓನರ್=ಟಿಲ್ಲರ್" ಲೇಬಲ್‌ನೊಂದಿಗೆ ಗುರುತಿಸಲಾಗಿದೆ:

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

ಹೆಲ್ಮ್ ಸಾಧನ ಮತ್ತು ಅದರ ಅಪಾಯಗಳು

ಎರಡನೇ ಹೆಲ್ಮ್, ನವೀಕರಣದ ಅಗತ್ಯವಿದೆಯೇ ಎಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಪ್ರಯತ್ನಿಸುವಾಗ, ಕೇವಲ ಎರಡು ಮಾಹಿತಿ ಮೂಲಗಳನ್ನು ಬಳಸುತ್ತದೆ: ಈಗ ಅದಕ್ಕೆ ಏನು ಒದಗಿಸಲಾಗಿದೆ ಮತ್ತು ಕಾನ್ಫಿಗ್‌ಮ್ಯಾಪ್‌ನಲ್ಲಿರುವ ಬಿಡುಗಡೆಗಳ ಕುರಿತು ಆಂತರಿಕ ಮಾಹಿತಿ.

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

ಹೆಲ್ಮ್ ಸಾಧನ ಮತ್ತು ಅದರ ಅಪಾಯಗಳು
ಈ ಕಾರಣಕ್ಕಾಗಿ, ಹೆಲ್ಮ್‌ನ ಹಳೆಯ ಆವೃತ್ತಿಯು ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಇದು ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿನ ಅಪ್ಲಿಕೇಶನ್ ಮಾಹಿತಿಯನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ, ಆದರೆ ಹೆಲ್ಮ್ 3 ಬದಲಾವಣೆಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಮತ್ತು ನಿಯೋಜನೆಗಾಗಿ ಹೊಸ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ.

ವಿಧಾನ 5. --recreate-pods ಸ್ವಿಚ್ ಅನ್ನು ಬಳಸಿ

ಒಂದು ಕೀಲಿಯೊಂದಿಗೆ --recreate-pods ಕೀಲಿಯೊಂದಿಗೆ ನೀವು ಮೂಲತಃ ಸಾಧಿಸಲು ಯೋಜಿಸಿದ್ದನ್ನು ನೀವು ಸಾಧಿಸಬಹುದು --force. ಕಂಟೈನರ್‌ಗಳು ಮರುಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತವೆ ಮತ್ತು ಇಮೇಜ್‌ಪುಲ್‌ಪಾಲಿಸಿ ಪ್ರಕಾರ: ಯಾವಾಗಲೂ ಇತ್ತೀಚಿನ ಟ್ಯಾಗ್‌ಗಾಗಿ ನೀತಿ (ಮೇಲಿನ ಅಡಿಟಿಪ್ಪಣಿಯಲ್ಲಿ ಇದರ ಕುರಿತು ಇನ್ನಷ್ಟು), ಕುಬರ್ನೆಟ್ಸ್ ಚಿತ್ರದ ಹೊಸ ಆವೃತ್ತಿಯನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. ಇದನ್ನು ಉತ್ತಮ ರೀತಿಯಲ್ಲಿ ಮಾಡಲಾಗುವುದಿಲ್ಲ: ನಿಯೋಜನೆಯ ಸ್ಟ್ರಾಟಜಿ ಪ್ರಕಾರವನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳದೆ, ಇದು ಎಲ್ಲಾ ಹಳೆಯ ಅಪ್ಲಿಕೇಶನ್ ನಿದರ್ಶನಗಳನ್ನು ಥಟ್ಟನೆ ಆಫ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಹೊಸದನ್ನು ಪ್ರಾರಂಭಿಸಲು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. ಮರುಪ್ರಾರಂಭದ ಸಮಯದಲ್ಲಿ, ಸಿಸ್ಟಮ್ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ, ಬಳಕೆದಾರರು ಬಳಲುತ್ತಿದ್ದಾರೆ.

ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ, ಇದೇ ರೀತಿಯ ಸಮಸ್ಯೆಯು ದೀರ್ಘಕಾಲದವರೆಗೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ. ಮತ್ತು ಈಗ, ಪ್ರಾರಂಭದ 4 ವರ್ಷಗಳ ನಂತರ ಸಮಸ್ಯೆ, ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ ಮತ್ತು ಕುಬರ್ನೆಟ್ಸ್‌ನ ಆವೃತ್ತಿ 1.15 ರಿಂದ ಪ್ರಾರಂಭಿಸಿ, ಪಾಡ್‌ಗಳನ್ನು ರೋಲ್-ರೀಸ್ಟಾರ್ಟ್ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವು ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ.

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

ಹೆಲ್ಮ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಅಪ್ಲಿಕೇಶನ್ ಆವೃತ್ತಿಯನ್ನು ನವೀಕರಿಸುವುದು ಹೇಗೆ?

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

  1. ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯ ಪ್ರಮಾಣಿತ ಕಾರ್ಯವನ್ನು ಬಳಸುವುದು - {{ randAlphaNum 6 }}.
    ಒಂದು ಎಚ್ಚರಿಕೆ ಇದೆ: ಅಂತಹ ವೇರಿಯಬಲ್ನೊಂದಿಗೆ ಚಾರ್ಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರತಿ ನಿಯೋಜನೆಯ ನಂತರ, ಟಿಪ್ಪಣಿ ಮೌಲ್ಯವು ಅನನ್ಯವಾಗಿರುತ್ತದೆ ಮತ್ತು ಬದಲಾವಣೆಗಳಿವೆ ಎಂದು ಹೆಲ್ಮ್ ಊಹಿಸುತ್ತದೆ. ನಾವು ಅದರ ಆವೃತ್ತಿಯನ್ನು ಬದಲಾಯಿಸದಿದ್ದರೂ ಸಹ, ನಾವು ಯಾವಾಗಲೂ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸುತ್ತೇವೆ ಎಂದು ಅದು ತಿರುಗುತ್ತದೆ. ಇದು ನಿರ್ಣಾಯಕವಲ್ಲ, ಏಕೆಂದರೆ ಯಾವುದೇ ಅಲಭ್ಯತೆ ಇರುವುದಿಲ್ಲ, ಆದರೆ ಇದು ಇನ್ನೂ ಅಹಿತಕರವಾಗಿರುತ್ತದೆ.
  2. ಪ್ರಸ್ತುತವನ್ನು ಅಂಟಿಸಿ ದಿನಾಂಕ ಮತ್ತು ಸಮಯ - {{ .Release.Date }}.
    ಒಂದು ರೂಪಾಂತರವು ಶಾಶ್ವತವಾಗಿ ಅನನ್ಯವಾದ ವೇರಿಯಬಲ್ನೊಂದಿಗೆ ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯವನ್ನು ಹೋಲುತ್ತದೆ.
  3. ಬಳಸುವುದು ಹೆಚ್ಚು ಸರಿಯಾದ ಮಾರ್ಗವಾಗಿದೆ ಚೆಕ್ಸಮ್ಗಳು. ಇದು ಚಿತ್ರದ SHA ಅಥವಾ git ನಲ್ಲಿನ ಕೊನೆಯ ಕಮಿಟ್‌ನ SHA ಆಗಿದೆ - {{ .Values.sha }}.
    ಅವುಗಳನ್ನು ಎಣಿಕೆ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ಕರೆ ಮಾಡುವ ಬದಿಯಲ್ಲಿರುವ ಹೆಲ್ಮ್ ಕ್ಲೈಂಟ್‌ಗೆ ಕಳುಹಿಸಬೇಕು, ಉದಾಹರಣೆಗೆ ಜೆಂಕಿನ್ಸ್‌ನಲ್ಲಿ. ಅಪ್ಲಿಕೇಶನ್ ಬದಲಾಗಿದ್ದರೆ, ಚೆಕ್ಸಮ್ ಬದಲಾಗುತ್ತದೆ. ಆದ್ದರಿಂದ, ಹೆಲ್ಮ್ ಅಗತ್ಯವಿದ್ದಾಗ ಮಾತ್ರ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನವೀಕರಿಸುತ್ತದೆ.

ನಮ್ಮ ಪ್ರಯತ್ನಗಳನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಹೇಳೋಣ

  • ಹೆಲ್ಮ್ ಕನಿಷ್ಠ ಆಕ್ರಮಣಕಾರಿ ರೀತಿಯಲ್ಲಿ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಡಾಕರ್ ರಿಜಿಸ್ಟ್ರಿಯಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ ಇಮೇಜ್ ಮಟ್ಟದಲ್ಲಿ ಯಾವುದೇ ಬದಲಾವಣೆಯು ನವೀಕರಣಕ್ಕೆ ಕಾರಣವಾಗುವುದಿಲ್ಲ: ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದ ನಂತರ ಏನೂ ಆಗುವುದಿಲ್ಲ.
  • ಕೀ --force ಸಮಸ್ಯಾತ್ಮಕ ಬಿಡುಗಡೆಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು ಬಲವಂತದ ನವೀಕರಣಗಳೊಂದಿಗೆ ಸಂಬಂಧ ಹೊಂದಿಲ್ಲ.
  • ಕೀ --recreate-pods ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಬಲವಂತವಾಗಿ ನವೀಕರಿಸುತ್ತದೆ, ಆದರೆ ಅದನ್ನು ವಿಧ್ವಂಸಕ ರೀತಿಯಲ್ಲಿ ಮಾಡುತ್ತದೆ: ಇದು ಥಟ್ಟನೆ ಎಲ್ಲಾ ಕಂಟೇನರ್‌ಗಳನ್ನು ಆಫ್ ಮಾಡುತ್ತದೆ. ಬಳಕೆದಾರರು ಇದರಿಂದ ಬಳಲುತ್ತಿದ್ದಾರೆ; ನೀವು ಉತ್ಪಾದನೆಯಲ್ಲಿ ಇದನ್ನು ಮಾಡಬಾರದು.
  • ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನೇರವಾಗಿ ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್‌ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿ kubectl edit ಮಾಡಬೇಡಿ: ನಾವು ಸ್ಥಿರತೆಯನ್ನು ಮುರಿಯುತ್ತೇವೆ ಮತ್ತು ಹೆಲ್ಮ್ ಆವೃತ್ತಿಯನ್ನು ಅವಲಂಬಿಸಿ ನಡವಳಿಕೆಯು ಭಿನ್ನವಾಗಿರುತ್ತದೆ.
  • ಹೆಲ್ಮ್‌ನ ಹೊಸ ಆವೃತ್ತಿಯ ಬಿಡುಗಡೆಯೊಂದಿಗೆ, ಅನೇಕ ಸೂಕ್ಷ್ಮ ವ್ಯತ್ಯಾಸಗಳು ಕಾಣಿಸಿಕೊಂಡವು. ಹೆಲ್ಮ್ ರೆಪೊಸಿಟರಿಯಲ್ಲಿನ ಸಮಸ್ಯೆಗಳನ್ನು ಸ್ಪಷ್ಟ ಭಾಷೆಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ವಿವರಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಅವು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತವೆ.
  • ಚಾರ್ಟ್‌ಗೆ ಸಂಪಾದಿಸಬಹುದಾದ ಟಿಪ್ಪಣಿಯನ್ನು ಸೇರಿಸುವುದರಿಂದ ಅದನ್ನು ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುವಂತೆ ಮಾಡುತ್ತದೆ. ಅಲಭ್ಯತೆಯಿಲ್ಲದೆ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಸರಿಯಾಗಿ ಹೊರತರಲು ಇದು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ.

ಜೀವನದ ಎಲ್ಲಾ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ "ವಿಶ್ವ ಶಾಂತಿ" ಚಿಂತನೆ: ಬಳಕೆಗೆ ಮೊದಲು ಸೂಚನೆಗಳನ್ನು ಓದಿ, ನಂತರ ಅಲ್ಲ. ಸಂಪೂರ್ಣ ಮಾಹಿತಿಯೊಂದಿಗೆ ಮಾತ್ರ ವಿಶ್ವಾಸಾರ್ಹ ವ್ಯವಸ್ಥೆಗಳನ್ನು ನಿರ್ಮಿಸಲು ಮತ್ತು ಬಳಕೆದಾರರನ್ನು ಸಂತೋಷಪಡಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

ಇತರ ಸಂಬಂಧಿತ ಲಿಂಕ್‌ಗಳು:

  1. ಜೊತೆ ಪರಿಚಯ ಹೆಲ್ಮ್ 3
  2. ಹೆಲ್ಮ್ ಅಧಿಕೃತ ವೆಬ್‌ಸೈಟ್
  3. GitHub ನಲ್ಲಿ ಹೆಲ್ಮ್ ರೆಪೊಸಿಟರಿ
  4. 25 ಉಪಯುಕ್ತ ಕುಬರ್ನೆಟ್ಸ್ ಪರಿಕರಗಳು: ನಿಯೋಜನೆ ಮತ್ತು ನಿರ್ವಹಣೆ

ಈ ವರದಿಯನ್ನು ಮೊದಲು ಪ್ರಸ್ತುತಪಡಿಸಲಾಯಿತು @ಕುಬರ್ನೆಟ್ಸ್ ಸಮ್ಮೇಳನ Mail.ru ಮೇಘ ಪರಿಹಾರಗಳಿಂದ. ನೋಡು видео ಇತರ ಪ್ರದರ್ಶನಗಳು ಮತ್ತು ಟೆಲಿಗ್ರಾಮ್‌ನಲ್ಲಿ ಈವೆಂಟ್ ಪ್ರಕಟಣೆಗಳಿಗೆ ಚಂದಾದಾರರಾಗಿ Mail.ru ಗುಂಪಿನಲ್ಲಿ ಕುಬರ್ನೆಟ್ಸ್ ಸುತ್ತಲೂ.

ಮೂಲ: www.habr.com

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