使用 terraform 在 GCP 计算引擎中安装 kubectl
installing kubectl in GCP compute engine using terraform
需要在 terraform
脚本中的 metadata_startup_script
中添加多个命令以在 GCP
中启动 compute engine
实例
以下是我的代码
metadata_startup_script = "curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" ; chmod +x kubectl ; sudo cp kubectl /usr/local/bin"
terraform plan
显示以下错误
Error: Missing newline after argument
on main.tf line 58, in resource "google_compute_instance" "default":
58: metadata_startup_script = "curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" ; chmod +x kubectl ; sudo cp kubectl /usr/local/bin"
An argument definition must end with a newline.
有什么解决这个问题的建议吗?任务是使用以下命令
启动 compute engine
后安装 kubectl
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo cp kubectl /usr/local/bin"
你有 2 个解决方案
- 转义双引号 "
metadata_startup_script = "curl -LO \"https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl\" ; chmod +x kubectl ; sudo cp kubectl /usr/local/bin"
- 在 TF 文件中以多行方式编写脚本
metadata_startup_script = <<SCRIPT
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo cp kubectl /usr/local/bin
SCRIPT
需要在 terraform
脚本中的 metadata_startup_script
中添加多个命令以在 GCP
compute engine
实例
以下是我的代码
metadata_startup_script = "curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" ; chmod +x kubectl ; sudo cp kubectl /usr/local/bin"
terraform plan
显示以下错误
Error: Missing newline after argument
on main.tf line 58, in resource "google_compute_instance" "default":
58: metadata_startup_script = "curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" ; chmod +x kubectl ; sudo cp kubectl /usr/local/bin"
An argument definition must end with a newline.
有什么解决这个问题的建议吗?任务是使用以下命令
启动compute engine
后安装 kubectl
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo cp kubectl /usr/local/bin"
你有 2 个解决方案
- 转义双引号 "
metadata_startup_script = "curl -LO \"https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl\" ; chmod +x kubectl ; sudo cp kubectl /usr/local/bin"
- 在 TF 文件中以多行方式编写脚本
metadata_startup_script = <<SCRIPT
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo cp kubectl /usr/local/bin
SCRIPT