java - Ingress 不适用于 Kubernetes 基础架构
问题描述
我使用 Spring Cloud 在 Google Cloud Platform 上的 Kubernetes(版本:1.20.9-gke.1001)上创建了一个微服务基础架构。
首先,我创建了以下部署:Eureka(服务发现)、Zuul(API 网关)、Zipkin(分布式跟踪系统)、用户服务和身份验证服务。
然后我创建了以下服务:具有“Cluster IP”类型的 eureka-service,允许其他 Pod 连接到 Eureka,具有“Cluster IP”类型的 zipkin-service,允许其他 Pod 连接到 Zipkin 和具有“外部负载”的 loadbalancer-service平衡器”类型,连接到 Zuul。
最后,我尝试使用附加的 yaml 文件创建一个 Ingress,但在我尝试执行的每个请求时,我都会收到以下错误:“响应 404(后端未找到),路径的服务规则不存在”。而如果我尝试使用负载平衡器服务的外部 IP 调用 API,则后端可以正常工作。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: project-ingress
annotations:
kubernetes.io/ingress.class: "gce"
spec:
rules:
- host: project.test.com
http:
paths:
- path: /*
pathType: ImplementationSpecific
backend:
service:
name: loadbalancer-service
port:
number: 8765
你知道为什么 Ingress 不工作吗?
另外我需要使用 HTTPS 公开服务,您能否向我解释一下如何在 Ingress 中使用现有的安全证书?
谢谢,这是我第一次使用 Kubernetes,当然欢迎任何关于如何改进基础设施的建议。
解决方案
推荐阅读
- bash - 从 WSL 会话内部关闭或重新启动 WSL 会话
- c# - 从方法访问类项
- laravel - Laravel 数据迁移的推荐/标准处理
- spring-boot - Spring Boot Hibernate 没有获取 use-new-id-generator-mappings 属性
- python - 使用 chunksize 从 s3 将 CSV 文件加载到 Pandas
- angular - Angular - 管道和 elvis 运算符 (?) 导致更快地调用 getter
- nginx - NGINX 背后的 Kubectl 代理:无效的升级响应
- javascript-automation - JXA '无法转换类型'
- pytorch - 无法使用 transforms.Resize 重新缩放图像
- laravel - Laravel 合集搜索