小编yon*_*ran的帖子

如何在服务器上将 GOOGLE_APPLICATION_CREDENTIALS 与 gcloud 一起使用?

gcloud在 GCE 之外以非交互方式使用命令行与服务帐户的最简单方法是什么?最好不要用凭证文件乱扔文件系统,这就是这样gcloud auth activate-service-account --key-file=...做的。

有许多使用gcloud服务帐户的用例。例如,在服务器上,我想GOOGLE_APPLICATION_CREDENTIALS在运行我的应用程序之前测试是否正确设置并具有所需的权限。或者,我想运行一些设置脚本或 cron 脚本来执行一些gcloud命令行检查。

Google Cloud 库(例如pythonjava)自动使用环境变量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)

google-cloud-platform gcloud

17
推荐指数
2
解决办法
3万
查看次数

在机器关闭/重新启动之前等待服务正常退出

你如何编写一个在机器关闭或重启时优雅关闭的 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)

systemd

11
推荐指数
1
解决办法
1万
查看次数

如何将标签应用于托管实例组的实例?

有没有办法自动将标签应用到 GCE 托管实例组(又名实例组管理器)启动的实例?我看到您可以在实例模板( ) 中添加网络标签,但我没有看到\xe2\x80\x99t 看到添加标签以用于使用 搜索标记实例的方法。properties.tagsinstances/list

\n\n

解决方法是setLabels从 Instance Template\xe2\x80\x99s 手动调用实例startup-script

\n\n

在 AWS EC2 中,相当于将标签添加到具有.PropagateAtLaunch: true

\n

google-compute-engine

5
推荐指数
1
解决办法
1847
查看次数