使用 Deployment Manager 模板配置防火墙和启动脚本时出现问题
Problem while configure a Firewall and a Startup Script with Deployment Manager template
我想在 .yaml
文件
中使用 Deployment Manager 模板配置防火墙和启动脚本
以下是我需要执行的步骤
- 已创建新的 Deployment Manager 部署
- 部署包括一个具有嵌入式
启动脚本
- 有启动脚本的虚拟机也有标签项
称为 http
- 存在允许端口 80 (http) 流量的防火墙规则,并且是
使用值为 http
的标记应用
- 虚拟机使用Apache web响应web请求
服务器
- 检查 Deployment Manager 是否包含启动脚本和防火墙
资源
下面是我创建的示例文件,但在部署文件时显示第 3 步(具有启动脚本的虚拟机也有一个名为 http 的标记项)未配置。
如果我遗漏了什么,请帮助我。
- name: my-vm
type: compute.v1.instance
properties:
zone: us-central1-a
machineType: zones/us-central1-a/machineTypes/n1-standard-1
sourceRanges: ["0.0.0.0/0"]
targetTags: ["webserver"]
allowed:
- IPProtocol: TCP
ports: ["80"]
metadata:
items:
- key: startup-script
value: |
#! /bin/bash
apt-get update
apt-get install -y apache2
cat <<EOF > /var/www/html/index.html
<html><body><h1>Welcome to Apache</h1>
<p>This page was created from a simple startup script!</p>
</body></html>
disks:
- deviceName: boot
type: PERSISTENT
boot: true
autoDelete: true
initializeParams:
sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-9-stretch-v20180814
networkInterfaces:
- network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-dee231a39b26c176/global/networks/default
accessConfigs:
- name: External NAT
type: ONE_TO_ONE_NAT
选项 "value" 应该是字符串格式。
例如:
metadata:
items:
- key: startup-script
value: "apt-get update \n apt-get install -y apache2"
具有启动脚本的虚拟机也有一个名为 http) 的标记项未配置。
因为它表示必须为您的 vm 实例提及作为 http 的标记项。
只需在 vm-instance
的属性中的 zone->machinetype 之后提及一个标签
zone: your-zone
machineType: your-machine-type
tags:
items:
- 'http'
我想在 .yaml
文件
以下是我需要执行的步骤
- 已创建新的 Deployment Manager 部署
- 部署包括一个具有嵌入式 启动脚本
- 有启动脚本的虚拟机也有标签项 称为 http
- 存在允许端口 80 (http) 流量的防火墙规则,并且是 使用值为 http 的标记应用
- 虚拟机使用Apache web响应web请求 服务器
- 检查 Deployment Manager 是否包含启动脚本和防火墙 资源
下面是我创建的示例文件,但在部署文件时显示第 3 步(具有启动脚本的虚拟机也有一个名为 http 的标记项)未配置。
如果我遗漏了什么,请帮助我。
- name: my-vm
type: compute.v1.instance
properties:
zone: us-central1-a
machineType: zones/us-central1-a/machineTypes/n1-standard-1
sourceRanges: ["0.0.0.0/0"]
targetTags: ["webserver"]
allowed:
- IPProtocol: TCP
ports: ["80"]
metadata:
items:
- key: startup-script
value: |
#! /bin/bash
apt-get update
apt-get install -y apache2
cat <<EOF > /var/www/html/index.html
<html><body><h1>Welcome to Apache</h1>
<p>This page was created from a simple startup script!</p>
</body></html>
disks:
- deviceName: boot
type: PERSISTENT
boot: true
autoDelete: true
initializeParams:
sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-9-stretch-v20180814
networkInterfaces:
- network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-dee231a39b26c176/global/networks/default
accessConfigs:
- name: External NAT
type: ONE_TO_ONE_NAT
选项 "value" 应该是字符串格式。
例如:
metadata:
items:
- key: startup-script
value: "apt-get update \n apt-get install -y apache2"
具有启动脚本的虚拟机也有一个名为 http) 的标记项未配置。 因为它表示必须为您的 vm 实例提及作为 http 的标记项。 只需在 vm-instance
的属性中的 zone->machinetype 之后提及一个标签zone: your-zone
machineType: your-machine-type
tags:
items:
- 'http'