Cloud Deployment Manager akan mencapai akhir dukungan pada 31 Desember 2025. Jika saat ini Anda menggunakan Deployment Manager, migrasikan ke Infrastructure Manager atau teknologi deployment alternatif paling lambat 31 Desember 2025 untuk memastikan layanan Anda berlanjut tanpa gangguan.
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Pada langkah ini, Anda akan mempelajari template yang mengimpor template lain.
Setelah menggabungkan template ini, konfigurasi Anda hanya perlu memanggil satu template untuk membuat deployment dengan semua resource ini.
Membuka template untuk jaringan
Buka template bernama compute-engine-template.py:
cddeploymentmanager-samples/examples/v2/step_by_step_guide/step6_use_multiple_templates/python
nanocompute-engine-template.py# use your preferred text editor
Template ini mengimpor template lain, untuk semua resource dalam deployment:
vm-template.py, vm-template-2.py untuk virtual machine (VM),
network-template.py untuk jaringan, dan firewall-template.py untuk aturan
firewall.
# Copyright 2016 Google Inc. All rights reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License."""Creates the Compute Engine."""defGenerateConfig(context):"""Creates the Compute Engine with network and firewall."""resources=[{'name':'vm-1','type':'vm-template.py'},{'name':'vm-2','type':'vm-template-2.py'},{'name':'network-1','type':'network-template.py'},{'name':'firewall-1','type':'firewall-template.py'}]return{'resources':resources}
Melihat konfigurasi
Buka file konfigurasi untuk deployment:
cddeploymentmanager-samples/examples/v2/step_by_step_guide/step6_use_multiple_templates/python
nanoconfig-with-many-templates.yaml# use your preferred text editor
Perhatikan bahwa konfigurasi tidak langsung memanggil template lainnya.
Namun, template lainnya diimpor karena compute-engine-template.py
bergantung pada template lainnya.
# Copyright 2016 Google Inc. All rights reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.imports:-path:vm-template.py-path:vm-template-2.py-path:network-template.py-path:firewall-template.py-path:compute-engine-template.pyresources:-name:compute-engine-setuptype:compute-engine-template.py
Menyimpan konfigurasi dan men-deploy-nya
Jalankan perintah ini untuk men-deploy konfigurasi:
Melihat ke depan: properti template dan variabel lingkungan
Selanjutnya, Anda akan mengganti beberapa bagian template yang di-hard code dengan pola
yang dapat digunakan kembali seperti template kustom dan variabel lingkungan.
Menghapus deployment Anda
Sebaiknya hapus deployment untuk menghindari biaya. Anda tidak memerlukan deployment ini untuk langkah berikutnya. Jalankan perintah berikut untuk menghapus deployment:
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-19 UTC."],[[["\u003cp\u003eThis step involves exploring a template, \u003ccode\u003ecompute-engine-template.py\u003c/code\u003e, which imports other templates to manage various resources within a deployment.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ecompute-engine-template.py\u003c/code\u003e imports templates such as \u003ccode\u003evm-template.py\u003c/code\u003e, \u003ccode\u003evm-template-2.py\u003c/code\u003e, \u003ccode\u003enetwork-template.py\u003c/code\u003e, and \u003ccode\u003efirewall-template.py\u003c/code\u003e to create virtual machines, a network, and a firewall rule.\u003c/p\u003e\n"],["\u003cp\u003eThe configuration file, \u003ccode\u003econfig-with-many-templates.yaml\u003c/code\u003e, only needs to call \u003ccode\u003ecompute-engine-template.py\u003c/code\u003e, as this template handles the importing of the other templates.\u003c/p\u003e\n"],["\u003cp\u003eDeploying the configuration is done using the command \u003ccode\u003egcloud deployment-manager deployments create deployment-with-many-templates --config config-with-many-templates.yaml\u003c/code\u003e, and the deployment can be deleted later with the delete command.\u003c/p\u003e\n"]]],[],null,["# Using multiple templates\n\nIn this step, you will explore a template that imports other templates.\n\nAfter incorporating these templates, your configuration only needs to call a\nsingle template to create a deployment with all of these resources.\n\nOpening the template for a network\n----------------------------------\n\nOpen the template named `compute-engine-template.py`: \n\n cd deploymentmanager-samples/examples/v2/step_by_step_guide/step6_use_multiple_templates/python\n\n nano compute-engine-template.py # use your preferred text editor\n\nThis template imports other templates, for all the resources in the deployment:\n`vm-template.py`, `vm-template-2.py` for virtual machines (VMs),\n`network-template.py` for a network, and `firewall-template.py` for a firewall\nrule. \n\n # Copyright 2016 Google Inc. All rights reserved.\n #\n # Licensed under the Apache License, Version 2.0 (the \"License\");\n # you may not use this file except in compliance with the License.\n # You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n # Unless required by applicable law or agreed to in writing, software\n # distributed under the License is distributed on an \"AS IS\" BASIS,\n # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n # See the License for the specific language governing permissions and\n # limitations under the License.\n\n \"\"\"Creates the Compute Engine.\"\"\"\n\n\n def GenerateConfig(context):\n \"\"\"Creates the Compute Engine with network and firewall.\"\"\"\n\n resources = [{\n 'name': 'vm-1',\n 'type': 'vm-template.py'\n }, {\n 'name': 'vm-2',\n 'type': 'vm-template-2.py'\n }, {\n 'name': 'network-1',\n 'type': 'network-template.py'\n }, {\n 'name': 'firewall-1',\n 'type': 'firewall-template.py'\n }]\n return {'resources': resources}\n\nViewing the configuration\n-------------------------\n\nOpen the configuration file for the deployment: \n\n cd deploymentmanager-samples/examples/v2/step_by_step_guide/step6_use_multiple_templates/python\n\n nano config-with-many-templates.yaml # use your preferred text editor\n\nNotice that the configuration did not directly call the other templates.\nHowever, the other templates are imported because `compute-engine-template.py`\ndepends on the other templates. \n\n # Copyright 2016 Google Inc. All rights reserved.\n #\n # Licensed under the Apache License, Version 2.0 (the \"License\");\n # you may not use this file except in compliance with the License.\n # You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n # Unless required by applicable law or agreed to in writing, software\n # distributed under the License is distributed on an \"AS IS\" BASIS,\n # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n # See the License for the specific language governing permissions and\n # limitations under the License.\n\n imports:\n - path: vm-template.py\n - path: vm-template-2.py\n - path: network-template.py\n - path: firewall-template.py\n - path: compute-engine-template.py\n\n resources:\n - name: compute-engine-setup\n type: compute-engine-template.py\n\nSaving the configuration and deploying it\n-----------------------------------------\n\nRun this command to deploy the configuration: \n\n gcloud deployment-manager deployments create deployment-with-many-templates \\\n --config config-with-many-templates.yaml\n\nTo view the deployment, run: \n\n gcloud deployment-manager deployments describe deployment-with-many-templates\n\nLooking ahead: template properties and environment variables\n------------------------------------------------------------\n\nNext, you will replace some hard-coded parts of templates with reusable\npatterns such as custom template and environment variables.\n\nDeleting your deployment\n------------------------\n\nWe recommend that you delete the deployment to avoid charges. You\ndon't need this deployment for the next step. Run the following command to\ndelete the deployment: \n\n gcloud deployment-manager deployments delete deployment-with-many-templates"]]