标签: gcloud

由于公钥不可用,无法验证以下签名:NO_PUBKEY 6A030B21BA07F4FB

我的环境:

# uname -a
Linux app11 4.9.0-5-amd64 #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04) x86_64 GNU/Linux
# 
# cat /etc/*release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
# 
Run Code Online (Sandbox Code Playgroud)

在尝试运行时apt-get update,我收到了一堆错误:

# apt-get update
Ign:1 http://deb.debian.org/debian stretch InRelease
Hit:2 http://security.debian.org stretch/updates InRelease
Hit:3 http://deb.debian.org/debian stretch-updates InRelease             
Hit:4 http://deb.debian.org/debian stretch-backports InRelease           
Hit:5 http://deb.debian.org/debian stretch Release 
Get:6 http://packages.cloud.google.com/apt cloud-sdk-stretch InRelease [6,377 B]
Ign:7 https://artifacts.elastic.co/packages/6.x/apt stable InRelease
Hit:8 https://artifacts.elastic.co/packages/6.x/apt stable Release
Get:9 http://packages.cloud.google.com/apt google-compute-engine-stretch-stable InRelease [3,843 B]
Get:10 …
Run Code Online (Sandbox Code Playgroud)

debian google-compute-engine google-cloud-platform gcloud

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

gcloud docker -- 登录尝试推送结果失败,404

我正在尝试将 docker 映像推送到 Google 的容器注册表,但不断收到有关 Docker 登录失败的错误消息。我跑

gcloud docker -- push gcr.io/<my-project-id>/test-image
Run Code Online (Sandbox Code Playgroud)

我回来了

ERROR: Docker CLI operation failed:

Error response from daemon: login attempt to 
https://appengine.gcr.io/v2/ failed with status: 404 Not Found

ERROR: (gcloud.docker) Docker login failed.
Run Code Online (Sandbox Code Playgroud)

其他不通过 docker 工作的 gcloud 操作。例如,我可以通过gcloud container clusters create my-cluster.

我今天确实在玩本地注册表,不确定这是否会破坏事情。

谢谢!

docker google-kubernetes-engine gcloud

25
推荐指数
3
解决办法
4827
查看次数

如何在服务器上将 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万
查看次数

Google Container Engine 上带有“kubectl Exposure”的静态 IP 永远处于 &lt;pending&gt; 状态

我正在尝试kubectl expose在 Google Container Engine 上通过带有静态 IP 地址的命令公开 kubernetes“部署” 。

使用临时 IP,一切正常:

kubectl expose deployment my-application \
    --type="LoadBalancer" --port=80 --target-port=8080
Run Code Online (Sandbox Code Playgroud)

我使用kubectl get services并等待几分钟以查看已分配的临时 IP。我在浏览器中输入 IP 并看到应用程序,即一切正常。

但是,当我执行以下操作时:

  1. 使用 gcloud 网络界面创建静态 IP 地址(网络 -> 外部 IP 地址 -> 保留静态 IP 地址)

  2. 使用与上述相同的命令重新创建服务,但使用额外的--load-balancer-ip选项

    kubectl expose deployment my-application \
        --type="LoadBalancer" --port=80 --target-port=8080 \
        --load-balancer-ip='1.2.3.4'   # IP as assigned by web interface above
    
    Run Code Online (Sandbox Code Playgroud)

命令成功,但在该 IP 地址下无法访问应用程序,当我使用以下命令时:

$ kubectl get services
NAME         CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
endpoints    10.119.247.39   <pending> …
Run Code Online (Sandbox Code Playgroud)

kubernetes gcloud

8
推荐指数
1
解决办法
4445
查看次数

无法编辑 VM 或通过 SSH 访问它。错误:提供的指纹与当前元数据指纹不匹配

我在 Google Cloud 上有一台用 Bitnami 创建的 Linux 机器。

它运行良好,可以通过 SSH 访问,使用 Web 控制台或腻子。然而,今天突然无法通过 SSH 以任何方式访问它。当我尝试编辑 VM 并更改 SSH 密钥或对其进行任何其他更改时,我收到以下错误消息:

Editing VM instance:"***" failed.
Error:Supplied fingerprint does not match current metadata fingerprint
Run Code Online (Sandbox Code Playgroud)

VM 仍在运行,部署在其上的服务仍在运行,但无法进行任何更改。我还有大约 10 个其他虚拟机,并且所有这些虚拟机仍然具有 SSH 访问权限。

我曾尝试遵循 GC 文档的几个指南,但如果没有命令行访问,几乎没有任何指南可以完成。

linux ssh-keys google-compute-engine google-cloud-platform gcloud

7
推荐指数
1
解决办法
6195
查看次数

在 Google Compute Instance 上打开 443?

出于某种原因,我无法在我的 google 计算实例上打开端口 443。我在实例上启用了 HTTPS 服务器,使用gcloud compute firewall-rules list返回以下规则:

NAME                    NETWORK  DIRECTION  PRIORITY  ALLOW                         DENY
default-allow-http      default  INGRESS    1000      tcp:80
default-allow-https     default  INGRESS    1000      tcp:443
default-allow-icmp      default  INGRESS    65534     icmp
default-allow-internal  default  INGRESS    65534     tcp:0-65535,udp:0-65535,icmp
default-allow-rdp       default  INGRESS    65534     tcp:3389
default-allow-ssh       default  INGRESS    65534     tcp:22
Run Code Online (Sandbox Code Playgroud)

然而,当我使用类似nmap它说它已关闭的东西检查端口是否打开时。

PORT     STATE  SERVICE
22/tcp   open   ssh
443/tcp  closed https
Run Code Online (Sandbox Code Playgroud)

编辑:这是该站点的我的 nginx conf 文件。 https://gist.github.com/cclloyd/e7f1183f3a018dbc32cd7c55e15375cf

https port-forwarding google-compute-engine gcloud

6
推荐指数
1
解决办法
4989
查看次数

Google 云平台 - SSH 连接被拒绝

清除 SSH 密钥元数据的项目和实例并运行 gcloudcomputessh(这将创建新的密钥对并更新项目元数据)后,如果没有收到“ssh:连接到主机...*”,我将无法再通过 SSH 进行连接。 133 端口 22:连接被拒绝”错误。

我已经阅读了我能找到的所有涉及此问题的论坛,但仍无法找到解决方案。我什至无法通过云外壳终端进行连接。

我所做的事情是否有明显的错误?

ssh google-cloud-platform gcloud

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

默认 ssh 在 GCP Console 中不起作用,浏览器崩溃或挂起

在 Google Cloud Platform(GCP) 中创建实例后,我可以单击 SSH 并打开基于浏览器的 SSH 控制台来访问该实例。(在没有本地 ssh 客户端的情况下从控制台本身自动复制和连接密钥)但我注意到这几天后不起作用并且浏览器挂起(在 Firefox、Chrome 等上尝试过)。

有没有人遇到过类似的问题?

注意:连接可以与 putty/本地客户端以及 Cloud Shell 控制台 ( gcloud compute --project "blackforest" ssh --zone "us-east1-b" "test-instance")

ssh google-compute-engine google-cloud-platform gcloud google-cloud-shell

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

如何完全注销 Google Cloud?`gcloud auth revoke --all` 并不能解决问题

注销 Google Cloud似乎应该很容易。如果我运行:

$ unset GOOGLE_APPLICATION_CREDENTIALS

$ gcloud auth revoke --all
Revoked credentials:
  - [my account]
$ gcloud auth list

No credentialed accounts.

To login, run:
  $ gcloud auth login `ACCOUNT`
Run Code Online (Sandbox Code Playgroud)

乍一看我好像完全退出了gcloud。但是看看当我打开 Python shell 时会发生什么:

>>> from google.cloud import secretmanager_v1beta1 as secretmanager
>>> client = secretmanager.SecretManagerServiceClient()
/Users/my/path/.venv/lib/python3.7/site-packages/google/auth/_default.py:66: UserWarning: Your application has authenticated using end user credentials from Google Cloud SDK. We recommend that most server applications use service accounts instead. If your application continues …
Run Code Online (Sandbox Code Playgroud)

security google-cloud-platform gcloud

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

无法访问 Google Cloud Run 实例的静态外部 IP - 遵循指南(路由器、子网、NAT、VPC 等)

我正在尝试为我们的 Cloud Run 实例分配一个外部静态 IP 地址,以便我可以将其与 websockets 一起使用(我读过需要静态 IP 才能工作,而不是自指定/负载平衡的 GCloud)应用域名)。常规 URL 可以访问,但静态 IP 只是挂起。

我主要尝试遵循本指南: https ://cloud.google.com/run/docs/configuring/static-outbound-ip

我不完全确定外部IP如何路由到Cloud Run实例,因为它是一个自我管理的实例(即它上面没有私有IP地址),但假设其他部分正在解决这个问题。 。

我做了什么:

  • 创建云路由器:

gcloud compute routers create cloud-run-router --network=default --region=us-central1

路由器

  • 创建外部静态IP:

gcloud compute addresses create cloud-run --region=us-central1

外部IP

  • 我还在网络上创建了一个子网:

gcloud compute networks subnets create cloud-run-subnet --range=10.20.0.0/28 --network=default --region=us-central1

子网

  • 然后,我使用此子网创建了一个无服务器 VPC 访问连接器:

gcloud beta compute networks vpc-access connectors create cloud-run-sub-conn --subnet-project=project-name --subnet=cloud-run-subnet --region=us-central1

专有网络连接器

  • 然后,我使用此路由器和子网创建了一个新的 Cloud NAT 网关:

gcloud compute routers nats create cloud-run-nat --router=cloud-run-router --region=us-central1 --nat-custom-subnet-ip-ranges=cloud-run-subnet --nat-external-ip-pool=cloud-run

NAT网关

  • 我还设置了一些防火墙规则,尝试允许一切: 防火墙

  • 然后,我部署了引用 VPC 出口和连接器的 Cloud …

static-ip google-cloud-platform gcloud

4
推荐指数
1
解决办法
4346
查看次数