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

kubernetes - 如何将多个证书添加到具有 SUB 域 (SNI) 的同一 IP 的入口?

我想为具有不同子域的同一 IP 添加多个证书。我已经创建了集群并添加了入口。我也安装了 HTTPS 应用程序。我成功地将证书添加到两个不同的主机(使用相同的入口但 2 个公共 IP)。

我如何在 ingress 中编写以将 cert X 用于 aks-hello-world 并在 cert Y 中用于 ingress-demo?(详见附件)

我也应该在天蓝色做些什么吗?

入口示例

截屏

0 投票
1 回答
148 浏览

kubernetes - 由于 SSL 错误,NGINX Ingress 处理 hostAliases 失败

我已经配置了一个 NGINX Ingress 来使用 SSL。这工作正常,但我正在尝试使用 hostAliases 将来自一个域的所有请求路由回我的集群,并且它失败并出现以下错误:

错误:无法验证第一个证书

我的别名:

有没有办法使用这个别名并且仍然让 ssl 工作?

0 投票
1 回答
902 浏览

nginx - 对 kubernetes 上的入口进行故障排除

我将入口控制器部署到我的 kubernetes 集群。但是,当我尝试访问 pod 时,我得到了 HTTP 503。所以我试图通过访问入口控制器的日志来找到问题:

我感兴趣的日志文件部分如下所示:

正如你所看到的,我在那里完全没有看到任何有趣的东西。我想知道它是否是整个日志消息,因为我在最后看到一堆破折号和一个 guid 值。

接下来我决定丰富入口的日志文件:

部署文档出现,我想在 args 部分添加额外的行:

关闭部署文档后,我会看到以下消息:

所以我做错了什么?日志消息是否真的完整,在当前形式中它没有描述错误。还有为什么我不能更改日志记录级别?

0 投票
0 回答
2101 浏览

amazon-web-services - 具有静态 IP 的 Amazon EKS 中的 ingress-nginx

我刚开始使用 kubernetes,我遇到了一些麻烦。我将描述我的场景:

我想部署一个由 N(N 接近 10)个不同服务组成的应用程序。每个服务都有自己的域,并且服务相互通信。我正在尝试使用Amazon EKS部署它。

我已经部署了这一切,并使用带有 nginx 控制器的入口设置了一个反向代理,它按预期工作。如果我将入口外部 ip ( a0[..].us-east-1.elb.amazonaws.com) 放在指向服务 URL 的主机文件中,一切正常,但我想更进一步。

我必须将我的所有服务 URL 指向我的域提供商中的 IP。但是入口每次创建时都会获得一个新的外部 IP。我想要实现的是将静态IP绑定到入口。

我已经读过这个问题:

将 nginx-ingress 绑定到静态 IP 地址

但是该问题的唯一答案建议使用网络负载均衡器 (NLB),但我找不到如何将弹性 IP 绑定到 NLB。阅读此 AWS 指南,我发现您可以在手动创建 NLB 时附加弹性 IP。

也许我误解了某些东西,或者有一些我还不知道的概念,并且有一种更简单的方法可以做我想做的事。

无论如何,非常感谢您抽出宝贵的时间。

0 投票
1 回答
116 浏览

kubernetes - 待处理的消息暴露 externalApi

名称:ingress-nginx 类型:LoadBalancer 内部IP:10.108.240.88 外部IP:待定

端口:80:30191/TCP,443:30616/TCP 21h

yaml 文件:

我使用 docker 18.06,kubernete 1.13 提议对 exp ip 范围为 172.18.3.9-20 的私有组织进行测试

Flannel 日志:kubectl logs --namespace kube-system kube-flannel-ds-amd64-ms94w -c kube-flannel

结果:

无法列出 *v1.Node:获取https://10.96.0.1:443/api/v1/nodes?resourceVersion=0:拨打 tcp 10.96.0.1:443:getsockopt:连接被拒绝 E1211 11:48:43.238318 1 个反射器。 go:201] github.com/coreos/flannel/subnet/kube/kube.go:295: 无法列出 *v1.Node: 获取https://10.96.0.1:443/api/v1/nodes?resourceVersion=0 : net/http: TLS 握手超时

使用 kubeadm 初始化:

kubeadm init --pod-network-cidr 10.255.0.0/16 --service-cidr 10.244.0.0/16 --service-dns-domain "k8s" --apiserver-advertise-address 172.18.3.9

仪表板 kubernete 显示所有内容(pods、ingress、replicateSets、私有 docker registery 容器)好吧,除了这个服务!

0 投票
0 回答
151 浏览

kubernetes - 在本地使用负载均衡器外部 IP

是否可以为 kubernetes 外部 IP 类型的负载均衡器使用私有 IP 静态?我不明白

0 投票
1 回答
1382 浏览

kubernetes - Nginx 入口控制器安装错误,“dial tcp 10.96.0.1:443: i/o timeout”

我正在尝试使用 kubeadm 和 vagrant 设置一个 kubernetes 集群。当 Pod 尝试通过 kubernetes API 检索 configmap 时,我在安装 nginx 入口控制器时遇到错误。我环顾四周并尝试应用他们的解决方案,但仍然没有运气,这就是我发表这篇文章的原因。

环境:

我正在使用 vagrant 设置 2 个带有 ubuntu/xenial 图像的节点。

我按照 kubeadm 设置集群

[使用 kubeadm 设置 kubernetes]

我的 kube 集群初始化命令如下:

并应用 calico 网络插件策略:

(Calico是我目前安装成功的一个插件,我会再发一篇关于flannel插件的帖子,插件无法访问服务)

我正在使用 helm 安装入口控制器,遵循教程 https://kubernetes.github.io/ingress-nginx/deploy/

这就是我在描述 pod 时应用 helm deploy 命令时发生的错误

Helm 入口错误

感谢有人可以提供帮助,因为我知道原因是 pod 无法访问 kubernetes API。但这不是默认情况下应该由 kubernetes 启用吗?

我的 kubesystem pod 状态如下: kube 系统 pod

kubernetes官网提供的另一种解决方案:

1)用sidecar安装kube-proxy,我还是kubernetes的新手,我正在寻找如何用sidecar安装kube-proxy。感谢有人可以提供一个例子。

2)使用client-go,当我阅读这篇文章时我很困惑,似乎使用go命令来拉go脚本,我不知道它是如何与kubernetes pod一起工作的。

0 投票
2 回答
589 浏览

azure - 在后端服务中发起的 Nginx Ingress 服务调用未重定向到 https

我在后端发起的呼叫中遇到 https 重定向问题。我有一个具有以下设置的 Nginx 入口控制器:

当客户端通过浏览器访问页面时它工作正常 - 它使用 https 与负载均衡器联系,并且从负载均衡器到集群中 pod 的流量使用 HTTP(因此 SSL 在 LB 级别终止,客户端被迫使用HTTPS)。但是,当我尝试从我的 Java 应用程序调用使用 HTTP 的 URL(就像客户端正在做的那样)时,我希望被自动重定向到 HTTPS。我收到正确的响应(308 永久重定向),但我的呼叫不会自动转移到 https。是否缺少一些注释?

0 投票
1 回答
1295 浏览

nginx - nginx ingress 成功应用 ConfigMap 文件但没有效果

我正在尝试使用以下 ConfigMap 文件配置我的 nginx-ingress:

但由于某种原因,至少 client-max-body-size 配置不起作用 - 它设置为默认 1m。

我可以清楚地看到新配置在 GCP 中已成功应用,但没有任何效果。它不起作用的原因是什么?

0 投票
2 回答
1208 浏览

nginx - 如何访问 nginx 入口控制器

机器:Ubuntu 18.06在 VPS(技术上是服务器)上运行。集群设置为kubeadm. 问题:我无法通过domain.com/

所以,基本上我只是简单地执行了这两个 yml:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml



kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/baremetal/service-nodeport.yaml


nginx 控制器已启动并正在运行,它会处理其他脚本。

入口控制器加载入口的日志:

现在我希望我能够通过domain.com/(应该返回 404)通过注册的其他入口访问控制器domain.com/ingress

我想我错过了一些非常基本的东西。如果您需要任何进一步的信息,请告诉我。

的输出kubectl -n ingress-nginx describe service/ingress-nginx