更新时间:2024-10-14 GMT+08:00

为ELB Ingress配置HTTPS协议的后端服务

Ingress可以对接不同协议的后端服务,在默认情况下Ingress的后端代理通道是HTTP协议的,若需要建立HTTPS协议的通道,可在annotation字段中加入如下配置:

kubernetes.io/elb.pool-protocol: https

约束与限制

  • 仅支持v1.23.8和v1.25.3及以上集群版本使用该能力。
  • 仅使用独享型ELB时,Ingress支持对接HTTPS协议的后端服务。
  • 对接HTTPS协议的后端服务时,Ingress的对外协议也需要选择HTTPS。

对接HTTPS协议的后端服务

Ingress配置示例如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-test
  namespace: default
  annotations:
    kubernetes.io/elb.port: '443'
    kubernetes.io/elb.id: <your_elb_id>    #本示例中使用已有的独享型ELB,请替换为您的独享型ELB ID
    kubernetes.io/elb.class: performance
    kubernetes.io/elb.pool-protocol: https  # 对接HTTPS协议的后端服务
    kubernetes.io/elb.tls-ciphers-policy: tls-1-2
spec:
  tls: 
    - secretName: ingress-test-secret
  rules:
    - host: ''
      http:
        paths:
          - path: '/'
            backend:
              service:
                name: <your_service_name>  #替换为您的目标服务名称
                port:
                  number: 80
            property:
              ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH
            pathType: ImplementationSpecific
  ingressClassName: cce