Menggunakan beberapa template

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:

cd deploymentmanager-samples/examples/v2/step_by_step_guide/step6_use_multiple_templates/python

nano compute-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."""


def GenerateConfig(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:

cd deploymentmanager-samples/examples/v2/step_by_step_guide/step6_use_multiple_templates/python

nano config-with-many-templates.yaml  # use your preferred text editor

Perhatikan bahwa konfigurasi tidak langsung memanggil template lain. 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.py

resources:
- name: compute-engine-setup
  type: compute-engine-template.py

Menyimpan konfigurasi dan men-deploy-nya

Jalankan perintah ini untuk men-deploy konfigurasi:

gcloud deployment-manager deployments create deployment-with-many-templates \
  --config config-with-many-templates.yaml

Untuk melihat deployment, jalankan:

gcloud deployment-manager deployments describe deployment-with-many-templates

Ke depannya: properti template dan variabel lingkungan

Selanjutnya, Anda akan mengganti beberapa bagian template yang di-hardcode dengan pola yang dapat digunakan kembali seperti template kustom dan variabel lingkungan.

Menghapus deployment

Sebaiknya hapus deployment untuk menghindari tagihan. Anda tidak memerlukan deployment ini untuk langkah berikutnya. Jalankan perintah berikut untuk menghapus deployment:

gcloud deployment-manager deployments delete deployment-with-many-templates