ಈ ಲೇಖನದಲ್ಲಿ ನಾವು ಟೆರಾಫಾರ್ಮ್ ಏನನ್ನು ಒಳಗೊಂಡಿದೆ ಎಂಬುದನ್ನು ನೋಡುತ್ತೇವೆ ಮತ್ತು ಕ್ರಮೇಣ ನಮ್ಮ ಸ್ವಂತ ಮೂಲಸೌಕರ್ಯವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ
ಎಲ್ಲದರ ಬಗ್ಗೆ ವಿವರವಾಗಿ ಮತ್ತು ಮೂರು ಹಂತಗಳಲ್ಲಿ:
1. ಟೆರಾಫಾರ್ಮ್ - ವಿವರಣೆ, ಅನುಕೂಲಗಳು ಮತ್ತು ಘಟಕಗಳು
ಟೆರ್ರಾಫಾರ್ಮ್ ಕೋಡ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ವರ್ಚುವಲ್ ಮೂಲಸೌಕರ್ಯವನ್ನು ನಿರ್ಮಿಸಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು IaC (ಇನ್ಫ್ರಾಸ್ಟ್ರಕ್ಚರ್-ಆಸ್-ಕೋಡ್) ಸಾಧನವಾಗಿದೆ.
ಉಪಕರಣದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ನಾವು ಹಲವಾರು ಪ್ರಯೋಜನಗಳನ್ನು ಗಮನಿಸಿದ್ದೇವೆ:
-
ಹೊಸ ಬಾಡಿಗೆದಾರರ ನಿಯೋಜನೆ ವೇಗ (ಕಸ್ಟಮ್ ವರ್ಚುವಲ್ ಪರಿಸರಗಳು). ವಿಶಿಷ್ಟವಾಗಿ, ಹೆಚ್ಚು ಹೊಸ ಕ್ಲೈಂಟ್ಗಳು ಇದ್ದಾರೆ, ಹೊಸ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪ್ರಕಟಿಸಲು ತಾಂತ್ರಿಕ ಬೆಂಬಲ ಸಿಬ್ಬಂದಿ ಹೆಚ್ಚು "ಕ್ಲಿಕ್ಗಳು" ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಟೆರ್ರಾಫಾರ್ಮ್ನೊಂದಿಗೆ, ಬಳಕೆದಾರರು ತಾಂತ್ರಿಕ ಬೆಂಬಲದ ಅಗತ್ಯವಿಲ್ಲದೆ ಅಥವಾ ಯಂತ್ರವನ್ನು ಸ್ಥಗಿತಗೊಳಿಸದೆಯೇ ವರ್ಚುವಲ್ ಯಂತ್ರ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬದಲಾಯಿಸಬಹುದು (ಉದಾಹರಣೆಗೆ, ಸ್ವಯಂಚಾಲಿತವಾಗಿ OS ಅನ್ನು ಮುಚ್ಚುವುದು ಮತ್ತು ವರ್ಚುವಲ್ ಡಿಸ್ಕ್ ವಿಭಾಗವನ್ನು ಹೆಚ್ಚಿಸುವುದು).
-
ಸಕ್ರಿಯಗೊಳಿಸುವ ಯೋಜನೆಯ ತ್ವರಿತ ಪರಿಶೀಲನೆ ಹೊಸ ಬಾಡಿಗೆದಾರ. ಮೂಲಸೌಕರ್ಯ ಕೋಡ್ನ ವಿವರಣೆಯನ್ನು ಬಳಸಿಕೊಂಡು, ಏನನ್ನು ಸೇರಿಸಲಾಗುವುದು ಮತ್ತು ಯಾವ ಕ್ರಮದಲ್ಲಿ ನಾವು ತಕ್ಷಣ ಪರಿಶೀಲಿಸಬಹುದು, ಹಾಗೆಯೇ ಯಾವ ಅಂತಿಮ ಸ್ಥಿತಿಯಲ್ಲಿ ಈ ಅಥವಾ ಆ ವರ್ಚುವಲ್ ಯಂತ್ರ ಅಥವಾ ವರ್ಚುವಲ್ ಯಂತ್ರಗಳಿಗೆ ಸಂಪರ್ಕವಿರುವ ವರ್ಚುವಲ್ ನೆಟ್ವರ್ಕ್ ಇರುತ್ತದೆ.
-
ಹೆಚ್ಚು ಜನಪ್ರಿಯ ಕ್ಲೌಡ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳನ್ನು ವಿವರಿಸುವ ಸಾಮರ್ಥ್ಯ. ನೀವು ಉಪಕರಣವನ್ನು ಬಳಸಬಹುದು Amazon ಮತ್ತು Google Cloud ನಿಂದ, VMware vCloud ಡೈರೆಕ್ಟರ್ ಅನ್ನು ಆಧರಿಸಿದ ಖಾಸಗಿ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಿಗೆ, IaaS, SaaS ಮತ್ತು PaaS ಪರಿಹಾರಗಳಲ್ಲಿ ಸೇವೆಗಳನ್ನು ಒದಗಿಸುತ್ತಿದೆ.
-
ಬಹು ಕ್ಲೌಡ್ ಪೂರೈಕೆದಾರರನ್ನು ನಿರ್ವಹಿಸಿ ಮತ್ತು ಕ್ಲೌಡ್ ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಚಿಸಲು, ರೋಗನಿರ್ಣಯ ಮಾಡಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು ಒಂದೇ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ದೋಷ ಸಹಿಷ್ಣುತೆಯನ್ನು ಸುಧಾರಿಸಲು ಅವುಗಳ ನಡುವೆ ಮೂಲಸೌಕರ್ಯವನ್ನು ವಿತರಿಸಿ.
-
ಡೆಮೊ ಸ್ಟ್ಯಾಂಡ್ಗಳನ್ನು ರಚಿಸಲು ಅನುಕೂಲಕರ ಬಳಕೆ ಸಾಫ್ಟ್ವೇರ್ ಪರೀಕ್ಷೆ ಮತ್ತು ಡೀಬಗ್ ಮಾಡಲು. ನೀವು ಪರೀಕ್ಷಾ ವಿಭಾಗಕ್ಕೆ ಸ್ಟ್ಯಾಂಡ್ಗಳನ್ನು ರಚಿಸಬಹುದು ಮತ್ತು ವರ್ಗಾಯಿಸಬಹುದು, ಸಮಾನಾಂತರವಾಗಿ ವಿಭಿನ್ನ ಪರಿಸರದಲ್ಲಿ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಬಹುದು ಮತ್ತು ಕೇವಲ ಒಂದು ಸಂಪನ್ಮೂಲ ನಿರ್ಮಾಣ ಯೋಜನೆಯನ್ನು ರಚಿಸುವ ಮೂಲಕ ಸಂಪನ್ಮೂಲಗಳನ್ನು ತಕ್ಷಣವೇ ಬದಲಾಯಿಸಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು
"ಟೆರಾರಿಯಮ್" ಟೆರಾಫಾರ್ಮ್
ನಾವು ಉಪಕರಣದ ಅನುಕೂಲಗಳ ಬಗ್ಗೆ ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಮಾತನಾಡಿದ್ದೇವೆ, ಈಗ ಅದನ್ನು ಅದರ ಘಟಕಗಳಾಗಿ ವಿಭಜಿಸೋಣ
ಪೂರೈಕೆದಾರರು.
ಟೆರಾಫಾರ್ಮ್ನಲ್ಲಿ, ಯಾವುದೇ ರೀತಿಯ ಮೂಲಸೌಕರ್ಯವನ್ನು ಸಂಪನ್ಮೂಲವಾಗಿ ಪ್ರತಿನಿಧಿಸಬಹುದು. ಸಂಪನ್ಮೂಲಗಳು ಮತ್ತು API ಪ್ಲಾಟ್ಫಾರ್ಮ್ ನಡುವಿನ ಸಂಪರ್ಕವನ್ನು ಒದಗಿಸುವವರ ಮಾಡ್ಯೂಲ್ಗಳು ಒದಗಿಸುತ್ತವೆ, ಇದು ನಿರ್ದಿಷ್ಟ ಪ್ಲಾಟ್ಫಾರ್ಮ್ನಲ್ಲಿ ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಚಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಅಜುರೆ ಅಥವಾ ವಿಎಂವೇರ್ vCloud ನಿರ್ದೇಶಕ.
ಯೋಜನೆಯ ಭಾಗವಾಗಿ, ನೀವು ವಿವಿಧ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ ವಿಭಿನ್ನ ಪೂರೈಕೆದಾರರೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಬಹುದು.
ಸಂಪನ್ಮೂಲಗಳು (ಸಂಪನ್ಮೂಲ ವಿವರಣೆ).
ಸಂಪನ್ಮೂಲಗಳ ವಿವರಣೆಯು ವರ್ಚುವಲ್ ಯಂತ್ರಗಳು ಅಥವಾ ನೆಟ್ವರ್ಕ್ಗಳಂತಹ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಘಟಕಗಳನ್ನು ನಿರ್ವಹಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
VMware vCloud ನಿರ್ದೇಶಕ ಪೂರೈಕೆದಾರರಿಗೆ ನೀವೇ ಸಂಪನ್ಮೂಲ ವಿವರಣೆಯನ್ನು ರಚಿಸಬಹುದು ಮತ್ತು vCloud ಡೈರೆಕ್ಟರ್ ಅನ್ನು ಬಳಸುವ ಯಾವುದೇ ಹೋಸ್ಟಿಂಗ್ ಪೂರೈಕೆದಾರರೊಂದಿಗೆ ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಚಿಸಲು ಈ ವಿವರಣೆಯನ್ನು ಬಳಸಬಹುದು. ಅಗತ್ಯವಿರುವ ಹೋಸ್ಟಿಂಗ್ ಪೂರೈಕೆದಾರರಿಗೆ ನೀವು ದೃಢೀಕರಣ ನಿಯತಾಂಕಗಳನ್ನು ಮತ್ತು ನೆಟ್ವರ್ಕ್ ಸಂಪರ್ಕದ ನಿಯತಾಂಕಗಳನ್ನು ಮಾತ್ರ ಬದಲಾಯಿಸಬೇಕಾಗುತ್ತದೆ
ಒದಗಿಸುವವರು.
ವರ್ಚುವಲ್ ಯಂತ್ರಗಳನ್ನು ರಚಿಸಿದ ನಂತರ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನ ಆರಂಭಿಕ ಸ್ಥಾಪನೆ ಮತ್ತು ನಿರ್ವಹಣೆಗಾಗಿ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಈ ಘಟಕವು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ. ಒಮ್ಮೆ ನೀವು ವರ್ಚುವಲ್ ಯಂತ್ರ ಸಂಪನ್ಮೂಲವನ್ನು ರಚಿಸಿದ ನಂತರ, ನೀವು SSH ಮೂಲಕ ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಮತ್ತು ಸಂಪರ್ಕಿಸಲು, ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ನವೀಕರಿಸಲು ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಲು ಮತ್ತು ರನ್ ಮಾಡಲು ಪ್ರೊವಿಶನರ್ಗಳನ್ನು ಬಳಸಬಹುದು.
ಇನ್ಪುಟ್ ಮತ್ತು ಔಟ್ಪುಟ್ ಅಸ್ಥಿರ.
ಇನ್ಪುಟ್ ವೇರಿಯೇಬಲ್ಗಳು - ಯಾವುದೇ ಬ್ಲಾಕ್ ಪ್ರಕಾರಗಳಿಗೆ ಇನ್ಪುಟ್ ಅಸ್ಥಿರ.
ಔಟ್ಪುಟ್ ವೇರಿಯೇಬಲ್ಗಳು ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಚಿಸಿದ ನಂತರ ಮೌಲ್ಯಗಳನ್ನು ಉಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಇತರ ಮಾಡ್ಯೂಲ್ಗಳಲ್ಲಿ ಇನ್ಪುಟ್ ವೇರಿಯೇಬಲ್ಗಳಾಗಿ ಬಳಸಬಹುದು, ಉದಾಹರಣೆಗೆ ಪ್ರೊವಿಶನರ್ಸ್ ಬ್ಲಾಕ್ನಲ್ಲಿ.
ರಾಜ್ಯಗಳು.
ಸ್ಟೇಟ್ಸ್ ಫೈಲ್ಗಳು ಪ್ರೊವೈಡರ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಸಂಪನ್ಮೂಲಗಳ ಕಾನ್ಫಿಗರೇಶನ್ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುತ್ತವೆ. ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಅನ್ನು ಮೊದಲು ರಚಿಸಿದಾಗ, ಸಂಪನ್ಮೂಲಗಳ ಬಗ್ಗೆ ಯಾವುದೇ ಮಾಹಿತಿಯಿಲ್ಲ ಮತ್ತು ಯಾವುದೇ ಕಾರ್ಯಾಚರಣೆಯ ಮೊದಲು, ಟೆರ್ರಾಫಾರ್ಮ್ ಈಗಾಗಲೇ ವಿವರಿಸಿದ ಸಂಪನ್ಮೂಲಗಳ ನೈಜ ಮೂಲಸೌಕರ್ಯದೊಂದಿಗೆ ರಾಜ್ಯವನ್ನು ನವೀಕರಿಸುತ್ತದೆ.
ಪುನರಾವರ್ತಿತ ರಚನೆ ಮತ್ತು ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ತಪ್ಪಿಸಲು ಸೇರಿಸಲಾದ ಸಂಪನ್ಮೂಲಗಳು ಮತ್ತು ವಸ್ತುಗಳ ಸಂರಚನೆಯನ್ನು ಹೋಲಿಸಲು ಈಗಾಗಲೇ ರಚಿಸಲಾದ ಸಂಪನ್ಮೂಲಗಳ ವಸ್ತುಗಳ ಗುಂಪನ್ನು ಉಳಿಸುವುದು ರಾಜ್ಯಗಳ ಮುಖ್ಯ ಉದ್ದೇಶವಾಗಿದೆ.
ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ರಾಜ್ಯದ ಮಾಹಿತಿಯನ್ನು ಸ್ಥಳೀಯ terraform.tfstate ಫೈಲ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ಅಗತ್ಯವಿದ್ದರೆ, ತಂಡದ ಕೆಲಸಕ್ಕಾಗಿ ರಿಮೋಟ್ ಸಂಗ್ರಹಣೆಯನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿದೆ.
ಟೆರ್ರಾಫಾರ್ಮ್ ಸಹಾಯವಿಲ್ಲದೆ ರಚಿಸಲಾದ ಇತರ ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ ಮತ್ತಷ್ಟು ಸಂವಹನ ನಡೆಸಲು ನೀವು ಪ್ರಸ್ತುತ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಾಜ್ಯಕ್ಕೆ ಆಮದು ಮಾಡಿಕೊಳ್ಳಬಹುದು.
2. ಮೂಲಸೌಕರ್ಯಗಳ ಸೃಷ್ಟಿ
ಘಟಕಗಳನ್ನು ವಿಂಗಡಿಸಲಾಗಿದೆ, ಈಗ ಟೆರ್ರಾಫಾರ್ಮ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ನಾವು ಕ್ರಮೇಣ ಮೂರು ವರ್ಚುವಲ್ ಯಂತ್ರಗಳೊಂದಿಗೆ ಮೂಲಸೌಕರ್ಯವನ್ನು ರಚಿಸುತ್ತೇವೆ. ಮೊದಲನೆಯದು nginx ಪ್ರಾಕ್ಸಿ ಸರ್ವರ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲಾಗಿದೆ, ಎರಡನೆಯದು Nextcloud ಆಧಾರಿತ ಫೈಲ್ ಸಂಗ್ರಹಣೆಯೊಂದಿಗೆ ಮತ್ತು ಮೂರನೆಯದು CMS Bitrix.
ನಾವು ಕೋಡ್ ಅನ್ನು ಬರೆಯುತ್ತೇವೆ ಮತ್ತು ನಮ್ಮ ಉದಾಹರಣೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಅದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತೇವೆ
ಮೊದಲಿಗೆ, ನಮ್ಮ ಹೊಸ ಯೋಜನೆಗಾಗಿ ಡೈರೆಕ್ಟರಿಯನ್ನು ರಚಿಸೋಣ, ಅದರಲ್ಲಿ ಮೂಲಸೌಕರ್ಯವನ್ನು ವಿವರಿಸುವ ಫೈಲ್ಗಳನ್ನು ಇರಿಸಲಾಗುತ್ತದೆ.
mkdir project01
ಮುಂದೆ, ನಾವು ಮೂಲಸೌಕರ್ಯ ಘಟಕಗಳನ್ನು ವಿವರಿಸುತ್ತೇವೆ. ಟೆರ್ರಾಫಾರ್ಮ್ ಸಂಬಂಧಗಳನ್ನು ರಚಿಸುತ್ತದೆ ಮತ್ತು ಫೈಲ್ಗಳಲ್ಲಿನ ವಿವರಣೆಯನ್ನು ಆಧರಿಸಿ ಫೈಲ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತದೆ. ವಿವರಿಸಲಾದ ಬ್ಲಾಕ್ಗಳ ಉದ್ದೇಶವನ್ನು ಆಧರಿಸಿ ಫೈಲ್ಗಳನ್ನು ಸ್ವತಃ ಹೆಸರಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ, network.tf - ಮೂಲಸೌಕರ್ಯಕ್ಕಾಗಿ ನೆಟ್ವರ್ಕ್ ನಿಯತಾಂಕಗಳನ್ನು ವಿವರಿಸುತ್ತದೆ.
ನಮ್ಮ ಮೂಲಸೌಕರ್ಯದ ಅಂಶಗಳನ್ನು ವಿವರಿಸಲು, ನಾವು ಈ ಕೆಳಗಿನ ಫೈಲ್ಗಳನ್ನು ರಚಿಸಿದ್ದೇವೆ:
ಫೈಲ್ಗಳ ಪಟ್ಟಿ.
main.tf - ವರ್ಚುವಲ್ ಪರಿಸರಕ್ಕಾಗಿ ನಿಯತಾಂಕಗಳ ವಿವರಣೆ - ವರ್ಚುವಲ್ ಯಂತ್ರಗಳು, ವರ್ಚುವಲ್ ಕಂಟೈನರ್ಗಳು;
network.tf - ವರ್ಚುವಲ್ ನೆಟ್ವರ್ಕ್ ನಿಯತಾಂಕಗಳು ಮತ್ತು NAT ಮತ್ತು ಫೈರ್ವಾಲ್ ನಿಯಮಗಳ ವಿವರಣೆ;
variables.tf - ನಾವು ಬಳಸುವ ಅಸ್ಥಿರಗಳ ಪಟ್ಟಿ;
vcd.tfvars - VMware vCloud ಡೈರೆಕ್ಟರ್ ಮಾಡ್ಯೂಲ್ಗಾಗಿ ಪ್ರಾಜೆಕ್ಟ್ ವೇರಿಯಬಲ್ ಮೌಲ್ಯಗಳು.
ಟೆರಾಫಾರ್ಮ್ನಲ್ಲಿನ ಕಾನ್ಫಿಗರೇಶನ್ ಭಾಷೆಯು ಘೋಷಣಾತ್ಮಕವಾಗಿದೆ ಮತ್ತು ಪ್ರೊವಿಶನರ್ ಬ್ಲಾಕ್ಗಳನ್ನು ಹೊರತುಪಡಿಸಿ ಬ್ಲಾಕ್ಗಳ ಕ್ರಮವು ಅಪ್ರಸ್ತುತವಾಗುತ್ತದೆ, ಏಕೆಂದರೆ ಈ ಬ್ಲಾಕ್ನಲ್ಲಿ ನಾವು ಮೂಲಸೌಕರ್ಯವನ್ನು ಸಿದ್ಧಪಡಿಸುವಾಗ ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕಾದ ಆಜ್ಞೆಗಳನ್ನು ವಿವರಿಸುತ್ತೇವೆ ಮತ್ತು ಅವುಗಳನ್ನು ಕ್ರಮವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ.
ಬ್ಲಾಕ್ ರಚನೆ.
<BLOCK TYPE> "<BLOCK LABEL>" "<BLOCK LABEL>" {
# Block body
<IDENTIFIER> = <EXPRESSION> # Argument
}
ಬ್ಲಾಕ್ಗಳನ್ನು ವಿವರಿಸಲು, ಅದರ ಸ್ವಂತ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ HCL (ಹಶಿಕಾರ್ಪ್ ಕಾನ್ಫಿಗರೇಶನ್ ಲಾಂಗ್ವೇಜ್) ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ; JSON ಅನ್ನು ಬಳಸಿಕೊಂಡು ಮೂಲಸೌಕರ್ಯವನ್ನು ವಿವರಿಸಲು ಸಾಧ್ಯವಿದೆ. ನೀವು ಸಿಂಟ್ಯಾಕ್ಸ್ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಬಹುದು
ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯಬಲ್ ಕಾನ್ಫಿಗರೇಶನ್, variables.tf ಮತ್ತು vcd.tfvars
ಮೊದಲಿಗೆ, VMware vCloud ಡೈರೆಕ್ಟರ್ ಮಾಡ್ಯೂಲ್ಗಾಗಿ ಬಳಸಿದ ಎಲ್ಲಾ ವೇರಿಯೇಬಲ್ಗಳ ಪಟ್ಟಿ ಮತ್ತು ಅವುಗಳ ಮೌಲ್ಯಗಳನ್ನು ವಿವರಿಸುವ ಎರಡು ಫೈಲ್ಗಳನ್ನು ರಚಿಸೋಣ. ಮೊದಲು, variables.tf ಫೈಲ್ ಅನ್ನು ರಚಿಸೋಣ.
variables.tf ಫೈಲ್ನ ವಿಷಯಗಳು.
variable "vcd_org_user" {
description = "vCD Tenant User"
}
variable "vcd_org_password" {
description = "vCD Tenant Password"
}
variable "vcd_org" {
description = "vCD Tenant Org"
}
variable "vcd_org_vdc" {
description = "vCD Tenant VDC"
}
variable "vcd_org_url" {
description = "vCD Tenant URL"
}
variable "vcd_org_max_retry_timeout" {
default = "60"
}
variable "vcd_org_allow_unverified_ssl" {
default = "true"
}
variable "vcd_org_edge_name" {
description = "vCD edge name"
}
variable "vcd_org_catalog" {
description = "vCD public catalog"
}
variable "vcd_template_os_centos7" {
description = "OS CentOS 7"
default = "CentOS7"
}
variable "vcd_org_ssd_sp" {
description = "Storage Policies"
default = "Gold Storage Policy"
}
variable "vcd_org_hdd_sp" {
description = "Storage Policies"
default = "Bronze Storage Policy"
}
variable "vcd_edge_local_subnet" {
description = "Organization Network Subnet"
}
variable "vcd_edge_external_ip" {
description = "External public IP"
}
variable "vcd_edge_local_ip_nginx" {}
variable "vcd_edge_local_ip_bitrix" {}
variable "vcd_edge_local_ip_nextcloud" {}
variable "vcd_edge_external_network" {}
ನಾವು ಒದಗಿಸುವವರಿಂದ ಸ್ವೀಕರಿಸುವ ವೇರಿಯಬಲ್ ಮೌಲ್ಯಗಳು.
-
vcd_org_user — ಸಂಸ್ಥೆಯ ನಿರ್ವಾಹಕರ ಹಕ್ಕುಗಳೊಂದಿಗೆ ಬಳಕೆದಾರಹೆಸರು,
-
vcd_org_password — ಬಳಕೆದಾರ ಗುಪ್ತಪದ,
-
vcd_org - ಸಂಸ್ಥೆಯ ಹೆಸರು,
-
vcd_org_vdc — ವರ್ಚುವಲ್ ಡೇಟಾ ಕೇಂದ್ರದ ಹೆಸರು,
-
vcd_org_url - API URL,
-
vcd_org_edge_name — ವರ್ಚುವಲ್ ರೂಟರ್ನ ಹೆಸರು,
-
vcd_org_catalog — ವರ್ಚುವಲ್ ಯಂತ್ರ ಟೆಂಪ್ಲೇಟ್ಗಳೊಂದಿಗೆ ಡೈರೆಕ್ಟರಿಯ ಹೆಸರು,
-
vcd_edge_external_ip — ಸಾರ್ವಜನಿಕ IP ವಿಳಾಸ,
-
vcd_edge_external_network — ಬಾಹ್ಯ ಜಾಲದ ಹೆಸರು,
-
vcd_org_hdd_sp — HDD ಶೇಖರಣಾ ನೀತಿಯ ಹೆಸರು,
-
vcd_org_ssd_sp — SSD ಶೇಖರಣಾ ನೀತಿಯ ಹೆಸರು.
ಮತ್ತು ನಮ್ಮ ಅಸ್ಥಿರಗಳನ್ನು ನಮೂದಿಸಿ:
-
vcd_edge_local_ip_nginx — NGINX ನೊಂದಿಗೆ ವರ್ಚುವಲ್ ಯಂತ್ರದ IP ವಿಳಾಸ,
-
vcd_edge_local_ip_bitrix - 1C ಜೊತೆಗೆ ವರ್ಚುವಲ್ ಗಣಕದ IP ವಿಳಾಸ: Bitrix,
-
vcd_edge_local_ip_nextcloud — Nextcloud ನೊಂದಿಗೆ ವರ್ಚುವಲ್ ಯಂತ್ರದ IP ವಿಳಾಸ.
ಎರಡನೇ ಫೈಲ್ನೊಂದಿಗೆ ನಾವು vcd.tfvars ಫೈಲ್ನಲ್ಲಿ VMware vCloud ಡೈರೆಕ್ಟರ್ ಮಾಡ್ಯೂಲ್ಗಾಗಿ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತೇವೆ: ನಮ್ಮ ಉದಾಹರಣೆಯಲ್ಲಿ ನಾವು ಬಳಸುವುದನ್ನು ನಾವು ನೆನಪಿಸಿಕೊಳ್ಳೋಣ
vcd.tfvars ಫೈಲ್ನ ವಿಷಯಗಳು.
vcd_org_url = "https://vcloud.mclouds.ru/api"
vcd_org_user = "orgadmin"
vcd_org_password = "*"
vcd = "org"
vcd_org_vdc = "orgvdc"
vcd_org_maxretry_timeout = 60
vcd_org_allow_unverified_ssl = true
vcd_org_catalog = "Templates"
vcd_templateos_centos7 = "CentOS7"
vcd_org_ssd_sp = "Gold Storage Policy"
vcd_org_hdd_sp = "Bronze Storage Policy"
vcd_org_edge_name = "MCLOUDS-EDGE"
vcd_edge_external_ip = "185.17.66.1"
vcd_edge_local_subnet = "192.168.110.0/24"
vcd_edge_local_ip_nginx = "192.168.110.1"
vcd_edge_local_ip_bitrix = "192.168.110.10"
vcd_edge_local_ip_nextcloud = "192.168.110.11"
vcd_edge_external_network = "NET-185-17-66-0"
ನೆಟ್ವರ್ಕ್ ಕಾನ್ಫಿಗರೇಶನ್, network.tf.
ಪರಿಸರ ವೇರಿಯಬಲ್ಗಳನ್ನು ಹೊಂದಿಸಲಾಗಿದೆ, ಈಗ ನಾವು ವರ್ಚುವಲ್ ಯಂತ್ರ ಸಂಪರ್ಕ ಯೋಜನೆಯನ್ನು ಹೊಂದಿಸುತ್ತೇವೆ - ನಾವು ಪ್ರತಿ ವರ್ಚುವಲ್ ಯಂತ್ರಕ್ಕೆ ಖಾಸಗಿ IP ವಿಳಾಸವನ್ನು ನಿಯೋಜಿಸುತ್ತೇವೆ ಮತ್ತು ಬಾಹ್ಯ ನೆಟ್ವರ್ಕ್ಗೆ ಪೋರ್ಟ್ಗಳನ್ನು "ಫಾರ್ವರ್ಡ್" ಮಾಡಲು ಡೆಸ್ಟಿನೇಶನ್ NAT ಅನ್ನು ಬಳಸುತ್ತೇವೆ. ನಿರ್ವಹಣಾ ಪೋರ್ಟ್ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಮಿತಿಗೊಳಿಸಲು, ನಾವು ನಮ್ಮ IP ವಿಳಾಸಕ್ಕೆ ಮಾತ್ರ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿಸುತ್ತೇವೆ.
ಟೆರಾಫಾರ್ಮ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಾಗಿ ನೆಟ್ವರ್ಕ್ ರೇಖಾಚಿತ್ರವನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ
ನಾವು net_lan01 ಹೆಸರಿನೊಂದಿಗೆ ವರ್ಚುವಲ್ ಸಾಂಸ್ಥಿಕ ನೆಟ್ವರ್ಕ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ, ಡೀಫಾಲ್ಟ್ ಗೇಟ್ವೇ: 192.168.110.254, ಮತ್ತು ವಿಳಾಸ ಸ್ಥಳ: 192.168.110.0/24.
ನಾವು ವರ್ಚುವಲ್ ನೆಟ್ವರ್ಕ್ ಅನ್ನು ವಿವರಿಸುತ್ತೇವೆ.
resource "vcd_network_routed" "net" {
name = "net_lan01"
edge_gateway = var.vcd_org_edge_name
gateway = "192.168.110.254"
dns1 = "1.1.1.1"
dns2 = "8.8.8.8"
static_ip_pool {
start_address = "192.168.110.1"
end_address = "192.168.110.253"
}
}
ವರ್ಚುವಲ್ ಯಂತ್ರಗಳು ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಅನುಮತಿಸುವ ಫೈರ್ವಾಲ್ ನಿಯಮಗಳನ್ನು ರಚಿಸೋಣ. ಈ ಬ್ಲಾಕ್ನಲ್ಲಿ, ಕ್ಲೌಡ್ನಲ್ಲಿರುವ ಎಲ್ಲಾ ವರ್ಚುವಲ್ ಸಂಪನ್ಮೂಲಗಳು ಇಂಟರ್ನೆಟ್ಗೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿರುತ್ತದೆ:
ಇಂಟರ್ನೆಟ್ಗೆ VM ಪ್ರವೇಶದ ನಿಯಮಗಳನ್ನು ನಾವು ವಿವರಿಸುತ್ತೇವೆ.
resource "vcd_nsxv_firewall_rule" "fw_internet_access" {
edge_gateway = var.vcdorgedgename
name = "Internet Access"
source {
gateway_interfaces = ["internal"]
}
destination {
gateway_interfaces = ["external"]
}
service {
protocol = "any"
}
depends_on = [vcdnetworkrouted.net]
}
vcdnetworkrouted.net ಬ್ಲಾಕ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿದ ನಂತರ, ನಾವು vcdnsxvfirewallrule ಬ್ಲಾಕ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಮುಂದುವರಿಯುತ್ತೇವೆ ಎಂಬ ಅವಲಂಬನೆಯನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ, ಬಳಸಿಕೊಂಡು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ನಾವು ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಸುತ್ತೇವೆ ಏಕೆಂದರೆ ಕೆಲವು ಅವಲಂಬನೆಗಳನ್ನು ಕಾನ್ಫಿಗರೇಶನ್ನಲ್ಲಿ ಸೂಚ್ಯವಾಗಿ ಗುರುತಿಸಬಹುದು.
ಮುಂದೆ, ಬಾಹ್ಯ ನೆಟ್ವರ್ಕ್ನಿಂದ ಪೋರ್ಟ್ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸುವ ನಿಯಮಗಳನ್ನು ನಾವು ರಚಿಸುತ್ತೇವೆ ಮತ್ತು SSH ಮೂಲಕ ಸರ್ವರ್ಗಳಿಗೆ ಸಂಪರ್ಕಿಸಲು ನಮ್ಮ IP ವಿಳಾಸವನ್ನು ಸೂಚಿಸುತ್ತೇವೆ. ಯಾವುದೇ ಇಂಟರ್ನೆಟ್ ಬಳಕೆದಾರರು ವೆಬ್ ಸರ್ವರ್ನಲ್ಲಿ 80 ಮತ್ತು 443 ಪೋರ್ಟ್ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿರುತ್ತಾರೆ ಮತ್ತು 90.1.15.1 ರ IP ವಿಳಾಸವನ್ನು ಹೊಂದಿರುವ ಬಳಕೆದಾರರು ವರ್ಚುವಲ್ ಸರ್ವರ್ಗಳ SSH ಪೋರ್ಟ್ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿರುತ್ತಾರೆ.
ಬಾಹ್ಯ ನೆಟ್ವರ್ಕ್ನಿಂದ ಪೋರ್ಟ್ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಿ.
resource "vcd_nsxv_firewall_rule" "fwnatports" {
edge_gateway = var.vcd_org_edge_name
name = "HTTPs Access"
source {
gateway_interfaces = ["external"]
}
destination {
gateway_interfaces = ["internal"]
}
service {
protocol = "tcp"
port = "80"
}
service {
protocol = "tcp"
port = "443"
}
depends_on = [vcd_network_routed.net]
}
resource "vcd_nsxv_firewall_rule" "fw_nat_admin_ports" {
edge_gateway = var.vcd_org_edge_name
name = "Admin Access"
source {
ip_addresses = [ "90.1.15.1" ]
}
destination {
gateway_interfaces = ["internal"]
}
service {
protocol = "tcp"
port = "58301"
}
service {
protocol = "tcp"
port = "58302"
}
service {
protocol = "tcp"
port = "58303"
}
depends_on = [vcd_network_routed.net]
}
ಕ್ಲೌಡ್ ಸ್ಥಳೀಯ ನೆಟ್ವರ್ಕ್ನಿಂದ ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ನಾವು ಮೂಲ NAT ನಿಯಮಗಳನ್ನು ರಚಿಸುತ್ತೇವೆ:
ನಾವು ಮೂಲ NAT ನಿಯಮಗಳನ್ನು ವಿವರಿಸುತ್ತೇವೆ.
resource "vcd_nsxv_snat" "snat_local" {
edge_gateway = var.vcd_org_edge_name
network_type = "ext"
network_name = var.vcdedgeexternalnetwork
original_address = var.vcd_edge_local_subnet
translated_address = var.vcd_edge_external_ip
depends_on = [vcd_network_routed.net]
}
ಮತ್ತು ನೆಟ್ವರ್ಕ್ ಬ್ಲಾಕ್ನ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು, ಬಾಹ್ಯ ನೆಟ್ವರ್ಕ್ನಿಂದ ಸೇವೆಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ನಾವು ಗಮ್ಯಸ್ಥಾನ NAT ನಿಯಮಗಳನ್ನು ಸೇರಿಸುತ್ತೇವೆ:
ಗಮ್ಯಸ್ಥಾನ NAT ನಿಯಮಗಳನ್ನು ಸೇರಿಸಲಾಗುತ್ತಿದೆ.
resource "vcd_nsxv_dnat" "dnat_tcp_nginx_https" {
edge_gateway = var.vcd_org_edge_name
network_name = var.vcd_edge_external_network
network_type = "ext"
description = "NGINX HTTPs"
original_address = var.vcd_edge_external_ip
original_port = 443
translated_address = var.vcd_edge_local_ip_nginx
translated_port = 443
protocol = "tcp"
depends_on = [vcd_network_routed.net]
}
resource "vcd_nsxv_dnat" "dnat_tcp_nginx_http" {
edge_gateway = var.vcd_org_edge_name
network_name = var.vcd_edge_external_network
network_type = "ext"
description = "NGINX HTTP"
original_address = var.vcd_edge_external_ip
original_port = 80
translated_address = var.vcd_edge_local_ip_nginx
translated_port = 80
protocol = "tcp"
depends_on = [vcd_network_routed.net]
}
Nginx ಅಡಿಯಲ್ಲಿ SSH ಸರ್ವರ್ಗೆ ಪೋರ್ಟ್ ಅನುವಾದಕ್ಕಾಗಿ NAT ನಿಯಮವನ್ನು ಸೇರಿಸಿ.
resource "vcd_nsxv_dnat" "dnat_tcp-nginx_ssh" {
edge_gateway = var.vcd_org_edge_name
network_name = var.vcd_edge_external_network
network_type = "ext"
description = "SSH NGINX"
original_address = var.vcd_edge_external_ip
original_port = 58301
translated_address = var.vcd_edge_local_ip_nginx
translated_port = 22
protocol = "tcp"
depends_on = [vcd_network_routed.net]
}
1C-Bitrix ನೊಂದಿಗೆ SSH ಸರ್ವರ್ಗೆ ಪೋರ್ಟ್ ಅನುವಾದಕ್ಕಾಗಿ NAT ನಿಯಮವನ್ನು ಸೇರಿಸಿ.
resource "vcd_nsxv_dnat" "dnat_tcp_bitrix_ssh" {
edge_gateway = var.vcd_org_edge_name
network_name = var.vcd_edge_external_network
network_type = "ext"
description = "SSH Bitrix"
original_address = var.vcd_edge_external_ip
original_port = 58302
translated_address = var.vcd_edge_local_ip_bitrix
translated_port = 22
protocol = "tcp"
depends_on = [vcd_network_routed.net]
}
Nextcloud ಜೊತೆಗೆ SSH ಸರ್ವರ್ಗೆ ಪೋರ್ಟ್ ಅನುವಾದಕ್ಕಾಗಿ NAT ನಿಯಮವನ್ನು ಸೇರಿಸಿ.
resource "vcd_nsxv_dnat" "dnat_tcp_nextcloud_ssh" {
edge_gateway = var.vcd_org_edge_name
network_name = var.vcd_edge_external_network
network_type = "ext"
description = "SSH Nextcloud"
original_address = var.vcd_edge_external_ip
original_port = 58303
translated_address = var.vcd_edge_local_ip_nextcloud
translated_port = 22
protocol = "tcp"
depends_on = [vcd_network_routed.net]
}
Main.tf ವರ್ಚುವಲ್ ಪರಿಸರ ಸಂರಚನೆ
ಲೇಖನದ ಆರಂಭದಲ್ಲಿ ನಾವು ಯೋಜಿಸಿದಂತೆ, ನಾವು ಮೂರು ವರ್ಚುವಲ್ ಯಂತ್ರಗಳನ್ನು ರಚಿಸುತ್ತೇವೆ. "ಅತಿಥಿ ಕಸ್ಟಮೈಸೇಶನ್" ಅನ್ನು ಬಳಸಿಕೊಂಡು ಅವುಗಳನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗುತ್ತದೆ. ನಾವು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಸೆಟ್ಟಿಂಗ್ಗಳ ಪ್ರಕಾರ ನಾವು ನೆಟ್ವರ್ಕ್ ನಿಯತಾಂಕಗಳನ್ನು ಹೊಂದಿಸುತ್ತೇವೆ ಮತ್ತು ಬಳಕೆದಾರರ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರಚಿಸಲಾಗುತ್ತದೆ.
ವರ್ಚುವಲ್ ಯಂತ್ರಗಳು ಮತ್ತು ಅವುಗಳ ಸಂರಚನೆಯನ್ನು ಹೊಂದಿರುವ vApp ಅನ್ನು ವಿವರಿಸೋಣ.
ವರ್ಚುವಲ್ ಯಂತ್ರ ಸಂರಚನೆ
ನಾವು vApp ಕಂಟೇನರ್ ಅನ್ನು ರಚಿಸೋಣ. ಆದ್ದರಿಂದ ನಾವು ತಕ್ಷಣವೇ vApp ಮತ್ತು VM ಅನ್ನು ವರ್ಚುವಲ್ ನೆಟ್ವರ್ಕ್ಗೆ ಸಂಪರ್ಕಿಸಬಹುದು, ನಾವು ಡಿಪೆಂಡ್_ಆನ್ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಸಹ ಸೇರಿಸುತ್ತೇವೆ:
ಧಾರಕವನ್ನು ರಚಿಸಿ
resource "vcd_vapp" "vapp" {
name = "web"
power_on = "true"
depends_on = [vcd_network_routed.net]
}
ವಿವರಣೆಯೊಂದಿಗೆ ವರ್ಚುವಲ್ ಯಂತ್ರವನ್ನು ರಚಿಸೋಣ
resource "vcd_vapp_vm" "nginx" {
vapp_name = vcd_vapp.vapp.name
name = "nginx"
catalog_name = var.vcd_org_catalog
template_name = var.vcd_template_os_centos7
storage_profile = var.vcd_org_ssd_sp
memory = 8192
cpus = 1
cpu_cores = 1
network {
type = "org"
name = vcd_network_routed.net.name
is_primary = true
adapter_type = "VMXNET3"
ip_allocation_mode = "MANUAL"
ip = var.vcd_edge_local_ip_nginx
}
override_template_disk {
bus_type = "paravirtual"
size_in_mb = "32768"
bus_number = 0
unit_number = 0
storage_profile = var.vcd_org_ssd_sp
}
}
VM ವಿವರಣೆಯಲ್ಲಿನ ಮುಖ್ಯ ನಿಯತಾಂಕಗಳು:
-
ಹೆಸರು - ವರ್ಚುವಲ್ ಯಂತ್ರದ ಹೆಸರು,
-
vappname - ಹೊಸ VM ಅನ್ನು ಸೇರಿಸಲು vApp ಹೆಸರು,
-
ಕ್ಯಾಟಲಾಗ್ ಹೆಸರು / ಟೆಂಪ್ಲೇಟ್ ಹೆಸರು - ಕ್ಯಾಟಲಾಗ್ ಹೆಸರು ಮತ್ತು ವರ್ಚುವಲ್ ಯಂತ್ರ ಟೆಂಪ್ಲೇಟ್ ಹೆಸರು,
-
ಶೇಖರಣಾ ಪ್ರೊಫೈಲ್ - ಡೀಫಾಲ್ಟ್ ಶೇಖರಣಾ ನೀತಿ.
ನೆಟ್ವರ್ಕ್ ಬ್ಲಾಕ್ ನಿಯತಾಂಕಗಳು:
-
ಪ್ರಕಾರ - ಸಂಪರ್ಕಿತ ನೆಟ್ವರ್ಕ್ ಪ್ರಕಾರ,
-
ಹೆಸರು - VM ಅನ್ನು ಯಾವ ವರ್ಚುವಲ್ ನೆಟ್ವರ್ಕ್ಗೆ ಸಂಪರ್ಕಿಸಬೇಕು,
-
isprimary - ಪ್ರಾಥಮಿಕ ನೆಟ್ವರ್ಕ್ ಅಡಾಪ್ಟರ್,
-
iallocation_mode — ಮ್ಯಾನುಯಲ್ / DHCP / POOL ವಿಳಾಸ ಹಂಚಿಕೆ ಮೋಡ್,
-
ip - ವರ್ಚುವಲ್ ಯಂತ್ರಕ್ಕಾಗಿ IP ವಿಳಾಸ, ನಾವು ಅದನ್ನು ಕೈಯಾರೆ ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತೇವೆ.
override_template_disk ಬ್ಲಾಕ್:
-
sizeinmb — ವರ್ಚುವಲ್ ಗಣಕಕ್ಕಾಗಿ ಬೂಟ್ ಡಿಸ್ಕ್ ಗಾತ್ರ
-
storage_profile — ಡಿಸ್ಕ್ಗಾಗಿ ಶೇಖರಣಾ ನೀತಿ
Nextcloud ಫೈಲ್ ಸಂಗ್ರಹಣೆಯ ವಿವರಣೆಯೊಂದಿಗೆ ಎರಡನೇ VM ಅನ್ನು ರಚಿಸೋಣ
resource "vcd_vapp_vm" "nextcloud" {
vapp_name = vcd_vapp.vapp.name
name = "nextcloud"
catalog_name = var.vcd_org_catalog
template_name = var.vcd_template_os_centos7
storage_profile = var.vcd_org_ssd_sp
memory = 8192
cpus = 1
cpu_cores = 1
network {
type = "org"
name = vcd_network_routed.net.name
is_primary = true
adapter_type = "VMXNET3"
ip_allocation_mode = "MANUAL"
ip = var.vcd_edge_local_ip_nextcloud
}
override_template_disk {
bus_type = "paravirtual"
size_in_mb = "32768"
bus_number = 0
unit_number = 0
storage_profile = var.vcd_org_ssd_sp
}
}
resource "vcd_vm_internal_disk" "disk1" {
vapp_name = vcd_vapp.vapp.name
vm_name = "nextcloud"
bus_type = "paravirtual"
size_in_mb = "102400"
bus_number = 0
unit_number = 1
storage_profile = var.vcd_org_hdd_sp
allow_vm_reboot = true
depends_on = [ vcd_vapp_vm.nextcloud ]
}
vcdvminternal_disk ವಿಭಾಗದಲ್ಲಿ ನಾವು ವರ್ಚುವಲ್ ಗಣಕಕ್ಕೆ ಸಂಪರ್ಕಗೊಂಡಿರುವ ಹೊಸ ವರ್ಚುವಲ್ ಡಿಸ್ಕ್ ಅನ್ನು ವಿವರಿಸುತ್ತೇವೆ.
vcdvminternaldisk ಬ್ಲಾಕ್ಗಾಗಿ ವಿವರಣೆಗಳು:
-
ಬಸ್ಟೈಪ್ - ಡಿಸ್ಕ್ ನಿಯಂತ್ರಕ ಪ್ರಕಾರ
-
sizeinmb - ಡಿಸ್ಕ್ ಗಾತ್ರ
-
ಬಸ್ನಂಬರ್ / ಯುನಿಟ್ನಂಬರ್ - ಅಡಾಪ್ಟರ್ನಲ್ಲಿ ಸಂಪರ್ಕ ಸ್ಥಳ
-
storage_profile — ಡಿಸ್ಕ್ಗಾಗಿ ಶೇಖರಣಾ ನೀತಿ
Bitrix ನಲ್ಲಿ ಇತ್ತೀಚಿನ VM ಅನ್ನು ವಿವರಿಸೋಣ
resource "vcd_vapp_vm" "bitrix" {
vapp_name = vcd_vapp.vapp.name
name = "bitrix"
catalog_name = var.vcd_org_catalog
template_name = var.vcd_template_os_centos7
storage_profile = var.vcd_org_ssd_sp
memory = 8192
cpus = 1
cpu_cores = 1
network {
type = "org"
name = vcd_network_routed.net.name
is_primary = true
adapter_type = "VMXNET3"
ip_allocation_mode = "MANUAL"
ip = var.vcd_edge_local_ip_bitrix
}
override_template_disk {
bus_type = "paravirtual"
size_in_mb = "81920"
bus_number = 0
unit_number = 0
storage_profile = var.vcd_org_ssd_sp
}
}
OS ಅನ್ನು ನವೀಕರಿಸುವುದು ಮತ್ತು ಹೆಚ್ಚುವರಿ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಸ್ಥಾಪಿಸುವುದು
ನೆಟ್ವರ್ಕ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ, ವರ್ಚುವಲ್ ಯಂತ್ರಗಳನ್ನು ವಿವರಿಸಲಾಗಿದೆ. ನಮ್ಮ ಮೂಲಸೌಕರ್ಯವನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುವ ಮೊದಲು, ಪ್ರಾವಿಶನರ್ ಬ್ಲಾಕ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಮತ್ತು ಅನ್ಸಿಬಲ್ ಅನ್ನು ಬಳಸದೆಯೇ ನಾವು ಆರಂಭಿಕ ನಿಬಂಧನೆಗಳನ್ನು ಮುಂಚಿತವಾಗಿ ಕೈಗೊಳ್ಳಬಹುದು.
ಪ್ರೊವಿಶನರ್ ಬ್ಲಾಕ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು OS ಅನ್ನು ನವೀಕರಿಸುವುದು ಮತ್ತು CMS ಬಿಟ್ರಿಕ್ಸ್ ಸ್ಥಾಪನೆ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಹೇಗೆ ಚಲಾಯಿಸುವುದು ಎಂಬುದನ್ನು ನೋಡೋಣ.
ಮೊದಲು, ನಾವು CentOS ನವೀಕರಣ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಸ್ಥಾಪಿಸೋಣ.
resource "null_resource" "nginx_update_install" {
provisioner "remote-exec" {
connection {
type = "ssh"
user = "root"
password = vcd_vapp_vm.nginx.customization[0].admin_password
host = var.vcd_edge_external_ip
port = "58301"
timeout = "30s"
}
inline = [
"yum -y update && yum -y upgrade",
"yum -y install wget nano epel-release net-tools unzip zip" ]
}
}
}
ಘಟಕಗಳ ಪದನಾಮ:
-
ಪ್ರೊವಿಶನರ್ "ರಿಮೋಟ್-ಎಕ್ಸಿಕ್" - ರಿಮೋಟ್ ಪ್ರೊವಿಶನಿಂಗ್ ಬ್ಲಾಕ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಿ
-
ಸಂಪರ್ಕ ಬ್ಲಾಕ್ನಲ್ಲಿ ನಾವು ಸಂಪರ್ಕದ ಪ್ರಕಾರ ಮತ್ತು ನಿಯತಾಂಕಗಳನ್ನು ವಿವರಿಸುತ್ತೇವೆ:
-
ಟೈಪ್ - ಪ್ರೋಟೋಕಾಲ್, ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ SSH;
-
ಬಳಕೆದಾರ - ಬಳಕೆದಾರ ಹೆಸರು;
-
ಪಾಸ್ವರ್ಡ್ - ಬಳಕೆದಾರ ಗುಪ್ತಪದ. ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ, ನಾವು ಪ್ಯಾರಾಮೀಟರ್ vcdvappvm.nginx.customization[0].admin_password ಅನ್ನು ಸೂಚಿಸುತ್ತೇವೆ, ಇದು ಸಿಸ್ಟಮ್ ಬಳಕೆದಾರರಿಗಾಗಿ ರಚಿಸಲಾದ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ.
-
ಹೋಸ್ಟ್ - ಸಂಪರ್ಕಕ್ಕಾಗಿ ಬಾಹ್ಯ IP ವಿಳಾಸ;
-
ಪೋರ್ಟ್ - ಸಂಪರ್ಕಕ್ಕಾಗಿ ಬಂದರು, ಇದನ್ನು ಹಿಂದೆ ಡಿಎನ್ಎಟಿ ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ;
-
inline - ನಮೂದಿಸಲಾಗುವ ಆಜ್ಞೆಗಳ ಪಟ್ಟಿಯನ್ನು ಪಟ್ಟಿ ಮಾಡಿ. ಈ ವಿಭಾಗದಲ್ಲಿ ಸೂಚಿಸಿದಂತೆ ಆಜ್ಞೆಗಳನ್ನು ಕ್ರಮವಾಗಿ ನಮೂದಿಸಲಾಗುತ್ತದೆ.
ಉದಾಹರಣೆಯಾಗಿ, 1C-Bitrix ಅನುಸ್ಥಾಪನಾ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಹೆಚ್ಚುವರಿಯಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸೋಣ. ಯೋಜನೆಯು ಚಾಲನೆಯಲ್ಲಿರುವಾಗ ಸ್ಕ್ರಿಪ್ಟ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಫಲಿತಾಂಶದ ಔಟ್ಪುಟ್ ಲಭ್ಯವಿರುತ್ತದೆ. ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು, ಮೊದಲು ನಾವು ಬ್ಲಾಕ್ ಅನ್ನು ವಿವರಿಸುತ್ತೇವೆ:
1C-Bitrix ನ ಅನುಸ್ಥಾಪನೆಯನ್ನು ವಿವರಿಸೋಣ.
provisioner "file" {
source = "prepare.sh"
destination = "/tmp/prepare.sh"
connection {
type = "ssh"
user = "root"
password = vcd_vapp_vm.nginx.customization[0].admin_password
host = var.vcd_edge_external_ip
port = "58301"
timeout = "30s"
}
}
provisioner "remote-exec" {
inline = [
"chmod +x /tmp/prepare.sh", "./tmp/prepare.sh"
]
}
ಮತ್ತು ನಾವು ತಕ್ಷಣ ಬಿಟ್ರಿಕ್ಸ್ ನವೀಕರಣವನ್ನು ವಿವರಿಸುತ್ತೇವೆ.
1C-Bitrix ಒದಗಿಸುವಿಕೆಯ ಉದಾಹರಣೆ.
resource "null_resource" "install_update_bitrix" {
provisioner "remote-exec" {
connection {
type = "ssh"
user = "root"
password = vcd_vapp_vm.bitrix.customization[0].admin_password
host = var.vcd_edge_external_ip
port = "58302"
timeout = "60s"
}
inline = [
"yum -y update && yum -y upgrade",
"yum -y install wget nano epel-release net-tools unzip zip",
"wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh -O /tmp/bitrix-env.sh",
"chmod +x /tmp/bitrix-env.sh",
"/tmp/bitrix-env.sh"
]
}
}
ಪ್ರಮುಖ! ನೀವು ಮುಂಚಿತವಾಗಿ SELinux ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸದಿದ್ದರೆ ಸ್ಕ್ರಿಪ್ಟ್ ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು! bitrix-env.sh ಅನ್ನು ಬಳಸಿಕೊಂಡು CMS 1C-Bitrix ಅನ್ನು ಸ್ಥಾಪಿಸುವ ಮತ್ತು ಕಾನ್ಫಿಗರ್ ಮಾಡುವ ಕುರಿತು ನಿಮಗೆ ವಿವರವಾದ ಲೇಖನ ಅಗತ್ಯವಿದ್ದರೆ, oo ನೀವು ಮಾಡಬಹುದು
3. ಮೂಲಸೌಕರ್ಯ ಪ್ರಾರಂಭ
ಮಾಡ್ಯೂಲ್ಗಳು ಮತ್ತು ಪ್ಲಗಿನ್ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ
ಕೆಲಸಕ್ಕಾಗಿ, ನಾವು ಸರಳವಾದ "ಸಂಭಾವಿತ ಕಿಟ್" ಅನ್ನು ಬಳಸುತ್ತೇವೆ: Windows 10 OS ನೊಂದಿಗೆ ಲ್ಯಾಪ್ಟಾಪ್ ಮತ್ತು ಅಧಿಕೃತ ವೆಬ್ಸೈಟ್ನಿಂದ ವಿತರಣಾ ಕಿಟ್ terraform.exe init
ಕಂಪ್ಯೂಟಿಂಗ್ ಮತ್ತು ನೆಟ್ವರ್ಕ್ ಮೂಲಸೌಕರ್ಯವನ್ನು ವಿವರಿಸಿದ ನಂತರ, ನಮ್ಮ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಲು ನಾವು ಯೋಜನೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ, ಅಲ್ಲಿ ಏನನ್ನು ರಚಿಸಲಾಗುವುದು ಮತ್ತು ಅದು ಹೇಗೆ ಪರಸ್ಪರ ಸಂಪರ್ಕಗೊಳ್ಳುತ್ತದೆ ಎಂಬುದನ್ನು ನಾವು ನೋಡಬಹುದು.
-
ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ
- terraform plan -var-file=vcd.tfvars
. -
ನಾವು ಫಲಿತಾಂಶವನ್ನು ಪಡೆಯುತ್ತೇವೆ
- Plan: 16 to add, 0 to change, 0 to destroy.
ಅಂದರೆ, ಈ ಯೋಜನೆಯ ಪ್ರಕಾರ, 16 ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ. -
ನಾವು ಆಜ್ಞೆಯಲ್ಲಿ ಯೋಜನೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ
- terraform.exe apply -var-file=vcd.tfvars
.
ವರ್ಚುವಲ್ ಯಂತ್ರಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ, ಮತ್ತು ನಂತರ ನಾವು ಪಟ್ಟಿ ಮಾಡಿದ ಪ್ಯಾಕೇಜುಗಳನ್ನು ಪ್ರೊವಿಶನರ್ ವಿಭಾಗದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ - OS ಅನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು CMS Bitrix ಅನ್ನು ಸ್ಥಾಪಿಸಲಾಗುತ್ತದೆ.
ಸಂಪರ್ಕ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸಲಾಗುತ್ತಿದೆ
ಯೋಜನೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದ ನಂತರ, ಸರ್ವರ್ಗಳಿಗೆ ಸಂಪರ್ಕಿಸಲು ನಾವು ಪಠ್ಯ ರೂಪದಲ್ಲಿ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸಲು ಬಯಸುತ್ತೇವೆ, ಇದಕ್ಕಾಗಿ ನಾವು ಔಟ್ಪುಟ್ ವಿಭಾಗವನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುತ್ತೇವೆ:
output "nginxpassword" {
value = vcdvappvm.nginx.customization[0].adminpassword
}
ಮತ್ತು ಕೆಳಗಿನ ಔಟ್ಪುಟ್ ನಮಗೆ ರಚಿಸಿದ ವರ್ಚುವಲ್ ಯಂತ್ರದ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಹೇಳುತ್ತದೆ:
Outputs: nginx_password = F#4u8!!N
ಪರಿಣಾಮವಾಗಿ, ನಾವು ನವೀಕರಿಸಿದ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಮತ್ತು ನಮ್ಮ ಮುಂದಿನ ಕೆಲಸಕ್ಕಾಗಿ ಪೂರ್ವ-ಸ್ಥಾಪಿತ ಪ್ಯಾಕೇಜ್ಗಳೊಂದಿಗೆ ವರ್ಚುವಲ್ ಯಂತ್ರಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಪಡೆಯುತ್ತೇವೆ. ಎಲ್ಲಾ ಸಿದ್ಧವಾಗಿದೆ!
ಆದರೆ ನೀವು ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಮೂಲಸೌಕರ್ಯವನ್ನು ಹೊಂದಿದ್ದರೆ ಏನು?
3.1. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಮೂಲಸೌಕರ್ಯದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಟೆರಾಫಾರ್ಮ್
ಇದು ಸರಳವಾಗಿದೆ, ನೀವು ಆಮದು ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರಸ್ತುತ ವರ್ಚುವಲ್ ಯಂತ್ರಗಳು ಮತ್ತು ಅವುಗಳ vApp ಕಂಟೈನರ್ಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಬಹುದು.
VAPP ಸಂಪನ್ಮೂಲ ಮತ್ತು ವರ್ಚುವಲ್ ಯಂತ್ರವನ್ನು ವಿವರಿಸೋಣ.
resource "vcd_vapp" "Monitoring" {
name = "Monitoring"
org = "mClouds"
vdc = "mClouds"
}
resource "vcd_vapp_vm" "Zabbix" {
name = "Zabbix"
org = "mClouds"
vdc = "mClouds"
vapp = "Monitoring"
}
ಮುಂದಿನ ಹಂತವು ಸ್ವರೂಪದಲ್ಲಿ vApp ಸಂಪನ್ಮೂಲಗಳ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುವುದು vcdvapp.<vApp> <org>.<orgvdc>.<vApp>
, ಅಲ್ಲಿ:
-
vApp - vApp ಹೆಸರು;
-
org - ಸಂಸ್ಥೆಯ ಹೆಸರು;
-
org_vdc — ವರ್ಚುವಲ್ ಡೇಟಾ ಕೇಂದ್ರದ ಹೆಸರು.
vAPP ಸಂಪನ್ಮೂಲ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಲಾಗುತ್ತಿದೆ
VM ಸಂಪನ್ಮೂಲಗಳ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಸ್ವರೂಪದಲ್ಲಿ ಆಮದು ಮಾಡಿಕೊಳ್ಳೋಣ: vcdvappvm.<VM> <org>.<orgvdc>.<vApp>.<VM>
, ಯಾವುದರಲ್ಲಿ:
-
VM - VM ಹೆಸರು;
-
vApp - vApp ಹೆಸರು;
-
org - ಸಂಸ್ಥೆಯ ಹೆಸರು;
-
orgvdc ಎಂಬುದು ವರ್ಚುವಲ್ ಡೇಟಾ ಕೇಂದ್ರದ ಹೆಸರು.
ಆಮದು ಯಶಸ್ವಿಯಾಗಿದೆ
C:UsersMikhailDesktopterraform>terraform import vcd_vapp_vm.Zabbix mClouds.mClouds.Monitoring.Zabbix
vcd_vapp_vm.Zabbix: Importing from ID "mClouds.mClouds.Monitoring.Zabbix"...
vcd_vapp_vm.Zabbix: Import prepared!
Prepared vcd_vapp_vm for import
vcd_vapp_vm.Zabbix: Refreshing state... [id=urn:vcloud:vm:778f4a89-1c8d-45b9-9d94-0472a71c4d1f]
Import successful!
The resources that were imported are shown above. These resources are now in
your Terraform state and will henceforth be managed by Terraform.
ಈಗ ನಾವು ಹೊಸ ಆಮದು ಮಾಡಿದ ಸಂಪನ್ಮೂಲವನ್ನು ನೋಡಬಹುದು:
ಆಮದು ಮಾಡಿದ ಸಂಪನ್ಮೂಲ
> terraform show
...
# vcd_vapp.Monitoring:
resource "vcd_vapp" "Monitoring" {
guest_properties = {}
href = "https://vcloud.mclouds.ru/api/vApp/vapp-fe5db285-a4af-47c4-93e8-55df92f006ec"
id = "urn:vcloud:vapp:fe5db285-a4af-47c4-93e8-55df92f006ec"
ip = "allocated"
metadata = {}
name = "Monitoring"
org = "mClouds"
status = 4
status_text = "POWERED_ON"
vdc = "mClouds"
}
…
# vcd_vapp_vm.Zabbix:
resource "vcd_vapp_vm" "Zabbix" {
computer_name = "Zabbix"
cpu_cores = 1
cpus = 2
expose_hardware_virtualization = false
guest_properties = {}
hardware_version = "vmx-14"
href = "https://vcloud.mclouds.ru/api/vApp/vm-778f4a89-1c8d-45b9-9d94-0472a71c4d1f"
id = "urn:vcloud:vm:778f4a89-1c8d-45b9-9d94-0472a71c4d1f"
internal_disk = [
{
bus_number = 0
bus_type = "paravirtual"
disk_id = "2000"
iops = 0
size_in_mb = 122880
storage_profile = "Gold Storage Policy"
thin_provisioned = true
unit_number = 0
},
]
memory = 8192
metadata = {}
name = "Zabbix"
org = "mClouds"
os_type = "centos8_64Guest"
storage_profile = "Gold Storage Policy"
vapp_name = "Monitoring"
vdc = "mClouds"
customization {
allow_local_admin_password = true
auto_generate_password = true
change_sid = false
enabled = false
force = false
join_domain = false
join_org_domain = false
must_change_password_on_first_login = false
number_of_auto_logons = 0
}
network {
adapter_type = "VMXNET3"
ip_allocation_mode = "DHCP"
is_primary = true
mac = "00:50:56:07:01:b1"
name = "MCLOUDS-LAN01"
type = "org"
}
}
ಈಗ ನಾವು ಖಂಡಿತವಾಗಿಯೂ ಸಿದ್ಧರಿದ್ದೇವೆ - ನಾವು ಕೊನೆಯ ಹಂತದೊಂದಿಗೆ (ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಮೂಲಸೌಕರ್ಯಕ್ಕೆ ಆಮದು ಮಾಡಿಕೊಳ್ಳುತ್ತೇವೆ) ಮತ್ತು ಟೆರಾಫಾರ್ಮ್ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಎಲ್ಲಾ ಪ್ರಮುಖ ಅಂಶಗಳನ್ನು ಪರಿಗಣಿಸಿದ್ದೇವೆ.
ಉಪಕರಣವು ತುಂಬಾ ಅನುಕೂಲಕರವಾಗಿದೆ ಮತ್ತು ನಿಮ್ಮ ಮೂಲಸೌಕರ್ಯವನ್ನು ಕೋಡ್ನಂತೆ ವಿವರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಒಂದು ಕ್ಲೌಡ್ ಪೂರೈಕೆದಾರರ ವರ್ಚುವಲ್ ಯಂತ್ರಗಳಿಂದ ಪ್ರಾರಂಭಿಸಿ ನೆಟ್ವರ್ಕ್ ಘಟಕಗಳ ಸಂಪನ್ಮೂಲಗಳನ್ನು ವಿವರಿಸುವವರೆಗೆ.
ಅದೇ ಸಮಯದಲ್ಲಿ, ಪರಿಸರದಿಂದ ಸ್ವಾತಂತ್ರ್ಯವು ಸ್ಥಳೀಯ, ಕ್ಲೌಡ್ ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಮತ್ತು ವೇದಿಕೆಯನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ. ಮತ್ತು ಯಾವುದೇ ಬೆಂಬಲಿತ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಇಲ್ಲದಿದ್ದರೆ ಮತ್ತು ನೀವು ಹೊಸದನ್ನು ಸೇರಿಸಲು ಬಯಸಿದರೆ, ನೀವು ನಿಮ್ಮ ಸ್ವಂತ ಪೂರೈಕೆದಾರರನ್ನು ಬರೆಯಬಹುದು ಮತ್ತು ಅದನ್ನು ಬಳಸಬಹುದು.
ಮೂಲ: www.habr.com