标签: google-cloud-platform

如何修改Google Cloud Platform服务帐号现有的访问范围?

我有一个服务帐户,该帐户已分配给我的 GCE 实例并被列为活动帐户,我可以通过gcloud auth list在任何一个实例上运行来验证该帐户。该服务帐号目前具有对一些服务的 Google Cloud API 访问权限。我想要做的是更新此访问权限,以便服务帐户可以从 Google Cloud DNS 读取区域/记录集信息。

我查看了有关服务帐户的文档并编辑其访问权限,并尝试编辑 GCP 中的服务帐户权限,但我没有找到直接添加对 Google Cloud DNS 或 Google Cloud Networking 的访问权限的方法,这将是包括 DNS。服务帐户权限可以设置为我自己的用户帐户并分配所有者/编辑角色,但我更愿意只授予服务帐户 Google Cloud DNS 所需的额外访问权限。

任何帮助或见解将不胜感激,谢谢!

google-compute-engine google-cloud-platform

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

如何显示 GCE VM 是从哪个映像创建的?

我需要弄清楚哪个映像用于在我的组织的 Google Cloud / Compute Engine 项目中创建虚拟机。

我在虚拟机概述页面(在https://console.cloud.google.com/compute/instances内)或通过使用gcloud compute instances describe.

经过快速谷歌搜索或扫描https://cloud.google.com/compute/docs/上的文档后,这些信息对我来说并不明显。

google-compute-engine google-cloud-platform

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

Google Cloud Firewall 日志是否允许和拒绝?

我似乎无法找到一种方法来查看我的 Google Cloud Platform 日志中允许和拒绝的流量。GCP 防火墙确实不记录允许/拒绝的流量吗?

google-cloud-platform google-stackdriver

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

我可以从 GKE 集群中删除外部 IP 吗?

我刚刚开始使用 Google Kubernetes Engine (GKE),我很喜欢它。

我花了一些时间让内部负载均衡器正常工作,这样我的应用程序就有了 10.128.0.0/16 IP。

现在我想知道,我可以从集群中删除外部 IP 吗?

我发现 Google 需要集群上的外部 IP,并且无法将其删除。有人对这个有经验么?

我正在处理健康数据,并且犹豫是否将生产应用程序部署到具有外部 IP 的集群中。我认为我的项目上的防火墙提供了足够的保护,但如果我打算将个人健康数据放入其中,我只是觉得系统具有外部 IP 是错误的。如果您不知道“我可以从集群中删除外部 IP 吗?”的答案。问题,我很想得到一些评论。我在 Google 的 HIPAA 合规性文档中看到GKE 是涵盖产品。

networking hipaa google-cloud-platform google-kubernetes-engine

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

Google Cloud Services - 根本无法通过 SSH 连接到实例

我无法通过 SSH 连接到 Google Cloud 服务上的实例。

我不太熟悉虚拟机管理和故障排除,但已经尝试了我所知道的一切,谷歌可以提供给我,包括:

  • 尝试从外部程序进行 SSH
  • 将磁盘复制并安装到新实例上
  • 使用串行控制台连接到两者
  • 在不同的托管位置尝试上述所有操作

无论我尝试什么,唯一的结果是一个加载符号,后跟以下内容:

到项目元数据的密钥传输花费了异常长的时间。传输到实例元数据可能会更快,但只会将密钥传输到该虚拟机。如果您希望从此虚拟机通过 SSH 连接到其他虚拟机,则需要相应地传输密钥。

我不能这样做,因为我没有 GCloud 用于 SSH 进入实例的私钥,并且使用 PuTTY 根本不起作用,因为我给服务器的任何公钥都不起作用全部。

ssh virtual-machines ssh-keys google-compute-engine google-cloud-platform

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

Google Cloud Run - 如何挂载 FileStore / NFS?

我们的应用程序需要在两个文件存储中存在数据。在我们当前的 Kubernetes 配置中,我们使用一个持久卷,如下所示:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: fileserver-input
spec:
  capacity:
    storage: 1T
  accessModes:
  - ReadWriteMany
  nfs:
    path: /mypath
    server: XX.XXX.XXX.XXX
Run Code Online (Sandbox Code Playgroud)

然后我们将其作为一个卷添加到我们的部署中:

    volumeMounts:
      - mountPath: /mypath
        name: my-path
Run Code Online (Sandbox Code Playgroud)

如何做到这一点Cloud Run on GKE?我们已经尝试运行命令将文件存储挂载到 docker 容器中,但是我们没有成功,因为容器没有以特权方式运行。

有没有办法像常规那样指定一个volumeMount GKE,或者在特权模式下运行容器Cloud Run on GKE

kubernetes google-cloud-platform google-kubernetes-engine

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

我们如何从 GCR 中垃圾收集旧的 docker 镜像?

由于奇怪的历史原因,我们在 GCS 存储桶中存储了 2.14Tb 的数据,用于存储 Google 容器注册表 (GCR) 的 docker 镜像。

我们曾经gcloud container images delete <image>删除了数千个未使用的图像,但是 stackdriver 表示底层 GCS 存储桶中存储的总字节数没有变化。

看起来gcloud container images delete已经从注册表中删除了图像元数据,但没有删除底层。

有没有一种方法可以从 GCS 中垃圾收集未使用的数据并减少每月的费用?

接受答案后更新

这是我们的 GCS 存储桶中对象总大小的图表 - 看起来对象大约每 24 小时被垃圾收集一次(在我们的例子中大约是 UTC 中午)

在此输入图像描述

docker google-cloud-platform

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

为什么我无法访问GCP实例的元数据服务器?

当我尝试访问元数据服务器时出现Could not resolve host metadata.google.internal错误。Could not resolve host metadata

虽然我使用自己的 VPC 和自定义防火墙,但我不认为这是防火墙的问题,因为根据 Google 元数据服务器流量永远不会离开实例。此外,我的主机文件中有一个条目证明了这一点:

# Google Compute Engine metadata server 169.254.169.254 metadata.google.internal metadata

我尝试 ping 169.254.169.254,但它返回General Failure(但是,它证明什么都没有......我不确定元数据服务器是否允许 ICMP)。

我的 Stackdriver Logging Agent 也因此失败。这是其日志中的一行:

Failed to access metadata service: error_class=Errno::ENETUNREACH error="Failed to open TCP connection to 169.254.169.254:80 (A socket operation was attempted to an unreachable network. - connect(2) for \"169.254.169.254\" port 80)"

如果重要的话,我的 VPC 网络中的内部流量仅限于icmptcp:22(ssh)。

发生了什么以及如何解决这个问题?

google-compute-engine google-cloud-platform

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

从 Kubernetes 容器通过 Cloud VPN 访问服务

我有一个 VPC 网络设置,其中有一个连接到本地网络的 VPN。云路由器用于在内部以及与 VPN 网络之间创建路由 (BGP)。其中一个项目是托管具有内部和外部 IP(具有别名 IP 范围)的公共 Kubernetes 集群。它被配置为 VPC 网络的一部分(使用其子网之一)。

我正在尝试将 Kubernetes 上运行的服务连接到内部网络中的资源(通过 Cloud VPN)。不幸的是,这似乎不可能。连接超时。

Cloud VPN、Cloud Router 设置正确,网络之间存在访问/通信。唯一的问题是,我无法从 Kubernetes 容器访问本地资源

routing google-cloud-platform google-kubernetes-engine

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

如何完全注销 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万
查看次数