问题标签 [nginx-ingress]

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 投票
2 回答
669 浏览

azure - 缩放 Azure nginx 入口控制器

我们在 Azure (aks) 上有一个 K8s 集群。在这个集群上,我们在安装了 nginx-ingress 控制器的设置上添加了一个负载均衡器。

查看部署:

我看到每个运行有 1 个。现在我发现很少有信息是否应该缩放(每个有 1 个 pod),如果应该缩放,怎么做?

我试过跑步

它暂时将其缩放为 3 个 pod,但片刻之后,它又被缩小了。

再说一遍,这些应该被缩放吗?为什么?如何?

编辑

对于那些像我一样错过它的人:AKS addon-http-application尚未准备好投入生产,它可以让您快速设置并开始试验。这就是为什么我无法正确缩放它的原因。

阅读更多

0 投票
0 回答
6626 浏览

linux - 上传/下载较大文件时,服务器不返回任何内容(无标题、无数据)

上传或下载较大的文件(大于 30 MB)时,我偶尔会遇到此异常:

它是一个在 Linux/nginx 环境中运行的 .NET Core 2.0 Web 应用程序。因此,有时执行相同文件的上传/下载没有问题,有时我会收到“无标题,无数据”异常,有时我还会收到 502 Bad gateway 或 504 gateway timeout 错误异常。

它是多层环境,请求首先转发到编排层的微服务,然后是服务层的微服务。

有什么想法/建议吗?

0 投票
2 回答
2161 浏览

docker - Kubernetes 使用 Gitlab 安装 Ingress 返回“?” 作为外部 IP

我已经成功地将我的 Kubernetes-Cluster 与 Gitlab 连接起来。此外,我还能够通过 Gitlab UI(操作->Kubernetes)安装 Helm。我的问题是,如果我单击 Ingress 的“安装”按钮,Gitlab 将创建 Ingress-Controller 所需的所有必要的东西。但是会错过一件事:外部IP。外部 IP 将标记为“?”。

如果我运行这个命令:

它什么也不会显示。就像我不会有一个暴露外部 IP 的负载均衡器。

Kubernetes 集群

我通过 kubeadm 安装了 Kubernetes,使用 flannel 作为 CNI

kubectl 版本:

在安装 Ingress 之前有什么需要配置的吗?我是否需要一个外部负载均衡器(我的想法:Gitlab 将为我创建该服务)?

再提示:安装后,Nginx-Ingress-Controller Service 的状态将保持在pending。原因是它无法检测到外部 IP。我还修改了服务的 yaml-File 并手动输入了“externalIPs : -External-IP”行。输出结果是它不再处于挂起状态。但我仍然无法通过键入上述内容找到外部 IP命令和 Gitlab 也找不到任何外部 IP

编辑:安装后会发生这种情况: 见图

EDIT2:通过运行以下命令:

我得到以下结果:

看图片

在事件日志中,您将看到我将类型切换为“NodePort”一次,然后切换回“LoadBalancer”,并在 yaml 文件中添加了“externalIPs:-192.168.50.235”行。如您所见,有一个外部 IP,但 Git 没有检测到它。

顺便提一句。我没有使用任何这些云提供商,如 AWS 或 GCE,我发现 LoadBalancer 不是这样工作的。但是必须有一个没有 LoadBalancer 的解决方案。

0 投票
2 回答
3374 浏览

google-cloud-platform - 是否可以使用内部 IP 创建 GKE 入口控制器?

当我创建 GKE 入口控制器时,默认情况下它创建了一个公共 IP。是否可以使用内部 IP 创建 GKE 入口控制器?

我已将我的服务公开为 Ingress 类型,我无法指定我的 ip 必须是内部的还是外部的。

但是,如果我将我的服务公开为 LoadBalancer,我可以指定 IP 的类型。注释:cloud.google.com/load-balancer -type:“内部”

0 投票
1 回答
159 浏览

amazon-web-services - nginx-lego 和 autoscaler 在缩小后不能很好地发挥作用

我在使用 nginx-lego(我知道它已被弃用)和节点自动缩放器时遇到问题。我不得不通过 HPA 手动扩展并临时修补 minReplicas 到一个高数字。一切都很好地扩展,由于 pod 的增加而添加了新节点。

流量高峰后,我将数字设置回正常(非常低),我可以看到很多错误的网关 502 错误。在我检查了 nginx-lego pod 的日志后,我能够看到大量请求发送到不再存在的 pod(连接被拒绝或没有路由到主机)。

知道什么可能是错的吗?

我想修补 minReplicas 可能不是最好的方法,但我知道会有一个峰值,而且我对如何预扩展整个集群没有更好的想法。

0 投票
1 回答
466 浏览

nginx - “access_log off”在 NGINX 中无效

因此,我在 Kubernetes 环境中广泛使用ingress-nginx来进行负载平衡并作为代理,但是我在禁用access_log特定站点时遇到了一些困难。

使用构建在NGINX 1.15.5之上的ingress-nginx 0.20.0我有以下入口对象。

这会产生以下内容nginx.conf

但是,尽管有access_log off;上述情况,它仍然在访问日志中记录以下内容,

这似乎是 NGINX 特有的问题,因为此时我看不出nginx.conf配置有任何问题。任何帮助表示赞赏。

0 投票
2 回答
1332 浏览

kubernetes - 为什么自定义域需要 kubernetes Ingress?

我使用 kubernetes 部署了我的应用程序,现在我想向应用程序添加自定义域。我正在使用教程,它使用入口来设置自定义域。
我注意到应用负载均衡器有一个 ip。为什么我不应该使用那个ip?我需要入口的原因是什么?

0 投票
3 回答
1749 浏览

google-cloud-platform - 使用 ngnix 入口控制器作为节点端口的 GCP 内部负载均衡器:连接被拒绝

背景:我们在 GKE 集群中托管应用程序,在 GKE 集群上运行的应用程序有一个入口资源,其中包含指向我们的应用程序服务的规则。我们使用 ingress-nginx 作为这个集群的入口控制器。

我们现在已经创建了一个 GCP 内部负载均衡器 (TCP) 来指向 ingress-controller 服务正在侦听的节点端口。(注意:“nginx 入口控制器服务”是节点端口类型)

  1. 当我们尝试使用http://ILB-IP:80 (http-port) 访问应用程序时,它会抛出连接被拒绝异常,但是当我们直接使用 nodeport http://ILB-IP:31380 (nodeport)访问时会得到所需的响应

  2. 当我们将入口服务作为类型负载均衡器提供时,GCP 在后台创建一个 ILB。在这种情况下,应用程序可以通过 http 端口访问,并且所有请求都在处理。

任何人都可以帮助我们弄清楚我们何时显式创建 ILB 并发送请求,为什么当我们在 http 端口上访问 ILB 前端时应用程序无法访问,而当 ILB 前端是 ILB-IP 时应用程序可以访问:?

提前致谢!

0 投票
0 回答
120 浏览

kubernetes - 使用 nginx 入口创建 Kubernetes ssl 密钥的只读错误

我在集群中创建了一个名为“test”的秘密,其中包含 ssl 密钥和证书引用。我正在尝试将其添加到我的 nginx 入口控制器,但收到 RunContainerError。

当我记录崩溃的 pod 时,我看到以下内容:

启动容器进程导致“process_linux.go:359: container init 导致\”rootfs_linux.go:54:mounting \\"/var/lib/kubelet/pods/cefd1bf7-f23b-11e8-a8dc-f22020d2318c/volumes/kubernetes.io ~secret/secret-volume\\" to rootfs \\"/var/lib/docker/overlay2/93038084b5de93315f0eb960c97cf6b57d3188daee5d129da8b766e470508ea9/merged\\" at \\"/var/lib/docker/overlay2/93038084b5de93315f0eb960c97cf6b57d3188daee5d129da8b766e470508ea9/merged/etc/nginx/ ssl\\" 导致 \\"mkdir /var/lib/docker/overlay2/93038084b5de93315f0eb960c97cf6b57d3188daee5d129da8b766e470508ea9/merged/etc/nginx/ssl: 只读文件系统\\"\""

在我的入口控制器中,我有以下内容:

0 投票
1 回答
171 浏览

kubernetes - 解析 nginx 入口文件的 tls 部分时出错

我的入口中有以下内容

我从各种示例中复制了此格式,但是当我尝试在 kubectl 中应用文件时会引发以下错误

错误:解析 nginx/ingress.yml 时出错:将 YAML 转换为 JSON 时出错:yaml:第 13 行:未找到预期的密钥

第 13 行是 secretName: secret-prod

这种格式有什么问题?