问题标签 [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 投票
0 回答
167 浏览

google-kubernetes-engine - 与 Google Kubernetes 的入口,规则未按预期工作

我参考了来自 Google 的以下链接以实现我的实施 https://cloud.google.com/kubernetes-engine/docs/how-to/load-balance-ingress

我正在使用 ingress-gce 启用对前端和后端的访问。

前端是基于反应的应用程序,其中服务类型为 NodePort backedn 是基于 nodeJS 的应用程序,其中服务类型为 NodePort

下面是入口配置

以下是我在执行 kubectl 描述 ia-prod-ingress 时收到的详细信息

当我使用从 ingress-gce 收到的 IP 地址访问 URL 时,如下所示

http://ipaddress/ --> 前端应用程序正在按预期加载。

http://ipaddress/cms --> 我期待后端应用程序响应。然而,即使在 http://ipaddress/cms 前端应用程序正在加载..

任何想法,访问后端需要什么更正?

下面是入口配置的 yaml 文件,它可以帮助我解析所有组件的正确路径

0 投票
2 回答
467 浏览

kubernetes - GKE NEG Readiness Gate 因 Windows 容器和 Readiness Probe 而失败

我遇到了一个问题:

尝试使用容器本机负载平衡 (CNLB) 时,对在 IIS 容器中运行的 .Net 应用程序进行运行状况检查以成功。

我有一个由 GKE 中的入口资源定义和 VPC 原生集群创建的网络端点组 (NEG)。

当我通过暴露 NodePort 或提供 LoadBalancer 类型的服务来规避 CNLB 时,该站点可以毫无问题地解决。

描述中的所有吊舱条件看起来都不错: 吊舱准备就绪

运行时出现网络端点describe endpoints就绪地址

这是负载均衡器生成的运行状况检查:GCP 运行状况检查

当从同一 VPC 中的其他容器或虚拟机访问这些端点时,/health.htm 以 200 响应。这是来自同一命名空间中的一个容器,尽管我已经使用 Linux 虚拟机复制了这一点,但不是在集群中,而是在同一个VPC:端点响应

但尽管如此,健康检查报告我的 NEG 中的 pod 不健康:不健康的端点

stackdriver 日志确认请求超时,但我不确定为什么端点响应其他实例而不响应 LB:Stackdriver Health Check Log

我确认 GKE 创建了看起来像正确的防火墙规则,应该允许从 LB 到 Pod 的流量:防火墙

这是我正在使用的 YAML:

部署:

服务:

Ingress 是非常基本的,因为我们在这个站点上不需要多条路由,但是,我怀疑我们在这里遇到的任何问题。

最后一些相关的细节是我尝试了本文档中的步骤并且它有效,但它与我的情况不同,因为它没有使用 Windows Containers 或 Readiness Probes:https ://cloud.google.com/kubernetes-engine/docs/how -to/container-native-load-balancing#using-pod-readiness-feedback

任何建议将不胜感激。我已经花了两天的时间来解决这个问题,我确信这很明显,但我就是看不到问题所在。

0 投票
1 回答
148 浏览

kubernetes - 在不同的 Kubernetes 命名空间中部署如何影响 Pod 到 Pod 的通信?

我一直在 Kubernetes默认命名空间中进行部署,并且效果很好。但是,我现在开始在不同的命名空间中进行部署,即:开发和生产。所以我的问题是:

在 kubernetes 的不同命名空间中部署是否会影响最初根据配置的防火墙进行通信的 pod 之间的通信?

目前,这些是我的命名空间:

0 投票
1 回答
246 浏览

kubernetes - GKE 负载均衡器服务上的最大端口数

问题

(外部)LB 服务可以在 GKE 上支持的最大端口数是多少?

背景

当端口数高于约 30 时,我们会遇到针对 LB 服务的超时。

超时向我表明,在修补新的 TCP 端口时,没有为服务创建防火墙规则。但是,手动添加相关的防火墙规则并不能解决问题。

因此,当服务端口计数过高时,服务本身可能无法将流量路由到相关 pod。

这些文档表明 50 个端口限制适用于内部 LB。想知道这对于外部是否相同?

更多信息

该端口肯定是在服务上创建的:

我们可以使用 Pod IP 访问 Pod,但我们不能使用 Service 访问它们。

0 投票
2 回答
3273 浏览

google-cloud-platform - 如何在 Google Kubernetes 上启用 Google 托管证书?

我是 GKE 的新手,现在正在尝试为 RASA 创建一个新集群。我正在尝试使用 HTTPS 创建一个入口以指向此集群中的负载均衡器。但我无法Create Google-managed certificate从列表中选择选项。它似乎在此集群中被禁用。如何启用此功能?

帮助显示:

要创建 Google 管理的证书,您的集群需要存在 ManagedCertificate自定义资源定义。

在此处输入图像描述

0 投票
2 回答
404 浏览

docker - 无法在公共 GKE 集群中的 pod 上访问互联网

无法在公共 GKE 集群中的 pod 上访问互联网

我使用 gke(1.16.13-gke.1) 作为测试环境。我正在部署一个 spring-boot 应用程序,它在 gke 集群上成功运行。问题是它无法与互联网通信。

这是我的部署清单。

这是我得到的错误。

0 投票
1 回答
48 浏览

kubernetes - GKE 中遗留的应用程序 - 如何删除和使 webpreview 像以前一样工作

我在 GKE 中部署了一个应用程序(比如 app1),在现有集群中使用 Jenkins 和另一个应用程序(比如 app2)提供服务、部署和证书设置。另一个应用程序的部署方式与新应用程序相同,带有证书(以及静态 IP 和 DNS 条目)。

Jenkins 没有暴露给外部 IP,所以我曾经在云控制台中使用端口转发选项,然后使用 Web 预览 - 这会创建一个 apppot URL,它允许我登录到 Web 管理员。

部署 app2 后发生了一些奇怪的事情。我使用 webpreview 按钮对其进行了测试,并且可以访问它。一切都很好,它可以通过 HTTPS 和所有的新 URL 访问。但在那之后,Jenkins 的网络预览就不再工作了。相反,我总是会被重定向到 app2。

我不知道为什么,所以我从 app2 中删除了所有内容,现在我遇到了一些非常奇怪的情况:

  • 在我执行大部分操作的(Chrome)浏览器中,我仍然可以在 DNS 中的 FQDN 和 apppot 链接(https://8080-dot-1234567-dot-devshell.appspot )上访问(损坏的)应用程序.com/即使在我重新启动后,清除缓存并注销 google 帐户(甚至删除了 statis IP) - 端口转发操作有效并提供上述链接(带有其他数字)
  • 在运行 Ubuntu 的同一台笔记本电脑上的另一个(Chromium)浏览器中,portford 操作有效,但是当单击浏览器中的链接时,它不会生成另一个 appot url,并且失败并显示 500 错误屏幕

在阅读了一下之后,我知道有一些代理用于进行转发,我希望代理会“挂起”一些方式,最重要的是,集群中似乎有一些应用程序遗留下来,实际上不应该在那里

我目前有基本支持,因此没有资格获得技术支持。我找不到手动访问 apppot 代理的方法,也没有发现负载均衡器或我知道的任何其他可能导致此问题的东西。

如果我在第二个浏览器的云 shell 中运行 portfoward,我可以在暴露的端口上卷曲到 localhost 并获取 Jenkins,因此该部分似乎可以工作,但 Web 预览则不能。

我该如何解决这个问题(意味着回到为 Jenkins 工作的 Web 预览并摆脱应用程序遗留问题)?

0 投票
1 回答
1588 浏览

kubernetes - 如何仅在入口处允许多个 IP

我有多个 IP,我只想让这些 IP 进入我的入口

我知道我可以在我的入口注释中做到这一点,

nginx.ingress.kubernetes.io/whitelist-source-range: 10.0.0.0/16

但我想要的是我有多个 IPS,而不仅仅是10.0.0.0/16 所以如果我有像178.1.0.2/17,之类的 IP 10.0.0.0/16178.2.0.3/18并且我只想允许这个 IP 进入我的入口,那么我怎么能做到这一点。

0 投票
1 回答
356 浏览

kubernetes - 在 GKE 中应用出口网络策略后无法从 Pod 连接互联网

应用出口网络策略命令无法连接互联网kubectl run app1 --image tomcat:7.0-slim后,我在 GKE 中有一个 pod ( )。apt-get update

申请政策前:

在此处输入图像描述

申请政策后:

在此处输入图像描述

这是应用的策略:

这里可以在同一个命名空间中连接 app3 pod 的 8080 端口。请帮助纠正我的netpol。

0 投票
1 回答
40 浏览

gke-networking - 从 pod 调用集群外的应用程序

在同一网络中的 Compute Engine 和 GKE 集群上运行了一个 Web 服务应用程序。

集群中的 pod 是否可以使用 Web 服务应用程序的内部 IP 地址调用 Web 服务应用程序?

您的回答将不胜感激。

谢谢。