如何让 Puppet 在 Cloud Shell 中可用?

How do I make puppet available in Cloud Shell?

我一直在阅读 https://cloud.google.com/blog/products/gcp/introducing-puppet-support-for-google-cloud-platform24 的 "Getting started with Puppet on GCP" 部分。我使用控制台创建了一个具有服务帐户管理员角色的服务帐户,并将实例设置为 运行 作为该服务帐户。然后我启用了 Gmail API.

在“1. 安装你的模块”中,如果我想在 GCP 上使用 Puppet,我不明白关于 Google 模块的讨论。我想我需要 GCP 上的 Puppet(反过来)。

确实,当我在该部分尝试 puppet apply <<EOF 命令时,我得到了 -bash: puppet: command not found。如何安装人偶?

您必须在您的机器上安装 puppet:

How To Install Puppet on Ubuntu

Puppet official Documentation

Cloud Shell 基本上是一个 e2 小型 GCE VM 运行 一个基于 Debian 的 Linux OS.

它没有预装 Puppet,但您可以像在任何其他基于 Debian 的发行版上一样安装它。 请记住,虽然这个实例是 短暂的

The instance persists while your Cloud Shell session is active; after an hour of inactivity, your session terminates and its VM, discarded.

如果你在 Cloud Shell 中正常安装 Puppet,下次连接时它可能不存在。

然而,可以在 VM 启动时自动 customize your environment 以确保您的 Cloud Shell 实例包含您的首选工具,例如 Puppet:

Cloud Shell automatically runs the script, $HOME/.customize_environment, when your instance boots up. Unlike .profile or .bashrc, this script runs once when Cloud Shell boots (rather than once for each shell login).

This script runs as root and you can install any packages that you want to exist in each Cloud Shell session using Debian package management commands.

至于如何在 GCP 中安装和设置 Puppet,初学者请查看这些资源: