问题标签 [kubernetes-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 回答
8732 浏览

kubernetes - Kubernetes Ingress - 服务路由的入口不起作用

我有一个像下面这样的入口。

kubectl 获取测试入口 -o yaml

我的服务如下,

kubectl 获取 svc 测试 -o yaml

豆荚运行良好。这有什么问题?为什么从入口到服务的路由不起作用。

访问入口端点时出错,

谢谢,

0 投票
2 回答
1132 浏览

google-cloud-platform - GKE Ingress:下载文件时出现 502 错误

我在 GKE 上部署了集群,并通过Ingress公开。静态资源和多数或 REST 请求工作正常。但我在下载文件请求时收到 502 服务器错误。错误信息是:The server encountered a temporary error and could not complete your request.Please try again in 30 seconds.

如果没有 Ingres,当使用 LoadBalancer 时,下载工作正常。我怀疑 Ingress 不喜欢后端响应。这是成功响应标头(没有 Ingress):

我试过的:

  1. 将云控制台中入口转发规则的后端服务超时从默认的 30 秒增加到 100 秒
  2. 搜索堆栈驱动程序日志 - 没有找到入口控制器的任何日志。

为什么此请求不适用于 Ingress,如何解决?我在哪里可以找到 GKE 中的 Ingress 日志?

0 投票
2 回答
6245 浏览

https - 如何让 Kubernetes Ingress 终止 SSL 和代理服务?

我有一个在裸机上使用 kubernetes 的 centos7 部署。一切都很好。但是,我想得到一份Ingress工作。所以简而言之,我想做的是从 Ingress 中终止 SSL,并在 ingress 和我的服务之间使用普通的 http。这就是我所做的:

1)我破解编织允许hostNetwork

2)我有一个入口控制器设置为:

注意 DaemonSet 和 nodeSelector。还有hostNetwork = true这样我的 kubernetes 节点将打开 80 和 443 来监听路由)。

所以我尝试访问http://foo.bar.com,不出所料,什么也没有。我只是得到default backend - 404页面。我需要入口规则....

3)所以我创建了这样的Ingress规则:

所以它很好用!...对于 http...当我在http://foo.bar.com访问我的节点时,我可以访问我的服务(集线器)并可以登录。但是,由于必须登录,因此只有强制执行 https 才有意义......

所以我的问题是,当我将浏览器切换到https://foo.bar.com时,我最终得到了一个default backend - 404页面。

查看上面提供的证书,我发现它是由 kubernetes 创建的:

检查我的秘密:

我究竟做错了什么?

0 投票
0 回答
4615 浏览

nginx - Nginx反向代理504网关超时仅发生在浏览器访问中

我使用 Nginx 作为反向代理,当我从浏览器(Chrome、Firefox)访问 url 时,它会显示 504 网关超时。但是当我使用curlwget访问该 url 时,它工作正常。这真的是一个奇怪的问题,有人可以帮我吗?

以下是我的配置:https ://pastebin.com/fZHEtRGa

上游配置是:

服务器配置是

0 投票
3 回答
3152 浏览

kubernetes - 重写目标不起作用

我正在尝试使用来自 kubernetes 的重写目标,gcloud但它似乎没有得到尊重。我的代码如下。也许有一些我没见过的东西:

当我这样做时,curl mycustomdomain.com/api/something我的后端总是接收backend/api/something而不是backend/something. 我真的没有想法,我可以使用一些帮助。

0 投票
2 回答
1677 浏览

nginx - jwilder/nginx-proxy 和 kubernetes/ingress-nginx 有什么区别

jwilder/nginx-proxy 在 Docker Hub 上有 1.3K STARS 和 10M+ PULLS。并在 GitHub 上观看 262、Star 7701、Fork 1546。 https://github.com/jwilder/nginx-proxy

kubernetes/ingress-nginx 在 kubeapps.com 上获得了 13 颗星(最多星的图表之一),在 GitHub 上获得了 Watch 137、Star 1596、Fork 918。 https://github.com/kubernetes/ingress-nginx

  1. 两者有什么区别?
  2. 您什么时候会使用其中一种?
0 投票
2 回答
4894 浏览

nginx - 如何在端口 80 / 443 的公共节点 IP 上公开 kubernetes nginx-ingress 服务?

我安装ingress-nginx在一个集群中。我尝试使用该kind: nodePort选项公开服务,但这仅允许30000-32767(AFAIK)之间的端口范围......我需要在端口80为 http 和443tls 公开服务,以便我可以A Records将域直接链接到服务. 有谁知道如何做到这一点?

我之前尝试type: LoadBalancer过,效果很好,但这会在我的云提供商处为每个集群创建一个新的外部负载均衡器。在我目前的情况下,我想生成多个迷你集群。为每个集群创建一个新的(digitalocean)负载平衡器太昂贵了,所以我决定用它自己的内部入口控制器运行每个集群,并将其直接暴露在80/443.

0 投票
5 回答
17923 浏览

docker - Kubenetes:是否可以在 Kubernetes 集群中使用单个请求命中多个 pod

我想清除 Kubernetes 命名空间中所有 pod 中的缓存。我想向端点发送一个请求,然后它将向命名空间中的所有 pod 发送 HTTP 调用以清除缓存。目前,我只能使用 Kubernetes 命中一个 pod,而且我无法控制哪个 pod 会被命中。

即使负载均衡器设置为 RR,连续访问 pod(n 次,其中 n 是 pod 的总数)也无济于事,因为其他一些请求可能会悄悄进入。

这里讨论了同样的问题,但我找不到实现的解决方案: https ://github.com/kubernetes/kubernetes/issues/18755

我正在尝试使用 Hazelcast 实现清除缓存部分,其中我将存储所有缓存,Hazelcast 会自动处理缓存更新。

如果有解决此问题的替代方法,或者配置 Kubernetes 以针对某些特定请求命中所有端点的方法,那么在此处分享将有很大帮助。

0 投票
1 回答
1039 浏览

amazon-web-services - 让外部 DNS 与 Kops AWS 1.7 K8s 集群中的入口对象一起使用

我试图弄清楚如何让这个设置工作:

  • 我正在使用从 AWS 中的 kops 推出的 Kube 1.7(无 RBAC)
  • 我的整个集群有一个 nginx 入口控制器,它使用通过 Helm 安装的命名空间LoadBalancer中的服务kube-system
  • 我已经cert-manager设置kube-system,通过 Helm 安装并使用ClusterIssuers
  • 我已经通过 Helm 安装external-dnskube-system
  • 我有多个应用程序,每个命名空间一个,每个命名空间中都有关联Ingress的对象。
  • 我正在使用cert-manager( certmanager.k8s.io/cluster-issuer: letsencrypt-prod) 和external-dns( dns.alpha.kubernetes.io/external: app.contoso.com)的适当注释来注释 Ingress

在这种情况下,cert-manager正在对对象做出适当的反应Ingress(修改它以完成 ACME 质询),但external-dns没有做任何事情(日志显示所有主机名都是最新的)。如果我为与 LB 服务关联的 ELB 手动添加 Route53 记录,一切都会按预期工作。检查 Ingress 对象,我看到状态块如下所示:

我想这是为什么external-dns没有反应?我怎样才能让它工作?根据文档

更多故障排除信息(pod 定义、入口定义、控制器日志等)可以在这里找到:https ://gist.github.com/DWSR/f6d596850346223393bec23b289c9731

0 投票
0 回答
543 浏览

minikube - Minikube Ingress:读取 configmap kube-system/tcp-services 时出现意外错误:未找到 configmap kube-system/tcp-services

我正在使用以下配置运行 minikube

环境

  • minikube 版本:v0.25.2
  • macOS 版本: 10.12.6
  • 驱动程序名称: virtualbox
  • ISO: minikube-v0.25.1.iso

我创建了入口资源来映射服务:messy-chimp-emauser到路径:/

但是,当我推出对 minikube 的更改时,我在 pod 中的日志低于nginx-ingress-controller

因此在尝试从浏览器访问服务时得到 HTTP - 503

重现步骤

步骤1
minikube addons enable ingress

第 2 步 kubectl create -f kube-resources.yml (用 替换实际图像k8s.gcr.io/echoserver:1.4

kube-resources.yml

请求请就此提出建议。