ಮೊದಲು ಬಂದದ್ದು - ಕೋಳಿ ಅಥವಾ ಮೊಟ್ಟೆ? ಮೂಲಸೌಕರ್ಯ-ಸಂಕೇತದ ಕುರಿತು ಲೇಖನಕ್ಕೆ ವಿಚಿತ್ರವಾದ ಆರಂಭ, ಅಲ್ಲವೇ?
ಮೊಟ್ಟೆ ಎಂದರೇನು?
ಹೆಚ್ಚಾಗಿ, ಇನ್ಫ್ರಾಸ್ಟ್ರಕ್ಚರ್-ಆಸ್-ಕೋಡ್ (IaC) ಮೂಲಸೌಕರ್ಯವನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಘೋಷಣಾತ್ಮಕ ಮಾರ್ಗವಾಗಿದೆ. ಇದರಲ್ಲಿ ನಾವು ಸಾಧಿಸಲು ಬಯಸುವ ಸ್ಥಿತಿಯನ್ನು ನಾವು ವಿವರಿಸುತ್ತೇವೆ, ಹಾರ್ಡ್ವೇರ್ ಭಾಗದಿಂದ ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಸಾಫ್ಟ್ವೇರ್ ಕಾನ್ಫಿಗರೇಶನ್ನೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ. ಆದ್ದರಿಂದ IaC ಅನ್ನು ಇದಕ್ಕಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ:
ಸಂಪನ್ಮೂಲ ಒದಗಿಸುವಿಕೆ. ಅವುಗಳೆಂದರೆ VMs, S3, VPC, ಇತ್ಯಾದಿ. ಕೆಲಸಕ್ಕಾಗಿ ಮೂಲ ಉಪಕರಣಗಳು: ಟೆರಾಫಾರ್ಮ್ и ಮೇಘ ರಚನೆ.
ಯಾವುದೇ ಕೋಡ್ git ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿದೆ. ಮತ್ತು ಬೇಗ ಅಥವಾ ನಂತರ ತಂಡದ ನಾಯಕ ಅವರು ಕ್ರಮವಾಗಿ ಇರಿಸಬೇಕೆಂದು ನಿರ್ಧರಿಸುತ್ತಾರೆ. ಮತ್ತು ಅವನು ಮರುಪರಿಶೀಲಿಸುತ್ತಾನೆ. ಮತ್ತು ಇದು ಕೆಲವು ರಚನೆಯನ್ನು ರಚಿಸುತ್ತದೆ. ಮತ್ತು ಇದು ಒಳ್ಳೆಯದು ಎಂದು ಅವನು ನೋಡುತ್ತಾನೆ.
ಇದು ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಎಂಬುದು ಸಹ ಒಳ್ಳೆಯದು ಗಿಟ್ಲಾಬ್ и GitHubಟೆರಾಫಾರ್ಮ್ಗಾಗಿ ಒದಗಿಸುವವರು (ಮತ್ತು ಇದು ಸಾಫ್ಟ್ವೇರ್ ಕಾನ್ಫಿಗರೇಶನ್). ಅವರ ಸಹಾಯದಿಂದ, ನೀವು ಸಂಪೂರ್ಣ ಯೋಜನೆಯನ್ನು ನಿರ್ವಹಿಸಬಹುದು: ತಂಡದ ಸದಸ್ಯರು, CI/CD, git-flow, ಇತ್ಯಾದಿ.
ಮೊಟ್ಟೆ ಎಲ್ಲಿಂದ ಬಂತು?
ಆದ್ದರಿಂದ ನಾವು ಕ್ರಮೇಣ ಮುಖ್ಯ ಪ್ರಶ್ನೆಯನ್ನು ಸಮೀಪಿಸುತ್ತಿದ್ದೇವೆ.
ಮೊದಲನೆಯದಾಗಿ, ನಿಮ್ಮನ್ನು ಒಳಗೊಂಡಂತೆ ಇತರ ರೆಪೊಸಿಟರಿಗಳ ರಚನೆಯನ್ನು ವಿವರಿಸುವ ರೆಪೊಸಿಟರಿಯೊಂದಿಗೆ ನೀವು ಪ್ರಾರಂಭಿಸಬೇಕು. ಮತ್ತು ಸಹಜವಾಗಿ, GitOps ನ ಭಾಗವಾಗಿ, ನೀವು CI ಅನ್ನು ಸೇರಿಸಬೇಕಾಗುತ್ತದೆ ಇದರಿಂದ ಬದಲಾವಣೆಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತವೆ.
Git ಅನ್ನು ಇನ್ನೂ ರಚಿಸದಿದ್ದರೆ?
ಅದನ್ನು Git ನಲ್ಲಿ ಹೇಗೆ ಸಂಗ್ರಹಿಸುವುದು?
CI ಅನ್ನು ಹೇಗೆ ಸ್ಥಾಪಿಸುವುದು?
ನಾವು IaC ಬಳಸಿಕೊಂಡು Gitlab ಅನ್ನು ನಿಯೋಜಿಸಿದರೆ ಮತ್ತು ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿಯೂ ಸಹ?
ಮತ್ತು ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿಯೂ ಗಿಟ್ಲ್ಯಾಬ್ ರನ್ನರ್?
ಕ್ಲೌಡ್ ಪ್ರೊವೈಡರ್ನಲ್ಲಿ ಕುಬರ್ನೆಟ್ಸ್ ಬಗ್ಗೆ ಏನು?
ಮೊದಲು ಬಂದದ್ದು ಏನು: ನಾನು ನನ್ನ ಕೋಡ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡುವ GitLab ಅಥವಾ ನನಗೆ ಯಾವ ರೀತಿಯ GitLab ಅಗತ್ಯವಿದೆ ಎಂಬುದನ್ನು ವಿವರಿಸುವ ಕೋಡ್?
2 ಹೆಜ್ಜೆ. 2 ನೋಡ್ಗಳ ಕ್ಲಸ್ಟರ್ ಅನ್ನು "ಬೇಕಿಂಗ್" ಮಾಡಲು ನಾವು ನಮ್ಮ ಟೆರಾಫಾರ್ಮ್ ಅನ್ನು ತಯಾರಿಸುತ್ತೇವೆ. ನೀವು ಎಲ್ಲದಕ್ಕೂ ಸಾಕಷ್ಟು ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹೊಂದಿರುವಿರಿ ಎಂದು ನಿಮಗೆ ಖಚಿತವಾಗಿದ್ದರೆ, ನೀವು ಸ್ವಯಂ ಕೋಟಾಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು:
8 ಹೆಜ್ಜೆ. Gitlab ಪೂರೈಕೆದಾರರನ್ನು ಬಳಸಿಕೊಂಡು Git ರೆಪೊಸಿಟರಿಗಳನ್ನು ಸರಿಯಾದ ಕ್ರಮಾನುಗತಕ್ಕೆ ತರುವುದು.
cd ../internal/gitlab/hierarchy && terraform apply -input=false -auto-approve planfile
ದುರದೃಷ್ಟವಶಾತ್, ಟೆರಾಫಾರ್ಮ್ GitLab ಪೂರೈಕೆದಾರರು ತೇಲುವಿಕೆಯನ್ನು ಹೊಂದಿದ್ದಾರೆ ದೋಷ. ನಂತರ tf.state ಅನ್ನು ಸರಿಪಡಿಸಲು ನೀವು ಸಂಘರ್ಷದ ಯೋಜನೆಗಳನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಅಳಿಸಬೇಕಾಗುತ್ತದೆ. ನಂತರ `$make all` ಆಜ್ಞೆಯನ್ನು ಮರುರನ್ ಮಾಡಿ
9 ಹೆಜ್ಜೆ. ನಾವು ಸ್ಥಳೀಯ ರೆಪೊಸಿಟರಿಗಳನ್ನು ಸರ್ವರ್ಗೆ ವರ್ಗಾಯಿಸುತ್ತೇವೆ.
ನಮ್ಮ ಸ್ಥಳೀಯ ಯಂತ್ರದಿಂದ ನಾವು ಎಲ್ಲವನ್ನೂ ಘೋಷಣಾತ್ಮಕವಾಗಿ ನಿರ್ವಹಿಸಬಹುದೆಂದು ನಾವು ಸಾಧಿಸಿದ್ದೇವೆ. ಈಗ ನಾನು ಈ ಎಲ್ಲಾ ಕಾರ್ಯಗಳನ್ನು CI ಗೆ ವರ್ಗಾಯಿಸಲು ಬಯಸುತ್ತೇನೆ ಮತ್ತು ಗುಂಡಿಗಳನ್ನು ಒತ್ತಿ. ಇದನ್ನು ಮಾಡಲು, ನಾವು ನಮ್ಮ ಸ್ಥಳೀಯ ರಾಜ್ಯಗಳನ್ನು (ಟೆರ್ರಾಫಾರ್ಮ್ ರಾಜ್ಯ) CI ಗೆ ವರ್ಗಾಯಿಸಬೇಕಾಗಿದೆ. ಇದನ್ನು ಹೇಗೆ ಮಾಡುವುದು ಮುಂದಿನ ಭಾಗದಲ್ಲಿ.
ನಮ್ಮ ಚಂದಾದಾರರಾಗಿ ಬ್ಲಾಗ್ಆದ್ದರಿಂದ ಹೊಸ ಲೇಖನಗಳ ಬಿಡುಗಡೆಯನ್ನು ತಪ್ಪಿಸಿಕೊಳ್ಳಬಾರದು!