SorryToPerson logo
返回
Kubernetes2026-04-15·8 分钟

Kubernetes Ingress 与服务网格

介绍 Kubernetes Ingress 配置、服务网格概念和常见部署方式。

Kubernetes Ingress 与服务网格

1. Ingress 基础

  • Ingress 提供集群外部访问集群内服务的入口。
  • 需要一个 Ingress Controller(如 Nginx Ingress、Traefik、Istio Gateway)。

2. 简单 Ingress 配置

yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: myapp-ingress
spec:
  rules:
    - host: example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: myapp-service
                port:
                  number: 80

3. TLS 配置

yaml
spec:
  tls:
    - hosts:
        - example.com
      secretName: tls-secret
  • TLS Secret 通常由 Cert Manager 或手动创建。

4. 服务网格概念

  • 服务网格负责服务间通信、流量管理、可观测性和安全。
  • 常见实现:Istio、Linkerd、Consul Mesh。

5. 服务网格核心组件

  • Sidecar 代理:注入到 Pod 中处理流量。
  • 控制平面:管理流量策略、证书、监控。
  • 数据平面:实际转发请求,执行策略。

6. 与 Nginx Ingress 的区别

  • Ingress 关注北向流量接入。
  • 服务网格关注东西向服务间通信。

7. 常见使用场景

  • 使用 Ingress 暴露 HTTP/HTTPS 服务。
  • 在服务网格中实现灰度发布、流量拆分、熔断和限流。

8. 诊断与排查

  • kubectl describe ingress 检查规则。
  • 查看 Ingress Controller 日志。
  • 确认 Service 和 Endpoints 是否就绪。
KubernetesIngress服务网格