小编Joh*_*ley的帖子

将永久性磁盘挂载到 Google Cloud Platform 中的 /home

有没有办法将永久性磁盘挂载到 /home 目录?

我已按照 GCP ( https://cloud.google.com/compute/docs/disks/add-persistent-disk ) 的说明进行操作,该说明允许我最初将磁盘挂载到 /home 目录。然后将所有文件从原始主目录复制到挂载的 /home 后,重新启动实例,我无法再使用浏览器 ssh 工具访问服务器。我试过: 1. 将磁盘直接挂载到 /home 2. 将磁盘挂载到其他位置并创建指向它的软链接

在关闭实例之前,我可以创建文件和文件夹,并且在新安装的 /home 中一切正常。一旦实例关闭并重新联机,我将无法再通过 ssh 连接到它并显示消息 -“无法连接,正在重试 (2/3)...”

有没有人成功将磁盘挂载到 /home ?任何帮助表示赞赏。

mount google-compute-engine google-cloud-platform

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

gcloud崩溃(AttributeError):“ NoneType”对象没有属性“ revisionTemplate”

我正在Cloud Run上工作,它似乎还处于测试阶段,因此无法进行如下所示的重新部署。如果我从GCP控制台删除服务,然后将相同的Docker部署为新服务,则它可以工作。我找不到设置revisionTemplate的方法。

我运行此命令以使用gcloud部署Cloud Run服务。

gcloud beta run deploy v2-cms --image gcr.io/my-project/v2-cms --quiet
Run Code Online (Sandbox Code Playgroud)

然后,它不会像这样说。

X Deploying...                                                                                                            
  . Creating Revision...                                                                                                  
  . Routing traffic...                                                                                                    
Deployment failed                                                                                                         
ERROR: gcloud crashed (AttributeError): 'NoneType' object has no attribute 'revisionTemplate'

If you would like to report this issue, please run the following command:
  gcloud feedback

To check gcloud for common problems, please run the following command:
  gcloud info --run-diagnostics
Run Code Online (Sandbox Code Playgroud)

cloud google-cloud-platform gcloud google-cloud-run

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

安全设置 GOOGLE_APPLICATION_CREDENTIALS

我正在尝试以安全的方式使用 Google 云服务。我目前通过 putenv('GOOGLE_APPLICATION_CREDENTIALS= path to JSON file ');提供我的凭据 请参阅 https://cloud.google.com/docs/authentication/Production

我想通过将我的代码放在共享主机/虚拟 Linux 服务器上来进行公开测试。但是,如果我将 JSON 文件的权限设置为安全,则无法访问它们。如果我公开,我需要包含的 JSON 文件有一个纯文本形式的私钥。

我已经进行了一个小时的搜索,但找不到我应该如何安全地提供凭据。

  • 我是否应该将该文件放在服务器上的安全位置?
  • 生产网站是否有其他方法可以将公共 URL 传递给 putenv?

php security google-cloud-platform google-cloud-iam

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

Google Pub/Sub 推送消息不适用于启用 IAP 的应用程序引擎

我正在测试一个非常基本的 Pub/Sub 订阅。我将推送端点设置为通过 App Engine 中的 Python Flex 服务部署的应用程序。该服务位于启用了身份感知代理的项目中。IAP 配置为允许通过我们的域进行身份验证的用户通过。

我没有看到我的应用程序正在处理任何推送请求。

我关闭了 IAP 保护,然后我看到请求已得到处理。我重新打开它,它们不再被处理。

google-app-engine authorization google-cloud-pubsub google-cloud-iam google-iap

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

Google云计费API,获取当月费用

我目前正在使用 Flask 为在 GKE 上运行的在线服务构建一个管理仪表板。

我想展示自本月初以来该服务已经产生了多少账单。我研究过 Google Cloud 计费 API,但这是一个血腥的丛林,我似乎找不到任何方法来检索我想要的数据。

我认为这应该是可能的,但我不知道如何实现。任何对 Google Cloud API 更有经验的人都可以帮助我吗?最好是使用 python 代码片段?

我已经查看了这篇文章中的答案,但无法真正弄清楚如何使用它们。

google-api google-cloud-platform google-kubernetes-engine google-cloud-billing

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

您可以通过 Terraform 在 GCP 中运行 Docker 容器吗?

我创建了一个 Docker 镜像,我想使用 Terraform 在 GCP 中运行它。我已经标记并将图像推送到 GCR,如下所示:

docker tag carlspring/hello-spring-boot:1.0 eu.gcr.io/${PROJECT_ID}/carlspring/hello-spring-boot:1.0
docker push eu.gcr.io/carlspring/carlspring/hello-spring-boot:1.0
Run Code Online (Sandbox Code Playgroud)

我有以下代码:

provider "google" {
  // Set this to CREDENTIALS
  credentials = file("credentials.json")

  // Set this to PROJECT_ID
  project = "carlspring"
  region  = "europe-west2"
  zone    = "europe-west2-a"
}

resource "google_compute_network" "vpc_network" {
  name = "carlspring-terraform-network"
}


resource "google_compute_instance" "docker" {
  count        = 1
  name         = "tf-docker-${count.index}"
  machine_type = "f1-micro"
  zone         = var.zone
  tags         = ["docker-node"]

  boot_disk {
    initialize_params {
      image = "carlspring/hello-spring-boot"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

做完之后: …

docker google-cloud-platform terraform google-container-os

4
推荐指数
2
解决办法
1923
查看次数

对受 IAP 保护的应用程序的服务帐户请求导致“GCIP ID 令牌无效:JWT 签名无效”

我正在尝试从 GCP 环境外部通过 Python 以编程方式访问受 IAP 保护的 App Engine Standard 应用程序。我尝试了各种方法,包括此处文档中显示的方法: https: //cloud.google.com/iap/docs/authentication-howto#iap-make-request-python。这是我的代码:

from google.auth.transport.requests import Request
from google.oauth2 import id_token
import requests

def make_iap_request(url, client_id, method='GET', **kwargs):
    """Makes a request to an application protected by Identity-Aware Proxy.

    Args:
      url: The Identity-Aware Proxy-protected URL to fetch.
      client_id: The client ID used by Identity-Aware Proxy.
      method: The request method to use
              ('GET', 'OPTIONS', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE')
      **kwargs: Any of the parameters defined for the request function:
                https://github.com/requests/requests/blob/master/requests/api.py
                If …
Run Code Online (Sandbox Code Playgroud)

google-app-engine google-api-python-client google-cloud-platform google-iap google-cloud-identity

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

Google Firebase SSL证书-我的证书中列出了大量其他网站

问题:我的Google Firebase SSL证书中列出了其他域。

我创建了一个firebase项目来测试来自Cloud Functions的firebase身份验证电子邮件。firebase.jhanley.com

我有在Cloud Functions中运行的单独代码,这些代码针对我拥有/管理的每个域验证SSL证书(下面的代码)。该代码的主要目的是在域的SSL证书即将到期时发送电子邮件。我们的某些SSL证书必须手动更新。

问题是我检查SSL证书的代码为我的SSL证书返回了大量其他域名。当我使用Chrome浏览器查看SSL证书时,还会看到其他域名。我确实希望我的网站与这些其他网站相关联。

在Firebase的SSL证书中看到的域的简化列表:

2r5consultoria.com.br
addlix.com
admin.migrationcover.ae
admin.thermoply.com
akut-med.zeitnachweise.de
...
firebase.jhanley.com
...
Run Code Online (Sandbox Code Playgroud)

问:为什么Firebase SSL会发生这种情况,有解决方案吗?

问:Firebase是否支持安装您自己的SSL证书?

在Cloud Functions中运行的Python 3.x代码通过连接到列表中的每个域名来处理SSL证书。

注意:此代码没有任何(已知)问题。我包括源​​代码,以为社区中的其他人创造附加值。

""" Routines to process SSL certificates """

import  sys
import  datetime
import  socket
import  ssl
import  time
import  myhtml

g_email_required = False    # This is set during processing if a warning or error was detected

def get_email_requred():
    return g_email_required

def ssl_get_cert(hostname):
    """ This function returns an SSL certificate from a host """

    context = ssl.create_default_context() …
Run Code Online (Sandbox Code Playgroud)

ssl ssl-certificate firebase google-cloud-platform

3
推荐指数
1
解决办法
1412
查看次数

您如何指定 DB_URI postgres DB 连接字符串到在 Google Sql 云中运行的实例?

这是我的场景。我已经设置了一个在 Google SQL 云中运行的 Postgres DB 实例。它已启动并正在运行,如果我将本地 IP 列入白名单,我可以毫无问题地直接连接。

然后我部署了一个 docker 容器 (postGrest),它是一个连接到 postgres 数据库的 Web 服务器。当我在 Google Cloud Run 上配置它时,它确实有一个下拉选项,我可以在其中指定数据库连接,它说,在幕后,它为此连接配置 Cloud SQL 代理。

容器允许传入环境变量以指定哪个服务器等。一个必需的参数是 postgred 实例的 DB_URI。在本地运行时,它看起来像这样:

postgres://authenticator:mysecretpassword@localhost:5432/testdb

当我尝试在云版本上配置它时,我尝试使用 IP 127.0.0.1(谷歌云 SQL 代理文档说这是通过代理连接的方式)。这没有用。

然后我尝试使用分配给 postgres 数据库的公共 IP ......这也不起作用。

有谁知道如何使用这种 DB_URI 格式指定正确的连接字符串?

postgresql google-cloud-sql google-cloud-platform postgrest google-cloud-run

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

Google Cloud Platform:使用 api 列出可用项目

我想gcloud projects list通过 api 调用 ( python)达到相同的效果。

但是,我在浏览文档时遇到的唯一问题就是这个。

此操作是否专门与资源管理器 API 相关联?

对其他项目的可见性会发生什么?如果 RM 绑定到一个项目,它如何查看(并因此列出)其他项目?

api google-cloud-platform gcloud google-cloud-iam

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