CKA-2026-Gateway

张开发
2026/4/9 2:35:16 15 分钟阅读

分享文章

CKA-2026-Gateway
9、Gateway您必须连接到正确的主机。不这样做可能导致零分。[studentk8s-master1] $ ssh cka000000Task将现有Web应用程序从Ingress迁移到Gateway API。您必须维护 HTTPS访问权限。注意集群中安装了一个名为nginx的GatewayClass。首先创建一个名为web-gateway的Gateway主机名为gateway.web.k8s.local并保持现有名为web的Ingress资源的现有 TLS和侦听器配置。接下来创建一个名为web-route的HTTPRoute主机名为gateway.web.k8s.local并保持现有名为web的Ingress资源的现有路由规则。最后删除名为web的现有Ingress资源。参考链接https://kubernetes.io/docs/concepts/services-networking/gateway/步骤1kubectl get ingress web -o yaml web-ingress.yaml步骤2创建 Gatewayvim gateway.yamlapiVersion: gateway.networking.k8s.io/v1 # 使用的 Gateway API 版本v1 稳定版 kind: Gateway # 资源类型网关入口 metadata: name: web-gateway # Gateway 资源名称 spec: gatewayClassName: nginx # 指定使用的 Gateway 实现类这里用 nginx 网关控制器 listeners: # 监听器列表定义网关如何接收流量 - name: https # 监听器名称必须唯一 hostname: gateway.web.k8s.local # 该监听器匹配的域名严格匹配 port: 443 # 监听的端口号 protocol: HTTPS # 协议类型HTTPS需配置 TLS tls: # TLS 配置段 mode: Terminate # TLS 模式在网关侧终止 HTTPS 连接 certificateRefs: # 证书引用列表 - name: web-cert # 证书对应的 Secret 名称 kind: Secret # 引用的资源类型固定为 Secret group: # API 组空字符串表示核心 API 组步骤3创建kubectl apply -f gateway.yaml提示 created,表示创建成功步骤4.创建 HTTPRoutevim httproute.yamlapiVersion: gateway.networking.k8s.io/v1 # Gateway API 版本v1 稳定版 kind: HTTPRoute # 资源类型HTTP 路由规则 metadata: name: web-route # 路由规则名称 spec: parentRefs: # 父资源引用指定该路由附加到哪个 Gateway - name: web-gateway # 引用的 Gateway 名称与上面创建的 Gateway 对应 hostnames: # 该路由匹配的域名列表 - gateway.web.k8s.local # 完全匹配此主机名需与 Gateway listener 的 hostname 一致 rules: # 路由规则列表 - matches: # 匹配条件可多个 - path: # 路径匹配规则 type: PathPrefix # 匹配类型前缀匹配PathPrefix value: / # 匹配的路径值根路径 / backendRefs: # 后端服务引用列表 - name: web # 后端 Service 名称与 Ingress 中的 service name 对应 port: 80 # 后端 Service 端口号与 Ingress 中的 service port 对应步骤5创建kubectl apply -f httproute.yaml提示 created,表示创建成功检查kubectl get httproute步骤6删除 web ingresskubectl delete ingress web

更多文章