标签: google-compute-engine

GKE 上的 Istio - 准入 Webhook 无法注入 sidecar-porxy

我一直在尝试在现有的 GKE 集群上设置 Istio。

我按照 Istio 网站上提到的步骤进行安装 - 先决条件。

https://istio.io/latest/docs/setup/platform-setup/gke/

我有一个私有集群,因此我在先决条件中添加了防火墙规则。

gke-aiq-kubernetes-0a227ee8-all               default  INGRESS    1000      tcp,udp,icmp,esp,ah,sctp            False
gke-aiq-kubernetes-0a227ee8-master            default  INGRESS    1000      tcp:10250,tcp:443,tcp:15017         False
gke-aiq-kubernetes-0a227ee8-vms               default  INGRESS    1000      tcp:1-65535,udp:1-65535,icmp        False
Run Code Online (Sandbox Code Playgroud)

然后使用演示配置文件安装 istio。

istioctl install --set profile=demo
Run Code Online (Sandbox Code Playgroud)

然后验证安装

istioctl verify-install
Run Code Online (Sandbox Code Playgroud)

这说明一切都成功了。

我用 namecpace 标记为“instio-inject=enabled”,这样我就会自动注入 sidecar porxy。

但是当我尝试在命名空间中部署某些内容时,出现以下错误:

Error from server (InternalError): error when creating "pod-pending.yaml": Internal error occurred: failed calling webhook "sidecar-injector.istio.io": Post https://istiod.istio-system.svc:443/inject?timeout=30s: context deadline exceeded
Run Code Online (Sandbox Code Playgroud)

据我了解,存在一些连接问题,但我不知道如何调试它。

我尝试了 istio 的调试页面:

https://github.com/istio/istio/wiki/Troubleshooting-Istio#diagnostics

运行命令后:

kubectl get --raw /api/v1/namespaces/istio-system/services/https:istiod:https-webhook/proxy/inject -v4
Run Code Online (Sandbox Code Playgroud)

我确信这是连接问题:

t -v5
I1113 …
Run Code Online (Sandbox Code Playgroud)

google-compute-engine google-cloud-platform kubernetes google-kubernetes-engine istio

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

适用于 Compute Engine 的 GCP API 网关

我在 api 网关营销页面上找到了以下代码片段。 在此输入图像描述

因此,我正在为在计算引擎上运行的应用程序设置 API 网关。由于我找不到任何有关如何在 API 引擎上配置计算引擎的文档,因此我使用内部 DNS 创建了以下配置。在此输入链接描述

swagger: "2.0"
info:
  title: API Endpoints
  description: API Endpoints
  version: 1.0.1
schemes:
  - https
produces:
  - application/json
paths:
  /indexes:
    get:
      summary: Return Search Indexes
      operationId: searchIndexes
      x-google-backend:
        address: http://my_internal_dns_for_compute_engine.c.myproject.internal/indexes
        path_translation: APPEND_PATH_TO_ADDRESS
      responses:
        "200":
          description: A successful response
          schema:
            type: string
        "403":
          description: Failed to authenticate
Run Code Online (Sandbox Code Playgroud)

当我使用gcloud部署配置时,出现以下错误

等待为 API [my-api] 创建 API 配置 [my-api-config-v6]...失败。
错误:(gcloud.beta.api-gateway.api-configs.create)等待服务配置创建:后端 URL“http://my_internal_dns_for_compute_engine.c.myproject.internal/indexes”被禁止:无法将请求路由到内部地址。

所以看起来内部 DNS 不受支持(显然)。

我的计算引擎实例只能通过 VPC 网络访问。如何将我的 api 网关连接到 VPC 网络以及如何通过它访问我的计算引擎?

google-compute-engine google-cloud-platform google-vpc google-api-gateway

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

尽管具有适当的角色,GCP VM 实例仍无法从 Secret Manager 访问密钥

我在 GCPSecret Manager服务中创造了一些秘密。然后,为了在本地计算机上访问这些机密,我创建了一个service account密钥JSON来从本地计算机验证该服务帐户。我还向该服务帐户授予了该角色Secret Manager Secret Accessor,以使其能够访问来自 的机密值Secret Manager。现在,它在我的本地机器上运行得非常好。

此外,我想将此代码部署到 GCP Compute Instance。因此,我创建了一个并将源代码发送到该实例。Secret Manager Secret Accessor我还向计算实例的默认服务帐户授予了相同的权限。现在,当我在实例上运行尝试此代码时,它会返回一个权限被拒绝的错误,如下所述。

The above exception was the direct cause of the following exception:
ibdax            | 
ibdax            | Traceback (most recent call last):
ibdax            |   File "manage.py", line 22, in <module>
ibdax            |     main()
ibdax            |   File "manage.py", line 18, in main
ibdax            |     execute_from_command_line(sys.argv)
ibdax            |   File "/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
ibdax …
Run Code Online (Sandbox Code Playgroud)

google-compute-engine service-accounts google-cloud-platform google-secret-manager

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

为“在首尔运行的 E2 实例核心”付费,但没有虚拟机

我正在为“在首尔运行的 E2 实例核心”付费。账单报告显示相关服务是“Compute Engine”,但没有从 Compute Engine 运行的虚拟机实例。我无法追踪账单的原因。

不确定是否相关,但我创建了 4 个 Cloud Run 服务,具有 0 个最小实例自动扩展设置,每天运行时间可能为 0~5 分钟。但“在首尔运行的E2实例核心”的使用量是7天84小时。所以我认为这不是原因。

为什么我要为“在首尔运行的 E2 实例核心”付费?

7天的账单报告

Compute Engine 虚拟机实例列表为空

google-compute-engine google-cloud-platform google-cloud-billing

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

将临时 IP 地址释放回 GCE 池需要多长时间?

临时外部 IP 地址:这些地址可供虚拟机实例和转发规则使用。仅在 VM 停止并重新启动或实例终止之前,临时外部 IP 地址仍保留附加到 VM 实例。如果实例停止,分配给该实例的任何临时外部 IP 地址都会被释放回通用 Compute Engine 池,并可供其他项目使用。当已停止的实例再次启动时,会为该实例分配一个新的临时外部 IP 地址。

我认为是瞬时的,一旦虚拟机停止,我们将无法恢复相同的临时 IP 地址。然而,临时外部 IP 地址似乎仍会在一段时间内分配给项目。例如,我前两天删除了一个虚拟机并释放了一个IP地址。今天,相同的 IP 地址被分配给新的虚拟机。

  1. 将临时 IP 地址释放回 GCE 池需要多长时间?

  2. 临时外部 IP 地址是否“分配”给VPC或项目?如果一个 VPC 内有多个项目,临时 IP 地址是否会在项目内轮换,直到它们被释放到 GCE 池中?

ip google-compute-engine google-cloud-platform google-vpc

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

使用 GCP 实例计划进行 GCP VM 自动停止和启动设置

我正在尝试在 GCP 中设置一些虚拟机的自动停止/启动,并且我已经拥有虚拟机管理员权限,但是当将虚拟机添加到创建的实例计划时,我收到以下错误:

Compute Engine 系统服务帐号 service-5424xxxxxxx@compute-system.iam.gserviceaccount.com 需要应用 [compute.instances.start,compute.instances.stop] 权限才能执行此操作。

在此输入图像描述

google-compute-engine google-cloud-platform google-iam google-cloud-iam

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

在Google Compute Engine上安装了MEAN - 但是SSH目录是空的?

文件系统位于Google Compute Engine上全新安装MEAN的位置?

我在端口3000中看到"这是主视图"但无法找到实际文件.

google-compute-engine mean-stack

0
推荐指数
1
解决办法
119
查看次数

Google HTTP负载均衡器无法升级Web套接字连接

我刚刚添加了一个HTTP负载均衡器,指向运行Tornado Web服务器的几个Google Compute Engine实例.特别是,他们正在处理websockets.

当我通过负载均衡器(在Chrome中)访问带有嵌入式websocket的页面时,我得到:

Error during WebSocket handshake: Unexpected response code: 400
Run Code Online (Sandbox Code Playgroud)

这是通过DNS以及达到负载均衡器的IP.

但是,当我点击一个单独的实例时,我能够成功握手websocket.

当我通过负载均衡器获取页面时,我没有在Web服务器中看到任何400个日志,这进一步表明它是负载平衡器,没有让它通过.

我可以做些什么来允许HTTP'升级'?或者这在云平台HTTP负载均衡器中是不可能的.

编辑:我也可以通过'网络负载均衡器'握手websocket,所以所有迹象都指向HTTP负载均衡器是问题.

google-compute-engine

0
推荐指数
1
解决办法
1302
查看次数

Google Deploy Manager(无效的配置文件:模板提取失败/找不到资源)

使用Google Deploy Manager时:

gcloud deployment-manager deployments create  my-environment --config my-environment.jinja
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ErrorsValueListEntry INVALID_CONFIG

无效的配置文件:模板获取失败:找不到资源

无论我的内容如何my-environment.jinja-即使复制文档中的样本

不知道我在做什么错吗?

google-compute-engine

0
推荐指数
1
解决办法
862
查看次数

获取GCE实例的标签和状态的最快方法?

当我使用GCE Linux实例(CPU负载> = 1.0)执行3D图形渲染时,该describe命令执行时间超过30秒.

gcloud compute instances describe render-1
Run Code Online (Sandbox Code Playgroud)

运行50个这样的实例并单独查询每个实例时,这需要超过25分钟.

有没有更快的方法来获取此数据?

google-compute-engine gcloud

0
推荐指数
1
解决办法
895
查看次数