ingress-nginx ingress-nginx-controller NodePort 10.96.62.30 <none> 80:30216/TCP ,为什么使用exapmle.com:80 可以直接访问,而不是example。com:
时间: 2024-03-04 09:49:48 浏览: 151
您可以使用 example.com:80 来访问 Ingress 资源,但是您需要确保在您的 DNS 配置中将 example.com 解析为 Kubernetes 集群中 Ingress Nginx 控制器的 IP 地址。如果您使用的是 NodePort 类型的服务,那么您需要将 example.com 解析为其中一个节点的 IP 地址,然后使用该节点的 IP 地址和 NodePort 来访问 Ingress 资源。
请注意,在生产环境中,使用 NodePort 类型的服务来公开 Ingress 资源通常不是最佳选择,因为它会公开整个集群中的节点。相反,您可能希望使用其他类型的负载均衡器(如 LoadBalancer 或者 Ingress 控制器的云提供商特定实现),或者将 Ingress 控制器部署在您的网络边缘。
相关问题
ingress-nginx ingress-nginx-controller NodePort 10.96.62.30 <none> 80:30216/TCP
根据您提供的信息,您的 Kubernetes 集群中已经部署了 Ingress Nginx 控制器,并且它暴露了一个 NodePort 类型的服务,监听端口为 80,NodePort 为 30216。
这意味着您可以通过任何节点的 IP 地址和 NodePort 来访问您的 Ingress 资源。例如,如果您的节点 IP 地址为 192.168.0.100,则可以使用地址 http://192.168.0.100:30216 来访问您的 Ingress 资源。
请注意,在生产环境中,使用 NodePort 类型的服务来公开 Ingress 资源通常不是最佳选择,因为它会公开整个集群中的节点。相反,您可能希望使用其他类型的负载均衡器(如 LoadBalancer 或者 Ingress 控制器的云提供商特定实现),或者将 Ingress 控制器部署在您的网络边缘。
apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/component: controller app.kubernetes.io/instance: ingress-nginx app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginx app.kubernetes.io/version: 1.6.4 name: ingress-nginx-controller namespace: ingress-nginx spec: externalTrafficPolicy: Local ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - appProtocol: http name: http port: 80 protocol: TCP targetPort: http - appProtocol: https name: https port: 443 protocol: TCP targetPort: https selector: app.kubernetes.io/component: controller app.kubernetes.io/instance: ingress-nginx app.kubernetes.io/name: ingress-nginx type: NodePort 指定targetPort
在上述配置中,targetPort 是用来指定 Service 要代理的后端 Pod 的端口号。在这个例子中,Service 会将请求代理到后端 Pod 的 80 端口(targetPort: http)或 443 端口(targetPort: https)。这里的 targetPort 要与后端 Pod 中监听的端口一致,如果不一致,请求就无法到达后端 Pod。
阅读全文