问题标签 [gke-networking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2144 浏览

https - GKE 入口 Https 重定向 - 无法识别 FrontendConfig

我有一个带有 Http 和 Https 的 GKE 入口。我想将流量从端口 80 重定向到端口 443。我发现了这个: https ://github.com/kubernetes/ingress-gce/issues/1075 这让这个: https ://cloud.google.com/kubernetes -engine/docs/how-to/ingress-features#https_redirect

建议的解决方案添加了一个带有 RedirectToHttps 标志的 FrontendConfig,该标志使用了一些 LoadBalancer 功能。然而,当我尝试添加 FrontendEndConfig 时,出现以下错误:

我也试过'networking.gke.io/v1'和'v1beta2'。我所在区域可用的最新 GKE 版本是 1.17.13-gke.2001。我最近启动了集群,所以虽然我不知道如何检查 GKE 版本,但我认为它运行在最新版本上。

任何人都知道为什么我的 kubectl 无法识别这种类型?


入口yaml:

重定向yaml:

0 投票
1 回答
537 浏览

mongodb - Mongodb Atlas Google Cloud 对等互连失败,本地网络中的 ip 范围与活动对等方中的 ip 范围重叠

我有一个 GCP 项目“A”,我之前在其中添加了与 MongoDB Atlas 的 VPC 对等:

在此处输入图像描述

这样我的开发 GKE 集群(其 VPC 范围为 10.7.0.0/16)在访问 MongoDB 时将支持对等互连。到目前为止,一切都按预期工作。

现在我已经为预生产配置了另一个 GKE 集群,它在 10.221.0.0/16 上有自己的 VPC 范围。我还在同一个 Mongo 集群“app-pre”中创建了另一个数据库,并希望为新集群添加 VPC 对等互连。

我遵循相同的步骤:

  1. Mongo Atlas:为 GCP 项目“A”、VCP 名称和 CIDR 192.168.0.0/16 添加对等连接
  2. GCP 创建对等连接

问题是我收到以下错误:

本地网络 (10.221.0.0/16) 中的 ip 范围与对等网络的活动对等方中的 ip 范围 (10.221.0.0/16) 重叠

在此处输入图像描述

0 投票
0 回答
228 浏览

google-cloud-platform - GKE 私有集群节点状态始终未知

我使用以下 terraform 脚本配置了 GKE 私有集群

这是我的网络地形脚本:

总之,上面的脚本正在做的是:

  1. 创建具有子网的 VPC(2 个辅助 IP 范围)
  2. 为所有出口创建 NAT
  3. 在具有 3 个节点的 VPC(只有私有端点)内创建一个 GKE 集群。
  4. 创建一个堡垒 GCE,允许通过 tcp:22(通过防火墙)从 Internet 进入,以便通过隧道连接到私有主端点。

这些资源都创建得很好,但是节点状态非常不稳定。只有一个节点(经常)在就绪和未知之间切换状态。其余 2 个节点始终处于未知状态。任何部署(甚至入口控制器部署)都失败了。

我不是 GKE 的专家。

这里有什么问题?为什么节点处于“未知状态”?

0 投票
1 回答
61 浏览

kubernetes - 在 GKE 中将 Postgres 安装为 NFS,并部署了多个微服务

我有一个 GKE 集群,部署了近 6-7 个微服务。我需要在 GKE 中安装一个 Postgres DB(不是 Cloudsql 作为成本)。当检查不同类型的持久卷时,我可以看到,如果多个微服务访问同一个数据库,我应该使用 NFS 还是 PVC 和普通磁盘就足够了,无论如何本地存储都不够

请求您对此的想法。

0 投票
1 回答
299 浏览

kubernetes - 当在 GCE 中将 externalTrafficPolicy 设置为 Local 时,Kubernetes LoadBalancer 类型服务的外部 IP 无法从集群内的 pod 访问

外部 IP 完全可以从集群外部访问。集群内的所有节点都可以完全访问它。但是,当我尝试从集群中的 pod 远程登录到 URL 时,该 pod 与作为服务后端的一部分的 pod 不在同一节点上,连接总是超时。

与作为服务后端一部分的 pod 在同一节点上运行的 pod 可以访问外部 IP。

所有 pod 都可以完美到达服务的集群 IP。

当我将 externalTrafficPolicy 设置为 Cluster 时,Pod 能够访问外部 URL,无论它们位于哪个节点上。

我正在使用 iptables 代理和 kubernetes 1.16

我完全不知道为什么会这样。有人能对此有所了解吗?

0 投票
0 回答
460 浏览

kubernetes - 无法使用 istio 公开 gRPC 服务器

我不擅长英语,所以如果我说一些奇怪的话,我很抱歉。

现在我正在使用 istio 在 GKE 上开发一个 gRPC 服务器,当我使用 DNS 从集群内的另一个 pod 调用时,我的服务器可以正常工作。但是,来自集群外部的调用总是返回“超出上下文期限”。

我实现了名为 ms-user 的部署,它具有运行我的 grpc 服务器的 pod,端口为 5000,并在命名空间“default”中跟踪资源。

我将以下清单部署到命名空间“istio-system”:

然后,我正在使用 grpcurl 进行测试。

我可以从一些 pod 调用它。

我该如何解决它..?谢谢,


附言

0 投票
1 回答
58 浏览

google-cloud-platform - 仅在 GCP 内无法在 www.googleapis.com 上找到服务器

我知道有一些与此问题类似的问题。但就我而言,这个问题只发生在 GCP 上。我们已经在 AKS (Azure) 中运行我们的服务近一年了,没有一次发生。在我们迁移到 GCP GKE 之后,我们的 Python 应用程序的一些请求陷入了错误:Unable to find the server at www.googleapis.com. 在大多数情况下,请求有效,因此它似乎是随机的。我已经尝试增加 TCP 超时以及 Cloud Nat 中每个 VM 实例的最小最小端口数。我们正在使用 GKE 运行服务,并且我们为网络设置了 Cloud Nat 网关。

GCP 上是否有任何可能导致问题的专有设置?

0 投票
0 回答
52 浏览

google-kubernetes-engine - 如何为我的 gcloud vpn 授予对 gke 服务的访问权限

我正在尝试让开发团队访问数据库,但我不想公开数据库 pod(负载均衡器等),并且 pod ip 会不时更改。所以我创建了一个谷歌云 vpn,我可以从我的 gke pod 访问 ip,但是我无法访问我在 gke 上创建的服务,是否可以从 vpn 访问 gke 服务?谢谢!

0 投票
1 回答
225 浏览

google-cloud-platform - 通过同一个 IP 向外部公开 TCP/UDP 端口与入口/出口

我在 GKE 集群中有一个工作负载,我需要在外部公开一个同时具有 TCP 和 UDP 协议的端口。复杂之处在于出口和入口应该通过相同的外部 IP 才能使 P2P 协议正常工作。

目前,我的集群是公共的,我使用hostNetwork: true此处描述的技巧https://stackoverflow.com/a/47887571/803403,但考虑迁移到私有集群并使用 Cloud NAT。但是,在这种情况下,我没有找到如何公开该端口的方法。我试图通过 ClusterIP 公开它,但在防火墙规则中无法将外部端口映射到该 ClusterIP 端口,因为最后一个没有网络标签。而且我不确定防火墙规则是否可以应用于绑定到 Cloud NAT 的 Cloud Router。

有人有想法吗?

谢谢!

0 投票
1 回答
342 浏览

docker - 为什么入口总是只向特定的服务节点端口返回 502 错误?

我有一个 alpine docker 映像可以在 apache 服务器(PHP 7.4) 上运行我的原始 PHP 网站EXPOSE 80
我想使用入口控制器在 Kubernetes(GKE) 上运行映像。
我正在使用 gcloud 命令将图像推送到谷歌容器注册表。
部署和服务都没有错误,并成功创建为 NodePort。
我部署的入口来自谷歌教程(https://cloud.google.com/community/tutorials/nginx-ingress-gke
在我的入口中现在有:

  • 34.68.78.46.xip.io/
  • 34.68.78.46.xip.io/你好
  • 34.68.78.46.xip.io/jb(/|$)(.*)

/hello 与本教程的配置相同,并且运行良好。
/jb 与我在下面提到的配置相同,总是返回 502 错误。
GCP 控制台中的入口详细信息未显示警告或错误

我检查过:
Kubernetes GKE Ingress : 502 Server Error
GKE Ingress: 502 error when download file
502 Server Error Google kubernetes

这是部署文件:

这是服务文件:

在入口文件中:

这是入口描述:

kubectl get ing ingress-resource -o yaml 的输出