ಕುಬರ್ನೆಟ್ಸ್‌ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಡೆವಲಪರ್‌ಗಳಿಗಾಗಿ ಪರಿಕರಗಳು

ಕುಬರ್ನೆಟ್ಸ್‌ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಡೆವಲಪರ್‌ಗಳಿಗಾಗಿ ಪರಿಕರಗಳು

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

ಈ ವಿಮರ್ಶೆಯು ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್‌ನ ಪಾಡ್'ಆಕ್ಸ್‌ನಲ್ಲಿ ಕೋಡ್ ರನ್ ಆಗುವ ಪ್ರೋಗ್ರಾಮರ್‌ಗೆ ಜೀವನವನ್ನು ಸುಲಭಗೊಳಿಸುವ ಕೆಲವು ಸಾಧನಗಳ ಕುರಿತು ಸಂಕ್ಷಿಪ್ತ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಸರಳ ಸಹಾಯಕರು

ಕುಬೆಕ್ಟಲ್-ಡೀಬಗ್

  • ಸಾರ: ನಿಮ್ಮ ಕಂಟೇನರ್ ಅನ್ನು ಪಾಡ್‌ಗೆ ಸೇರಿಸಿ ಮತ್ತು ಅದರಲ್ಲಿ ಏನಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡಿ.
  • GitHub.
  • ಸಂಕ್ಷಿಪ್ತ GH ಅಂಕಿಅಂಶಗಳು: 715 ನಕ್ಷತ್ರಗಳು, 54 ಕಮಿಟ್‌ಗಳು, 9 ಕೊಡುಗೆದಾರರು.
  • ಭಾಷೆ: ಹೋಗಿ.
  • ಪರವಾನಗಿ: ಅಪಾಚೆ ಪರವಾನಗಿ 2.0.

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

ಚಾಲನೆಯಲ್ಲಿರುವ ಮೂಲಕ ನೀವು ಪ್ರಕ್ರಿಯೆಯ ಕಂಟೇನರ್‌ಗೆ ಬದಲಾಯಿಸಬಹುದು chroot /proc/PID/root - ಮ್ಯಾನಿಫೆಸ್ಟ್‌ನಲ್ಲಿ ಹೊಂದಿಸಲಾದ ಕಂಟೇನರ್‌ನಲ್ಲಿ ನೀವು ರೂಟ್ ಶೆಲ್ ಅನ್ನು ಪಡೆಯಬೇಕಾದಾಗ ಇದು ತುಂಬಾ ಅನುಕೂಲಕರವಾಗಿರುತ್ತದೆ securityContext.runAs.

ಉಪಕರಣವು ಸರಳ ಮತ್ತು ಪರಿಣಾಮಕಾರಿಯಾಗಿದೆ, ಆದ್ದರಿಂದ ಇದು ಪ್ರತಿ ಡೆವಲಪರ್ಗೆ ಉಪಯುಕ್ತವಾಗಿದೆ. ನಾವು ಅದರ ಬಗ್ಗೆ ಹೆಚ್ಚು ಬರೆದಿದ್ದೇವೆ ಪ್ರತ್ಯೇಕ ಲೇಖನ.

ಟೆಲಿಪ್ರೆಸೆನ್ಸ್

  • ಸಾರ: ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ಗೆ ವರ್ಗಾಯಿಸಿ. ಸ್ಥಳೀಯವಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಿ ಮತ್ತು ಡೀಬಗ್ ಮಾಡಿ.
  • ವೆಬ್ಸೈಟ್; GitHub.
  • ಸಂಕ್ಷಿಪ್ತ GH ಅಂಕಿಅಂಶಗಳು: 2131 ನಕ್ಷತ್ರಗಳು, 2712 ಕಮಿಟ್‌ಗಳು, 33 ಕೊಡುಗೆದಾರರು.
  • ಭಾಷೆ: ಪೈಥಾನ್.
  • ಪರವಾನಗಿ: ಅಪಾಚೆ ಪರವಾನಗಿ 2.0.

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

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

ಟೆಲಿಪ್ರೆಸೆನ್ಸ್ ಬಳಸುವ ನಮ್ಮ ಅನುಭವವನ್ನು ನಾವು ಈಗಾಗಲೇ ಹಂಚಿಕೊಂಡಿದ್ದೇವೆ ಇಲ್ಲಿ.

Ksync

  • ಸಾರ: ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿನ ಧಾರಕದೊಂದಿಗೆ ಕೋಡ್‌ನ ಬಹುತೇಕ ತ್ವರಿತ ಸಿಂಕ್ರೊನೈಸೇಶನ್.
  • GitHub.
  • ಸಂಕ್ಷಿಪ್ತ GH ಅಂಕಿಅಂಶಗಳು: 555 ನಕ್ಷತ್ರಗಳು, 362 ಕಮಿಟ್‌ಗಳು, 11 ಕೊಡುಗೆದಾರರು.
  • ಭಾಷೆ: ಹೋಗಿ.
  • ಪರವಾನಗಿ: ಅಪಾಚೆ ಪರವಾನಗಿ 2.0.

ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಕಂಟೇನರ್‌ನ ಡೈರೆಕ್ಟರಿಯೊಂದಿಗೆ ಸ್ಥಳೀಯ ಡೈರೆಕ್ಟರಿಯ ವಿಷಯಗಳನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಲು ಉಪಯುಕ್ತತೆಯು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ ಡೆವಲಪರ್‌ಗಳಿಗೆ ಅಂತಹ ಸಾಧನವು ಪರಿಪೂರ್ಣವಾಗಿದೆ, ಅದರ ಮುಖ್ಯ ಸಮಸ್ಯೆ ಚಾಲನೆಯಲ್ಲಿರುವ ಕಂಟೇನರ್‌ಗೆ ಕೋಡ್ ಅನ್ನು ತಲುಪಿಸುತ್ತದೆ. ಈ ತಲೆನೋವನ್ನು ನಿವಾರಿಸಲು Ksync ಅನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ.

ಆಜ್ಞೆಯಿಂದ ಒಮ್ಮೆ ಪ್ರಾರಂಭಿಸಿದಾಗ ksync init ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿ ಡೇಮನ್‌ಸೆಟ್ ಅನ್ನು ರಚಿಸಲಾಗಿದೆ, ಇದನ್ನು ಆಯ್ದ ಕಂಟೇನರ್‌ನ ಫೈಲ್ ಸಿಸ್ಟಮ್‌ನ ಸ್ಥಿತಿಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ. ಅವನ ಸ್ಥಳೀಯ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ, ಡೆವಲಪರ್ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸುತ್ತಾನೆ ksync watch, ಇದು ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳು ಮತ್ತು ರನ್‌ಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತದೆ ಸಿಂಕ್ ಮಾಡಲಾಗುತ್ತಿದೆ, ಇದು ಕ್ಲಸ್ಟರ್‌ನೊಂದಿಗೆ ಫೈಲ್‌ಗಳನ್ನು ನೇರವಾಗಿ ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡುತ್ತದೆ.

ಏನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಬೇಕೆಂದು ksync ಗೆ ಸೂಚನೆ ನೀಡುವುದು ಮಾತ್ರ ಉಳಿದಿದೆ. ಉದಾಹರಣೆಗೆ, ಈ ಆಜ್ಞೆ:

ksync create --name=myproject --namespace=test --selector=app=backend --container=php --reload=false /home/user/myproject/ /var/www/myproject/

... ಹೆಸರಿನ ವೀಕ್ಷಕನನ್ನು ರಚಿಸುತ್ತದೆ myprojectಇದು ಲೇಬಲ್‌ನೊಂದಿಗೆ ಪಾಡ್‌ಗಾಗಿ ಹುಡುಕುತ್ತದೆ app=backend ಮತ್ತು ಸ್ಥಳೀಯ ಡೈರೆಕ್ಟರಿಯನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ /home/user/myproject/ ಕ್ಯಾಟಲಾಗ್ನೊಂದಿಗೆ /var/www/myproject/ ಎಂಬ ಕಂಟೈನರ್ ನಲ್ಲಿ php.

ನಮ್ಮ ಅನುಭವದಿಂದ ksync ನಲ್ಲಿ ಸಮಸ್ಯೆಗಳು ಮತ್ತು ಟಿಪ್ಪಣಿಗಳು:

  • ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ ನೋಡ್‌ಗಳಲ್ಲಿ ಬಳಸಬೇಕು overlay2 ಡಾಕರ್‌ಗೆ ಶೇಖರಣಾ ಚಾಲಕನಾಗಿ. ಉಪಯುಕ್ತತೆಯು ಇತರರೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ.
  • ವಿಂಡೋಸ್ ಅನ್ನು ಕ್ಲೈಂಟ್ ಓಎಸ್ ಆಗಿ ಬಳಸುವಾಗ, ಫೈಲ್ ಸಿಸ್ಟಮ್ ವಾಚರ್ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು. ದೊಡ್ಡ ಡೈರೆಕ್ಟರಿಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ಈ ದೋಷವನ್ನು ಗಮನಿಸಲಾಗಿದೆ - ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ನೆಸ್ಟೆಡ್ ಫೈಲ್‌ಗಳು ಮತ್ತು ಡೈರೆಕ್ಟರಿಗಳೊಂದಿಗೆ. ನಾವು ರಚಿಸಿದ್ದೇವೆ ಸಂಬಂಧಿತ ಸಮಸ್ಯೆ ಸಿಂಕ್ಟಿಂಗ್ ಪ್ರಾಜೆಕ್ಟ್‌ನಲ್ಲಿ, ಆದರೆ ಅದರಲ್ಲಿ ಇನ್ನೂ ಯಾವುದೇ ಪ್ರಗತಿ ಇಲ್ಲ (ಜುಲೈ ಆರಂಭದಿಂದ).
  • ಫೈಲ್ ಬಳಸಿ .stignore ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಬೇಕಾದ ಅಗತ್ಯವಿಲ್ಲದ ಮಾರ್ಗಗಳು ಅಥವಾ ಫೈಲ್ ಮಾದರಿಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು (ಉದಾಹರಣೆಗೆ, ಡೈರೆಕ್ಟರಿಗಳು app/cache и .git).
  • ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಫೈಲ್‌ಗಳು ಬದಲಾದಾಗ ksync ಕಂಟೇನರ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸುತ್ತದೆ. Node.js ಗೆ ಇದು ಅನುಕೂಲಕರವಾಗಿದೆ, ಆದರೆ PHP ಗಾಗಿ ಇದು ಸಂಪೂರ್ಣವಾಗಿ ಅನಗತ್ಯವಾಗಿದೆ. opcache ಅನ್ನು ಆಫ್ ಮಾಡುವುದು ಮತ್ತು ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಬಳಸುವುದು ಉತ್ತಮ --reload=false.
  • ಸಂರಚನೆಯನ್ನು ಯಾವಾಗಲೂ ಸರಿಪಡಿಸಬಹುದು $HOME/.ksync/ksync.yaml.

ಸ್ಕ್ವ್ಯಾಷ್

  • ಸಾರ: ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿ ನೇರವಾಗಿ ಡೀಬಗ್ ಪ್ರಕ್ರಿಯೆಗಳು.
  • GitHub.
  • ಸಂಕ್ಷಿಪ್ತ GH ಅಂಕಿಅಂಶಗಳು: 1154 ನಕ್ಷತ್ರಗಳು, 279 ಕಮಿಟ್‌ಗಳು, 23 ಕೊಡುಗೆದಾರರು.
  • ಭಾಷೆ: ಹೋಗಿ.
  • ಪರವಾನಗಿ: ಅಪಾಚೆ ಪರವಾನಗಿ 2.0.

ಈ ಉಪಕರಣವನ್ನು ನೇರವಾಗಿ ಪಾಡ್‌ಗಳಲ್ಲಿ ಡೀಬಗ್ ಮಾಡುವ ಪ್ರಕ್ರಿಯೆಗಳಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಉಪಯುಕ್ತತೆಯು ಸರಳವಾಗಿದೆ ಮತ್ತು ಸಂವಾದಾತ್ಮಕವಾಗಿ ಬಯಸಿದ ಡೀಬಗರ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ (ಕೆಳಗೆ ನೋಡಿ) ಮತ್ತು ನೇಮ್‌ಸ್ಪೇಸ್ + ಪಾಡ್, ಈ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ನೀವು ಮಧ್ಯಪ್ರವೇಶಿಸಬೇಕಾಗಿದೆ. ಪ್ರಸ್ತುತ ಬೆಂಬಲಿತವಾಗಿದೆ:

  • delve - ಗೋ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ;
  • GDB - ಟಾರ್ಗೆಟ್ ರಿಮೋಟ್ ಮೂಲಕ + ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡ್ ಮಾಡುವಿಕೆ;
  • ಜಾವಾ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಡೀಬಗ್ ಮಾಡಲು JDWP ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ.

IDE ಭಾಗದಲ್ಲಿ, ಬೆಂಬಲವು VScode ನಲ್ಲಿ ಮಾತ್ರ ಲಭ್ಯವಿದೆ (ಬಳಸುವುದು ಹಿಗ್ಗುವಿಕೆ), ಆದಾಗ್ಯೂ, ಪ್ರಸ್ತುತ (2019) ವರ್ಷದ ಯೋಜನೆಗಳು ಎಕ್ಲಿಪ್ಸ್ ಮತ್ತು ಇಂಟೆಲಿಜ್ ಅನ್ನು ಒಳಗೊಂಡಿವೆ.

ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಡೀಬಗ್ ಮಾಡಲು, ಸ್ಕ್ವ್ಯಾಷ್ ಕ್ಲಸ್ಟರ್ ನೋಡ್‌ಗಳಲ್ಲಿ ಸವಲತ್ತು ಹೊಂದಿರುವ ಧಾರಕವನ್ನು ನಡೆಸುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ಮೊದಲು ಸಾಮರ್ಥ್ಯಗಳೊಂದಿಗೆ ನೀವೇ ಪರಿಚಿತರಾಗಿರಬೇಕು ಸುರಕ್ಷಿತ ಮೋಡ್ ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳನ್ನು ತಪ್ಪಿಸಲು.

ಸಂಪೂರ್ಣ ಪರಿಹಾರಗಳು

ಭಾರೀ ಫಿರಂಗಿಗಳಿಗೆ ಹೋಗೋಣ - ಡೆವಲಪರ್‌ಗಳ ಅನೇಕ ಅಗತ್ಯಗಳನ್ನು ತಕ್ಷಣವೇ ಪೂರೈಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಹೆಚ್ಚು “ದೊಡ್ಡ ಪ್ರಮಾಣದ” ಯೋಜನೆಗಳು.

NB: ಈ ಪಟ್ಟಿಯಲ್ಲಿ, ಸಹಜವಾಗಿ, ನಮ್ಮ ಓಪನ್ ಸೋರ್ಸ್ ಉಪಯುಕ್ತತೆಗೆ ಒಂದು ಸ್ಥಳವಿದೆ werf (ಹಿಂದೆ ಡಪ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತಿತ್ತು). ಆದಾಗ್ಯೂ, ನಾವು ಈಗಾಗಲೇ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಬಾರಿ ಅದರ ಬಗ್ಗೆ ಬರೆದಿದ್ದೇವೆ ಮತ್ತು ಮಾತನಾಡಿದ್ದೇವೆ ಮತ್ತು ಆದ್ದರಿಂದ ಅದನ್ನು ವಿಮರ್ಶೆಯಲ್ಲಿ ಸೇರಿಸದಿರಲು ನಿರ್ಧರಿಸಿದ್ದೇವೆ. ಅದರ ಸಾಮರ್ಥ್ಯಗಳೊಂದಿಗೆ ಹೆಚ್ಚು ಪರಿಚಿತರಾಗಲು ಬಯಸುವವರಿಗೆ, ವರದಿಯನ್ನು ಓದಲು/ಕೇಳಲು ನಾವು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ "Kubernetes ನಲ್ಲಿ CI/CD ಗಾಗಿ werf ನಮ್ಮ ಸಾಧನವಾಗಿದೆ».

DevSpace

  • ಸಾರ: ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಲು ಬಯಸುವವರಿಗೆ, ಆದರೆ ಅದರ ಕಾಡಿನಲ್ಲಿ ಆಳವಾಗಿ ಅಧ್ಯಯನ ಮಾಡಲು ಬಯಸುವುದಿಲ್ಲ.
  • GitHub.
  • ಸಂಕ್ಷಿಪ್ತ GH ಅಂಕಿಅಂಶಗಳು: 630 ನಕ್ಷತ್ರಗಳು, 1912 ಕಮಿಟ್‌ಗಳು, 13 ಕೊಡುಗೆದಾರರು.
  • ಭಾಷೆ: ಹೋಗಿ.
  • ಪರವಾನಗಿ: ಅಪಾಚೆ ಪರವಾನಗಿ 2.0.

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

ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸುವಾಗ devspace init ಪ್ರಾಜೆಕ್ಟ್ ಕ್ಯಾಟಲಾಗ್‌ನಲ್ಲಿ ನಿಮಗೆ ನೀಡಲಾಗುವುದು (ಸಂವಾದಾತ್ಮಕವಾಗಿ):

  • ಕೆಲಸ ಮಾಡುವ ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ,
  • ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಬಳಸಿ Dockerfile (ಅಥವಾ ಹೊಸದನ್ನು ರಚಿಸಿ) ಅದರ ಆಧಾರದ ಮೇಲೆ ಧಾರಕವನ್ನು ರಚಿಸಲು,
  • ಕಂಟೇನರ್ ಚಿತ್ರಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ರೆಪೊಸಿಟರಿಯನ್ನು ಆಯ್ಕೆಮಾಡಿ, ಇತ್ಯಾದಿ.

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

ಐಚ್ಛಿಕವಾಗಿ, ಟರ್ಮಿನಲ್ ಅನ್ನು ಕಂಟೇನರ್‌ಗೆ ಸರಿಸಲು ನಿಮ್ಮನ್ನು ಕೇಳಲಾಗುತ್ತದೆ. ನೀವು ನಿರಾಕರಿಸಬಾರದು, ಏಕೆಂದರೆ ವಾಸ್ತವದಲ್ಲಿ ಕಂಟೇನರ್ ನಿದ್ರೆಯ ಆಜ್ಞೆಯೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಮತ್ತು ನೈಜ ಪರೀಕ್ಷೆಗಾಗಿ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಪ್ರಾರಂಭಿಸಬೇಕಾಗುತ್ತದೆ.

ಅಂತಿಮವಾಗಿ, ತಂಡ devspace deploy ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ಸಂಬಂಧಿತ ಮೂಲಸೌಕರ್ಯವನ್ನು ಕ್ಲಸ್ಟರ್‌ಗೆ ಹೊರತರುತ್ತದೆ, ಅದರ ನಂತರ ಎಲ್ಲವೂ ಯುದ್ಧ ಕ್ರಮದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಪ್ರಾರಂಭಿಸುತ್ತದೆ.

ಎಲ್ಲಾ ಪ್ರಾಜೆಕ್ಟ್ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಫೈಲ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ devspace.yaml. ಅಭಿವೃದ್ಧಿ ಪರಿಸರದ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಜೊತೆಗೆ, ನೀವು ಅದರಲ್ಲಿ ಮೂಲಸೌಕರ್ಯದ ವಿವರಣೆಯನ್ನು ಸಹ ಕಾಣಬಹುದು, ಪ್ರಮಾಣಿತ ಕುಬರ್ನೆಟ್ಸ್ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ಗಳಂತೆಯೇ, ಹೆಚ್ಚು ಸರಳೀಕರಿಸಲಾಗಿದೆ.

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

ಹೆಚ್ಚುವರಿಯಾಗಿ, ಪೂರ್ವನಿರ್ಧರಿತ ಘಟಕವನ್ನು (ಉದಾಹರಣೆಗೆ, MySQL DBMS) ಅಥವಾ ಹೆಲ್ಮ್ ಚಾರ್ಟ್ ಅನ್ನು ಯೋಜನೆಗೆ ಸೇರಿಸುವುದು ಸುಲಭ. ರಲ್ಲಿ ಇನ್ನಷ್ಟು ಓದಿ ದಸ್ತಾವೇಜನ್ನು - ಇದು ಸಂಕೀರ್ಣವಾಗಿಲ್ಲ.

ಸ್ಕ್ಯಾಫೋಲ್ಡ್

  • ವೆಬ್ಸೈಟ್; GitHub.
  • ಸಂಕ್ಷಿಪ್ತ GH ಅಂಕಿಅಂಶಗಳು: 7423 ನಕ್ಷತ್ರಗಳು, 4173 ಕಮಿಟ್‌ಗಳು, 136 ಕೊಡುಗೆದಾರರು.
  • ಭಾಷೆ: ಹೋಗಿ.
  • ಪರವಾನಗಿ: ಅಪಾಚೆ ಪರವಾನಗಿ 2.0.

Google ನ ಈ ಉಪಯುಕ್ತತೆಯು ಡೆವಲಪರ್‌ನ ಎಲ್ಲಾ ಅಗತ್ಯಗಳನ್ನು ಪೂರೈಸುತ್ತದೆ ಎಂದು ಹೇಳುತ್ತದೆ, ಅವರ ಕೋಡ್ ಹೇಗಾದರೂ ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿ ರನ್ ಆಗುತ್ತದೆ. ಅದನ್ನು ಬಳಸಲು ಪ್ರಾರಂಭಿಸುವುದು devspace ಅಷ್ಟು ಸುಲಭವಲ್ಲ: ಯಾವುದೇ ಸಂವಾದಾತ್ಮಕತೆ, ಭಾಷೆ ಪತ್ತೆ ಮತ್ತು ಸ್ವಯಂ-ಸೃಷ್ಟಿ Dockerfile ಅವರು ಅದನ್ನು ನಿಮಗೆ ಇಲ್ಲಿ ನೀಡುವುದಿಲ್ಲ.

ಆದಾಗ್ಯೂ, ಇದು ನಿಮ್ಮನ್ನು ಹೆದರಿಸದಿದ್ದರೆ, ಸ್ಕಫೊಲ್ಡ್ ನಿಮಗೆ ಏನು ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ:

  • ಮೂಲ ಕೋಡ್ ಬದಲಾವಣೆಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿ.
  • ಜೋಡಣೆ ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೆ ಅದನ್ನು ಪಾಡ್ ಕಂಟೇನರ್‌ನೊಂದಿಗೆ ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಿ.
  • ಭಾಷೆಯನ್ನು ಅರ್ಥೈಸಿದರೆ ಕೋಡ್‌ನೊಂದಿಗೆ ಧಾರಕಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ ಅಥವಾ ಕಲಾಕೃತಿಗಳನ್ನು ಕಂಪೈಲ್ ಮಾಡಿ ಮತ್ತು ಅವುಗಳನ್ನು ಕಂಟೈನರ್‌ಗಳಲ್ಲಿ ಪ್ಯಾಕ್ ಮಾಡಿ.
  • ಪರಿಣಾಮವಾಗಿ ಚಿತ್ರಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬಳಸಿಕೊಂಡು ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ ಕಂಟೇನರ್-ರಚನೆ-ಪರೀಕ್ಷೆ.
  • ಡಾಕರ್ ರಿಜಿಸ್ಟ್ರಿಗೆ ಚಿತ್ರಗಳನ್ನು ಟ್ಯಾಗ್ ಮಾಡುವುದು ಮತ್ತು ಅಪ್‌ಲೋಡ್ ಮಾಡುವುದು.
  • kubectl, Helm ಅಥವಾ kustomize ಬಳಸಿಕೊಂಡು ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಯೋಜಿಸಿ.
  • ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡ್ ಮಾಡುವಿಕೆಯನ್ನು ನಿರ್ವಹಿಸಿ.
  • Java, Node.js, Python ನಲ್ಲಿ ಬರೆಯಲಾದ ಡೀಬಗ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು.

ವಿವಿಧ ಮಾರ್ಪಾಡುಗಳಲ್ಲಿನ ಕೆಲಸದ ಹರಿವನ್ನು ಫೈಲ್‌ನಲ್ಲಿ ಘೋಷಣಾತ್ಮಕವಾಗಿ ವಿವರಿಸಲಾಗಿದೆ skaffold.yaml. ಯೋಜನೆಗಾಗಿ, ನೀವು ಹಲವಾರು ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಸಹ ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು, ಇದರಲ್ಲಿ ನೀವು ಅಸೆಂಬ್ಲಿ ಮತ್ತು ನಿಯೋಜನೆ ಹಂತಗಳನ್ನು ಭಾಗಶಃ ಅಥವಾ ಸಂಪೂರ್ಣವಾಗಿ ಬದಲಾಯಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ಅಭಿವೃದ್ಧಿಗಾಗಿ, ಡೆವಲಪರ್‌ಗೆ ಅನುಕೂಲಕರವಾದ ಮೂಲ ಚಿತ್ರವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ, ಮತ್ತು ಹಂತ ಮತ್ತು ಉತ್ಪಾದನೆಗೆ - ಕನಿಷ್ಠ ಒಂದು (+ ಬಳಕೆ securityContext ಕಂಟೈನರ್‌ಗಳು ಅಥವಾ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಯೋಜಿಸಲಾಗುವ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಮರು ವ್ಯಾಖ್ಯಾನಿಸಿ).

ಡಾಕರ್ ಕಂಟೈನರ್‌ಗಳನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಅಥವಾ ದೂರದಿಂದಲೇ ನಿರ್ಮಿಸಬಹುದು: in Google ಕ್ಲೌಡ್ ಬಿಲ್ಡ್ ಅಥವಾ ಕ್ಲಸ್ಟರ್ ಬಳಸಿ ಕನಿಕೊ. Bazel ಮತ್ತು Jib Maven/Gradle ಸಹ ಬೆಂಬಲಿತವಾಗಿದೆ. ಟ್ಯಾಗಿಂಗ್‌ಗಾಗಿ, Skaffold ಹಲವು ತಂತ್ರಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ: git ಕಮಿಟ್ ಹ್ಯಾಶ್ ಮೂಲಕ, ದಿನಾಂಕ/ಸಮಯ, sha256-ಮೂಲಗಳ ಮೊತ್ತ, ಇತ್ಯಾದಿ.

ಪ್ರತ್ಯೇಕವಾಗಿ, ಧಾರಕಗಳನ್ನು ಪರೀಕ್ಷಿಸುವ ಸಾಧ್ಯತೆಯನ್ನು ಗಮನಿಸುವುದು ಯೋಗ್ಯವಾಗಿದೆ. ಈಗಾಗಲೇ ಉಲ್ಲೇಖಿಸಲಾದ ಕಂಟೇನರ್-ಸ್ಟ್ರಕ್ಚರ್-ಟೆಸ್ಟ್ ಫ್ರೇಮ್‌ವರ್ಕ್ ಕೆಳಗಿನ ಪರಿಶೀಲನಾ ವಿಧಾನಗಳನ್ನು ನೀಡುತ್ತದೆ:

  • ಟ್ರ್ಯಾಕಿಂಗ್ ನಿರ್ಗಮನ ಸ್ಥಿತಿಗಳೊಂದಿಗೆ ಕಂಟೇನರ್‌ನ ಸಂದರ್ಭದಲ್ಲಿ ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದು ಮತ್ತು ಆಜ್ಞೆಯ ಪಠ್ಯ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪರಿಶೀಲಿಸುವುದು.
  • ಕಂಟೇನರ್‌ನಲ್ಲಿ ಫೈಲ್‌ಗಳ ಉಪಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸುವುದು ಮತ್ತು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿಸುವುದು.
  • ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಫೈಲ್ ವಿಷಯಗಳ ನಿಯಂತ್ರಣ.
  • ಚಿತ್ರದ ಮೆಟಾಡೇಟಾ ಪರಿಶೀಲನೆ (ENV, ENTRYPOINT, VOLUMES ಇತ್ಯಾದಿ).
  • ಪರವಾನಗಿ ಹೊಂದಾಣಿಕೆಯನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ.

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

ಕುಬರ್ನೆಟ್ಸ್‌ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಡೆವಲಪರ್‌ಗಳಿಗಾಗಿ ಪರಿಕರಗಳು
ಸ್ಕಫೊಲ್ಡ್ ಕಾರ್ಯಾಚರಣೆಯ ಮುಖ್ಯ ಹಂತಗಳು

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

ಗಾರ್ಡನ್

  • ವೆಬ್ಸೈಟ್; GitHub.
  • ಸಂಕ್ಷಿಪ್ತ GH ಅಂಕಿಅಂಶಗಳು: 1063 ನಕ್ಷತ್ರಗಳು, 1927 ಕಮಿಟ್‌ಗಳು, 17 ಕೊಡುಗೆದಾರರು.
  • ಭಾಷೆ: ಟೈಪ್‌ಸ್ಕ್ರಿಪ್ಟ್ (ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಹಲವಾರು ಘಟಕಗಳಾಗಿ ವಿಭಜಿಸಲು ಯೋಜಿಸಲಾಗಿದೆ, ಅವುಗಳಲ್ಲಿ ಕೆಲವು Go ನಲ್ಲಿರುತ್ತವೆ ಮತ್ತು ಟೈಪ್‌ಸ್ಕ್ರಿಪ್ಟ್/ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಮತ್ತು Go ನಲ್ಲಿ ಆಡ್-ಆನ್‌ಗಳನ್ನು ರಚಿಸಲು SDK ಅನ್ನು ಸಹ ಮಾಡಿ).
  • ಪರವಾನಗಿ: ಅಪಾಚೆ ಪರವಾನಗಿ 2.0.

Skaffold ನಂತೆ, ಗಾರ್ಡನ್ K8s ಕ್ಲಸ್ಟರ್‌ಗೆ ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್ ಅನ್ನು ತಲುಪಿಸುವ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ. ಇದನ್ನು ಮಾಡಲು, ನೀವು ಮೊದಲು ಪ್ರಾಜೆಕ್ಟ್ ರಚನೆಯನ್ನು YAML ಫೈಲ್‌ನಲ್ಲಿ ವಿವರಿಸಬೇಕು ಮತ್ತು ನಂತರ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಬೇಕು garden dev. ಅವಳು ಎಲ್ಲಾ ಮ್ಯಾಜಿಕ್ ಮಾಡುತ್ತಾಳೆ:

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

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

ಪ್ರಾಜೆಕ್ಟ್ ಮಾಡ್ಯೂಲ್ ಕಂಟೇನರ್ ಆಗಿರಬಹುದು, ಮಾವೆನ್ ಕಂಟೇನರ್ ಆಗಿರಬಹುದು, ಹೆಲ್ಮ್ ಚಾರ್ಟ್ ಆಗಿರಬಹುದು. kubectl apply ಅಥವಾ OpenFaaS ಫಂಕ್ಷನ್ ಕೂಡ. ಇದಲ್ಲದೆ, ಯಾವುದೇ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ರಿಮೋಟ್ Git ರೆಪೊಸಿಟರಿಯಿಂದ ಎಳೆಯಬಹುದು. ಮಾಡ್ಯೂಲ್ ಸೇವೆಗಳು, ಕಾರ್ಯಗಳು ಮತ್ತು ಪರೀಕ್ಷೆಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು ಅಥವಾ ಮಾಡದಿರಬಹುದು. ಸೇವೆಗಳು ಮತ್ತು ಕಾರ್ಯಗಳು ಅವಲಂಬನೆಗಳನ್ನು ಹೊಂದಬಹುದು, ಆದ್ದರಿಂದ ನೀವು ನಿರ್ದಿಷ್ಟ ಸೇವೆಯ ನಿಯೋಜನೆಯ ಅನುಕ್ರಮವನ್ನು ನಿರ್ಧರಿಸಬಹುದು ಮತ್ತು ಕಾರ್ಯಗಳು ಮತ್ತು ಪರೀಕ್ಷೆಗಳ ಪ್ರಾರಂಭವನ್ನು ಆಯೋಜಿಸಬಹುದು.

ಉದ್ಯಾನವು ಬಳಕೆದಾರರಿಗೆ ಸುಂದರವಾದ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ (ಪ್ರಸ್ತುತ ಪ್ರಾಯೋಗಿಕ ಸ್ಥಿತಿ), ಇದು ಯೋಜನೆಯ ಗ್ರಾಫ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ: ಘಟಕಗಳು, ಅಸೆಂಬ್ಲಿ ಅನುಕ್ರಮ, ಕಾರ್ಯಗಳು ಮತ್ತು ಪರೀಕ್ಷೆಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆ, ಅವುಗಳ ಸಂಪರ್ಕಗಳು ಮತ್ತು ಅವಲಂಬನೆಗಳು. ಬ್ರೌಸರ್‌ನಲ್ಲಿಯೇ, ನೀವು ಎಲ್ಲಾ ಪ್ರಾಜೆಕ್ಟ್ ಘಟಕಗಳ ಲಾಗ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಬಹುದು ಮತ್ತು HTTP ಮೂಲಕ ನಿರ್ದಿಷ್ಟ ಘಟಕವು ಏನನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡುತ್ತದೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಬಹುದು (ಸಹಜವಾಗಿ, ಅದಕ್ಕೆ ಪ್ರವೇಶ ಸಂಪನ್ಮೂಲವನ್ನು ಘೋಷಿಸಿದರೆ).

ಕುಬರ್ನೆಟ್ಸ್‌ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಡೆವಲಪರ್‌ಗಳಿಗಾಗಿ ಪರಿಕರಗಳು
ಉದ್ಯಾನಕ್ಕಾಗಿ ಫಲಕ

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

ತೀರ್ಮಾನಕ್ಕೆ

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

ಪಿಎಸ್

ನಮ್ಮ ಬ್ಲಾಗ್‌ನಲ್ಲಿಯೂ ಓದಿ:

ಮೂಲ: www.habr.com

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