Ingress 是 Kubernetes 的七层(HTTP/HTTPS)流量入口控制器,通过单一 IP/域名将外部请求路由到不同 Service,替代多个 LoadBalancer 节省成本。


实验要求

  • 如下创建新的 Ingress 资源:
    • 名称: echo
    • Namespace: sound-repeater
    • 使用 Service 端口 8080 在 http://example.org/echo 上公开 echoserver-service Service。
  • 可以使用以下命令检查 echoserver-service Service 的可用性,该命令应返回 Hello World _

参考链接: https://kubernetes.io/docs/concepts/services-networking/ingress/
难度: ⭐


# 0. 环境确认

Ingress 是 Cluster 级别的资源,而非 Namespace 级别的

# 1. 查询ingressClassName

# 2. 创建 ingress

# 3. 创建并验证


# 补充内容

# Ingress Annotations

一句话总结

在这个例子中,rewrite-target: / 让后端服务收到 / 而不是 /echo,确保后端能正确处理请求

nginx.ingress.kubernetes.io/rewrite-target: / 是 Nginx Ingress Controller 专用的配置。

Annotations 翻译为“注解”实际上并不妥当,它不是类似于编程语言的注释,而是给第三方插件阅读的

# 🔄 作用:URL 重写

原因

说明

后端路径不匹配

后端服务可能只监听 /,不识别 /echo

路径隐藏

不想让后端知道前端的路径结构

统一入口

多个 Ingress 路径指向同一个后端根路径

# ⚠️ 为什么需要?

原因

说明

后端路径不匹配

后端服务可能只监听 /,不识别 /echo

路径隐藏

不想让后端知道前端的路径结构

统一入口

多个 Ingress 路径指向同一个后端根路径

# 📝 常见 Nginx Ingress 注解

注解

作用

nginx.ingress.kubernetes.io/rewrite-target

URL 重写

同上/ssl-redirect

强制 HTTPS

同上/proxy-body-size

请求体大小限制

同上/rate-limit

限流


更新于

请我喝[茶]~( ̄▽ ̄)~*

Plusjia&Bondrewd 微信支付

微信支付

Plusjia&Bondrewd 支付宝

支付宝