Cka-2026-gateway解释

一、Gateway 修改原因

  1. metadata.name: example-gateway → web-gateway

· 原因:题目要求创建一个名叫 web-gateway 的网关。名字必须与题目一致,因为后面 HTTPRoute 要通过这个名字来引用它。

  1. gatewayClassName: example-class → nginx

· 原因:gatewayClassName 指定集群中实际运行的是哪个网关控制器(比如 Nginx、Envoy、Istio 等)。example-class 只是一个示例名字,不指向任何真实控制器;改成 nginx 表示你要使用 Nginx Gateway 实现(前提是集群已安装对应的 GatewayClass)。

  1. 监听器从 http:80 改为 https:443,并增加 hostname 和 tls

· 原因:

· 原来的 protocol: HTTP、port: 80 是明文传输,不安全。题目要求对外暴露服务,通常需要 HTTPS 加密。

· port: 443 是 HTTPS 的标准端口,浏览器访问时不需要手动写端口号。

· hostname: gateway.web.k8s.local:严格限定只处理这个域名的请求,避免其他域名的流量误入。

· tls 配置:既然要处理 HTTPS,就必须有证书来解密。mode: Terminate 表示网关自己解密(而不是透传给后端)。certificateRefs 指向存有证书的 Secret web-cert。

简单说:改这些是因为题目要的是一个安全的、绑定特定域名的 HTTPS 入口。


二、HTTPRoute 修改原因

  1. metadata.name: example-httproute → web-route

· 原因:题目明确要求路由资源名为 web-route,保持唯一性和可识别性。

  1. parentRefs0.name: example-gateway → web-gateway

· 原因:这条路由要挂载到刚才创建的 web-gateway 上,而不是旧的 example-gateway。parentRefs 就是用来建立路由与网关的关联的。

  1. hostnames: "www.example.com" → "gateway.web.k8s.local"

· 原因:网关只监听 gateway.web.k8s.local 这个域名,所以路由必须声明同一个域名,否则请求会被拒绝。域名不一致就无法匹配。

  1. matches0.path.value: /login → /

· 原因:原示例只匹配 /login 路径,意味着只有访问 /login 才会被转发。题目要求的是"所有路径"(相当于 Ingress 里的 paths: /),所以改成根路径 /。PathPrefix 类型下,/ 匹配所有请求。

  1. backendRefs.name: example-svc → web

· 原因:后端服务名字变了,题目要求转发给名为 web 的 Service(而不是 example-svc)。这是实际业务服务的名称。

  1. backendRefs.port: 8080 → 80

· 原因:目标 Service web 监听的端口是 80(常见 HTTP 端口),而不是 8080。端口必须匹配 Service 的定义,否则流量发不过去。


三、整体逻辑串联

  1. 网关定义入口:用 web-gateway 在 443 端口、域名 gateway.web.k8s.local 上接收 HTTPS 请求,证书从 web-cert 获取。

  2. 路由定义转发:用 web-route 挂载到 web-gateway,对所有路径(/)的请求,转发到 web Service 的 80 端口。

  3. 所有名字、域名、端口、路径都必须前后一致,否则流量无法正常流入后端。

一句话总结修改原因:题目要求的是一个特定的 HTTPS 网关加全路径路由,因此要把示例中的占位符(example-xxx、/login、8080、HTTP 等)全部换成题目给出的真实值。

相关推荐
万里侯3 小时前
GitOps 漂移检测:集群里改了配置,Git 还以为一切正常
微服务·容器·k8s
spider_xcxc2 天前
云上网络基石(阿里云):深入解读阿里云VPC及其应用生态
网络·阿里云·云计算·k8s·运维开发·虚拟化
weixin_439930643 天前
Kubernetes(K8s)入门实践
云原生·容器·kubernetes·k8s
AOwhisky4 天前
kubernetes(K8s)学习笔记:第十期与第十一期核心知识点自测与详解
运维·笔记·云原生·kubernetes·云计算·k8s·hpa
赵丙双6 天前
美团 Leaf-snowflake 分布式 ID 生成器 k8s 改造的想法
k8s·snowflake·分布式id生成器·美团 leaf
AOwhisky6 天前
Kubernetes(K8s)学习笔记(第十四期):集群存储与有状态应用(下篇):StatefulSet 有状态应用管理
redis·笔记·mysql·云原生·kubernetes·云计算·k8s
AOwhisky6 天前
kubernetes(K8s)学习笔记:第八期与第九期核心知识点自测与详解
笔记·云原生·kubernetes·云计算·k8s·集群·网络策略
Sean‘6 天前
GitLab 升级后 502:Puma 反复重启问题处理记录
docker·gateway·gitlab
Hadoop_Liang24 天前
使用Kubernetes Gateway API实现域名访问应用
容器·kubernetes·gateway
worilb24 天前
Spring Cloud 学习与实践(9):Gateway + JWT 统一鉴权
学习·spring cloud·gateway