Jef*_*ing 3 google-cloud-platform terraform
当您使用 gcloud ssh 到实例时,它会将该 ssh 公钥添加到实例的元数据中以允许您进入。太棒了。
不过,现在 terraform 希望删除该元数据,因为它不在 .tf 文件中。我不在乎它不在 .tf 文件中,我希望 terraform 忽略 SSH 密钥,并且由于安全问题,我无法控制我无法使用项目范围的 SSH 密钥。
我知道如何设置忽略所有元数据的生命周期策略,但我们仍然希望在 hostinit 脚本发生更改时收到通知,因此我试图找到一种仅忽略 ssh 密钥元数据的方法。
正如你可以想象的那样,要获得良好的谷歌结果相当困难,但我已经尝试过。有很多类似的问题,但它们是通过启用项目范围的 SSH 密钥来解决的,但我无法做到这一点。
您可以忽略所有元数据
resource "google_compute_instance" "default" {
...
lifecycle {
ignore_changes = [
metadata
]
}
}
Run Code Online (Sandbox Code Playgroud)
或者只是特定的,例如metadata["sshKeys"](中的地图元素的语法ignore_changes)
lifecycle {
ignore_changes = [
metadata["sshKeys"]
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2043 次 |
| 最近记录: |