K8s - 无法从集群外部访问应用程序
K8s - Unable to reach application from outside the cluster
我正在学习在私有集群上部署应用程序。应用程序已启动并且 运行 在 pod 中,并且可以从节点本身访问。我也创建了一个入口控制器服务,但我不确定出了什么问题。 nginx-ingress 服务的外部 IP 总是 returns 404。关于修复有什么想法吗?
服务运行:
申请服务:
Nginx 服务:
应用程序入口:
入口 yaml:
看起来您的 Nginx Ingress 控制器目前没有为 Ingress 提供服务。如果 Ingress 由控制器提供服务,它的 status.loadBalancer
下应该至少有一个 IP 地址(这应该是为它提供服务的 Ingress 控制器使用的外部 IP),而在您的情况下,它看起来是空的这个:
status:
loadBalancer: {}
这方面最常见的问题是Ingress没有定义IngressClass或者集群中没有默认IngressClass
首先,执行 k get IngressClass
并查看是否定义了任何 Ingress Class。在你的集群中。 根据 Kubernetes 版本和 Ingress Controller 版本,它可以使用 IngressClass 对象或简单地使用注释(或两者)。
我会尝试简单地在 Ingress metadata
下添加注释 kubernetes.io/ingress.class: nginx
因为 nginx class 通常是由 Nginx Ingress Controller 定义的。或者,如果您的 Ingress Controller 使用不同的 Ingress Class,我会尝试在注释中指定它,那么您的设置 应该 有效。
如果您对 Ingress 的用途感到好奇 Class,它主要用于将 Ingress 资源定义与入口控制器相关联。在一个 Kubernetes 集群上,可能有多个 Ingress Controller,每个都有自己的 ingress class 并且 Ingress 资源通过匹配请求的 ingress class.
关联到其中一个。
如果不指定ingressclass,则Ingress使用默认的,即自动使用集群中标注为默认的IngressClass
有关详细信息,请查看此处的文档 (https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class)
我正在学习在私有集群上部署应用程序。应用程序已启动并且 运行 在 pod 中,并且可以从节点本身访问。我也创建了一个入口控制器服务,但我不确定出了什么问题。 nginx-ingress 服务的外部 IP 总是 returns 404。关于修复有什么想法吗?
服务运行:
申请服务:
Nginx 服务:
应用程序入口:
入口 yaml:
看起来您的 Nginx Ingress 控制器目前没有为 Ingress 提供服务。如果 Ingress 由控制器提供服务,它的 status.loadBalancer
下应该至少有一个 IP 地址(这应该是为它提供服务的 Ingress 控制器使用的外部 IP),而在您的情况下,它看起来是空的这个:
status:
loadBalancer: {}
这方面最常见的问题是Ingress没有定义IngressClass或者集群中没有默认IngressClass
首先,执行 k get IngressClass
并查看是否定义了任何 Ingress Class。在你的集群中。 根据 Kubernetes 版本和 Ingress Controller 版本,它可以使用 IngressClass 对象或简单地使用注释(或两者)。
我会尝试简单地在 Ingress metadata
下添加注释 kubernetes.io/ingress.class: nginx
因为 nginx class 通常是由 Nginx Ingress Controller 定义的。或者,如果您的 Ingress Controller 使用不同的 Ingress Class,我会尝试在注释中指定它,那么您的设置 应该 有效。
如果您对 Ingress 的用途感到好奇 Class,它主要用于将 Ingress 资源定义与入口控制器相关联。在一个 Kubernetes 集群上,可能有多个 Ingress Controller,每个都有自己的 ingress class 并且 Ingress 资源通过匹配请求的 ingress class.
关联到其中一个。如果不指定ingressclass,则Ingress使用默认的,即自动使用集群中标注为默认的IngressClass
有关详细信息,请查看此处的文档 (https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class)