标签: google-cloud-platform

Alpine Docker 上的 gcsfuse

我尝试使用 gcsfuse 将应用程序源代码存储在 GCP 存储桶上,这是我的 Dockerfile:

ARG VERSION

FROM golang:1.12.5-alpine3.9 as gcsfuse-builder

ENV GOPATH /go

RUN apk --update add git=2.20.1-r0 fuse=2.9.8-r2 fuse-dev=2.9.8-r2 \
    && go get -u github.com/googlecloudplatform/gcsfuse

FROM php:$VERSION as base

ARG REVISION

ENV APP_DIR=/srv/app \
    APP_ENV=prod \
    APP_FRONT_CONTROLLER=index.php \
    APP_LOCALE=fr \
    APP_USER=test-user \
    APP_USER_GROUP=test \
    APP_PORT=8080 \
    COMPOSER_ALLOW_SUPERUSER=1 \
    NGINX_DIR=/etc/nginx \
    NGINX_VERSION=1.14.2-r1 \
    PHP_FPM_CONF_DIR=/usr/local/etc/php-fpm.d/ \
    SUPERVISORD_CONF_DIR=/etc/supervisor \
    SUPERVISOR_VERSION=3.3.4-r1 \
    BUILD_SCRIPTS_DIR=/build-scripts \
    GOOGLE_APPLICATION_CREDENTIALS=/srv/app/bucket.json

# Supervisord conf to be copied at the end.
COPY docker/prod/php/scripts/*.sh $BUILD_SCRIPTS_DIR/

# Core dependencies installation …
Run Code Online (Sandbox Code Playgroud)

docker google-cloud-platform gcsfuse alpine

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

如何找到 GCP 项目的创建者?

我们的 GCP 组织一团糟。我想将项目整理到文件夹中,并删除“废弃”的项目。如何找出给定 GCP 项目的创建者?

google-cloud-platform

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

我们如何从 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万
查看次数

在 GCP 上登录 Windows Server 后黑屏

在此输入图像描述

\n

当我启动在 Google Cloud Platform 中创建的远程桌面时遇到问题。我有一个黑屏和一个命令行。我\xe2\x80\x99什么都做不了。问题是什么?我应该做什么?

\n

windows rdp google-cloud-platform

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

为什么 Cloud Build 服务帐户没有显示在 gcloud list 命令中?

当我查看项目的控制台 IAM 仪表板时,我可以看到我的 Cloud Build Service 帐户的行项目:

https://console.cloud.google.com/iam-admin/iam

Member                                           Role
PROJECT_ID@cloudbuild.gserviceaccount.com        Cloud Build Service Account
Run Code Online (Sandbox Code Playgroud)

但是当我使用命令列出服务帐户时,gcloud服务帐户不会显示:

$ gcloud iam service-accounts list --project=$PROJECT
Listed 0 items.
Run Code Online (Sandbox Code Playgroud)

为什么会PROJECT_ID@cloudbuild.gserviceaccount.com出现服务帐户?

google-cloud-platform google-iam

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

错误4033,原因未授权

当我重新启动 GCP 实例时,出现以下错误:

[连接错误]

google-cloud-platform

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

网络定价在云平台中到底如何运作?我应该如何避免专门的定价攻击?

我对云平台基础设施还很陌生。为了讨论简单起见,假设我讨论的唯一两个平台是 AWS 和 Google Cloud。

现在假设我有一个 HTTP 服务器,主要通过在线游戏的开放 API 处理 HTTP 响应。假设平均响应大小为 10KB,每天将发送大约一百万个响应。

根据我的理解,每月的价格取决于以 GB 为单位传输的数据量。现在我的问题是,如果有人编写一个脚本不断从我的服务器反复获取响应,那么价格就会飞涨。

我确信任何好的服务器都会避免这个问题,但我不确定到底是如何避免这个问题的。根据我的观察,许多现实生活中的大型在线游戏 API 服务器在响应大小仅为几 KB 时并没有优化其响应大小。一定会发生某种“每月固定付款或根据每秒传输的数据量付款”的情况,而不取决于传输的数据量。

然而,我只是在平台网站上找不到此类选项的任何参考。

任何帮助,将不胜感激。

cloud amazon-web-services google-cloud-platform

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