gcloud在 GCE 之外以非交互方式使用命令行与服务帐户的最简单方法是什么?最好不要用凭证文件乱扔文件系统,这就是这样gcloud auth activate-service-account --key-file=...做的。
有许多使用gcloud服务帐户的用例。例如,在服务器上,我想GOOGLE_APPLICATION_CREDENTIALS在运行我的应用程序之前测试是否正确设置并具有所需的权限。或者,我想运行一些设置脚本或 cron 脚本来执行一些gcloud命令行检查。
Google Cloud 库(例如python、java)自动使用环境变量GOOGLE_APPLICATION_CREDENTIALS向 Google Cloud 进行身份验证。但不幸的是,这个命令行似乎对gcloud. gcloud在保持文件系统完好无损的同时使用干净的方法是什么?
$ GOOGLE_APPLICATION_CREDENTIALS=/etc/my-service-account-4b4b6e63aaed.json gcloud alpha pubsub topics publish testtopic hello
ERROR: (gcloud.alpha.pubsub.topics.publish) You do not currently have an active account selected.
Please run:
$ gcloud auth login
to obtain new credentials, or if you have already logged in with a
different account:
$ gcloud config set account …Run Code Online (Sandbox Code Playgroud) 你如何编写一个在机器关闭或重启时优雅关闭的 systemd 服务?特别是,它应该延迟机器关闭,直到它正常退出。
我有一个需要 10 秒才能关闭的服务:/usr/local/bin/shutdowntest.sh:
#!/bin/bash
SHUTDOWN=0
SHUTDOWN_TIME=10
TRAPPED_SIGNAL=
function onexit() {
TRAPPED_SIGNAL=$1
SHUTDOWN=1
}
for SIGNAL in SIGINT SIGTERM SIGHUP SIGPIPE SIGALRM SIGUSR1 SIGUSR2; do
trap "onexit $SIGNAL" $SIGNAL
done
echo >&2 "shutdowntest running"
while ((!SHUTDOWN || SHUTDOWN_TIME>0)); do
if [[ -n "$TRAPPED_SIGNAL" ]]; then
echo >&2 "shutdowntest received signal $TRAPPED_SIGNAL"
TRAPPED_SIGNAL=
elif ((SHUTDOWN)); then
echo >&2 "shutdowntest Shutting down: $SHUTDOWN_TIME more sleeps"
SHUTDOWN_TIME=$((SHUTDOWN_TIME-1))
sleep 1
else
sleep 10
fi
done
echo >&2 "shutdowntest Finished shutting down; quitting" …Run Code Online (Sandbox Code Playgroud) 有没有办法自动将标签应用到 GCE 托管实例组(又名实例组管理器)启动的实例?我看到您可以在实例模板( ) 中添加网络标签,但我没有看到\xe2\x80\x99t 看到添加标签以用于使用 搜索标记实例的方法。properties.tagsinstances/list
解决方法是setLabels从 Instance Template\xe2\x80\x99s 手动调用实例startup-script。