ALB Ingress配置词典

为了方便您发现和解决各类配置的格式问题,本文列举了ALB Ingress支持的Annotation(注解)以及AlbConfig字段的具体内容和用法,包含ALB的配置信息,例如转发规则、会话保持策略、健康检查配置等。

ALB Ingress支持的Annotation

请根据需求将注解(Annotation)添加到ALB Ingress资源上,以配置与ALB相关的属性。

健康检查

注解项(Annotation)

取值

默认值

说明

alb.ingress.kubernetes.io/healthcheck-enabled

  • true

  • false

false

是否开启后端服务器组的健康检查。

alb.ingress.kubernetes.io/healthcheck-path

string

/

健康检查路径。

alb.ingress.kubernetes.io/healthcheck-protocol

  • HTTP

  • TCP

HTTP

健康检查协议。

alb.ingress.kubernetes.io/healthcheck-method

  • HEAD

  • POST

  • GET

HEAD

健康检查的方法。

alb.ingress.kubernetes.io/healthcheck-httpcode

http_2xx、http_3xx、http_4xx、http_5xx

http_2xx

健康检查状态码。

可以选择http_2xx、http_3xx、http_4xx、http_5xx范围内的一个或多个状态码。

alb.ingress.kubernetes.io/healthcheck-timeout-seconds

1~300

5

健康检查超时时间,单位秒(s)。

alb.ingress.kubernetes.io/healthcheck-interval-seconds

1~50

2

健康检查周期。

alb.ingress.kubernetes.io/healthy-threshold-count

2~10

3

健康检查成功多少次判定为成功。

alb.ingress.kubernetes.io/unhealthy-threshold-count

2~10

3

健康检查失败多少次判定为失败。

alb.ingress.kubernetes.io/healthcheck-connect-port

0~65535

0

健康检查端口。

0表示使用后端服务器的端口进行健康检查。

重定向

注解项(Annotation)

取值

默认值

说明

alb.ingress.kubernetes.io/ssl-redirect

  • true

  • false

false

是否将HTTP请求(301)重定向到HTTPS(443)。

后端服务使用的协议

注解项(Annotation)

取值

默认值

说明

alb.ingress.kubernetes.io/backend-protocol

  • http

  • https

  • grpc

http

  • HTTP监听支持的后端服务器组协议为HTTP、HTTPS。

  • HTTPS监听支持的后端服务器组协议为HTTP、HTTPS、gRPC。

  • QUIC监听支持的后端服务器组协议为HTTP。

重写

注解项(Annotation)

取值

默认值

说明

alb.ingress.kubernetes.io/rewrite-target

string

路径重写的地址。

监听

注解项(Annotation)

取值

默认值

说明

alb.ingress.kubernetes.io/listen-ports

  • '[{"HTTP": 80}]'

  • '[{"HTTPS": 443}]'

  • '[{"HTTP": 80},{"HTTPS": 443}]'

  • '[{"QUIC": 443}]'

'[{"HTTP": 80},{"HTTPS": 443}]'

关联监听端口与协议。

优先级

注解项(Annotation)

取值

默认值

说明

alb.ingress.kubernetes.io/order

1~1000

10

转发规则的相对优先级。

灰度发布

注解项(Annotation)

取值

默认值

说明

alb.ingress.kubernetes.io/canary

  • true

  • false

false

是否启用Canary灰度。

alb.ingress.kubernetes.io/canary-by-header

string

启用灰度时命中的请求标头。

alb.ingress.kubernetes.io/canary-by-header-value

string

启用灰度时命中的请求标头对应的标头值。

alb.ingress.kubernetes.io/canary-by-cookie

string

启用灰度时的Cookie标记。

alb.ingress.kubernetes.io/canary-weight

string

启动灰度时请求到指定服务的百分比(值为0~100的整数)。

会话保持

注解项(Annotation)

取值

默认值

说明

alb.ingress.kubernetes.io/sticky-session

  • true

  • false

false

是否开启后端服务器组会话保持。

alb.ingress.kubernetes.io/sticky-session-type

  • Insert

  • Server

Insert

开启会话保持的类型。

alb.ingress.kubernetes.io/cookie-timeout

1~86400

1000

会话保持超时时间,单位秒(s)。

负载均衡

注解项(Annotation)

取值

默认值

说明

alb.ingress.kubernetes.io/backend-scheduler

  • wrr(加权轮询)

  • wlc(加权最小连接数)

  • sch(源地址哈希)

  • uch(URI哈希)

wrr

后端服务器组负载均衡算法。

alb.ingress.kubernetes.io/backend-scheduler-uch-value

string

负载均衡算法为uch时的辅助参数。

跨域

注解项(Annotation)

取值

默认值

说明

alb.ingress.kubernetes.io/enable-cors

  • true

  • false

false

是否启用跨域配置。

alb.ingress.kubernetes.io/cors-allow-origin

string

*

允许跨域的源。

alb.ingress.kubernetes.io/cors-expose-headers

stringArray

允许暴露的Header列表。

alb.ingress.kubernetes.io/cors-allow-methods

以下选项选择一项或多项:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • OPTIONS

  • PATCH

"GET, PUT, POST, DELETE, PATCH, OPTIONS"

允许跨域的请求方法。

alb.ingress.kubernetes.io/cors-allow-credentials

  • true

  • false

true

跨域是否允许携带凭证信息。

alb.ingress.kubernetes.io/cors-max-age

-1~172800(秒)

172800

预检请求在浏览器最大的缓存时间。

alb.ingress.kubernetes.io/cors-allow-headers

stringArray

"DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization"

允许跨域的Header列表。

自定义转发

注解项(Annotation)

取值

默认值

说明

alb.ingress.kubernetes.io/actions.{svcName}

json

自定义转发动作。

alb.ingress.kubernetes.io/conditions.{svcName}

json

自定义转发条件。

alb.ingress.kubernetes.io/rule-direction.{svcName}

  • Request

  • Response

Request

自定义转发方向。

其他

注解项(Annotation)

取值

默认值

说明

alb.ingress.kubernetes.io/backend-keepalive

  • true

  • false

false

是否启用后端长链接。

alb.ingress.kubernetes.io/traffic-limit-qps

1~100000

QPS限速配置。

alb.ingress.kubernetes.io/use-regex

  • true

  • false

false

允许Path字段使用正则,仅在Prefix类型下生效。

ALB Ingress的AlbConfig字段

AlbConfig是用来描述ALB实例及监听的自定义资源CRD,关于字段的详细描述,请参见下文。

Albconfig

字段

取值

默认值

说明

apiVersion

alibabacloud.com/v1

APIVersion定义了该对象的版本化模式。

kind

AlbConfig

Kind表示该对象所代表的REST资源。

metadata

ObjectMeta

标准对象的metadata。

关于metadata的更多信息,请参见metadata

spec

AlbConfigSpec

用来描述ALB实例属性和监听属性的参数列表。

status

AlbConfigStatus

在调和成功后,会将实例状态写入status中,写入的值表示实例的当前状态。

AlbConfigSpec

字段

取值

默认值

说明

config

LoadBalancerSpec

ALB实例的属性。

listeners

ListenerSpec

实例下的监听属性。

LoadBalancerSpec

字段

取值

默认值

说明

id

string

""

ALB实例ID,填写代表启用复用模式。

name

string

k8s-{namespace}-{name}-{hashCode}

ALB实例名。

addressAllocatedMode

  • Dynamic

  • Fixed

Dynamic

实例的地址模式。

addressType

  • Internet

  • Intranet

Internet

ALB实例的IPv4网段地址类型。

ipv6AddressType

  • Internet

  • Intranet

Intranet

ALB的IPv6网段地址类型。

addressIpVersion

  • IPv4

  • DualStack

IPv4

协议版本。

resourceGroupId

string

默认资源组

实例所属的资源组ID。

edition

  • Standard

  • StandardWithWaf

Standard

实例功能版本。

deletionProtectionEnabled

*bool

null

保留字段,目前不可调整,强制保留。

forceOverride

*bool

false

复用模式下强制覆盖实例属性。

listenerForceOverride

*bool

null

复用模式下强制覆盖监听属性。

zoneMappings

ZoneMapping

可用区和EIP配置。

accessLogConfig

AccessLogConfig

日志收集。

billingConfig

BillingConfig

计费方式。

modificationProtectionConfig

ModificationProtectionConfig

配置修改保护。

tags

Tag

实例标签。

ZoneMapping

字段

取值

默认值

说明

vSwitchId

string

""

必填。

虚拟交换机的ID。

zoneId

string

""

自动装填。

虚拟交换机的可用区。

allocationId

string

""

弹性公网EIP的ID。

eipType

string

""

保留字段。

AccessLogConfig

字段

取值

默认值

说明

logStore

string

""

SLS日志库的名称。

logProject

string

""

SLS日志项目的名称。

BillingConfig

字段

取值

默认值

说明

internetBandwidth

int

0

保留字段。

internetChargeType

string

""

保留字段。

payType

PostPay

PostPay

计费方式。

bandWidthPackageId

string

""

绑定共享带宽包ID。绑定后不支持解绑。

ModificationProtectionConfig

字段

取值

默认值

说明

reason

string

""

保留字段。

status

string

""

保留字段。

Tag

字段

取值

默认值

说明

key

""

""

标签的Key值。

value

""

""

标签的Value值。

ListenerSpec

字段

取值

默认值

说明

gzipEnabled

  • null

  • true

  • false

null

是否开启压缩。

http2Enabled

  • null

  • true

  • false

null

是否开启HTTP2协议。

port

  • int

  • string

0

必填。

监听端口。

protocol

  • HTTP

  • HTTPS

  • QUIC

""

必填。

监听协议。

securityPolicyId

string

""

TLS安全策略的ID。

idleTimeout

int

60

空闲链接超时时间。

说明

取值为0,表示使用默认的空闲超时值。

loadBalancerId

string

""

保留字段。

description

string

ingress-auto-listener-{port}

监听名。

caEnabled

bool

false

保留字段。

requestTimeout

int

60

请求超时时间。

quicConfig

QuicConfig

Quic监听配置。

defaultActions

Action

null

保留字段。

caCertificates

Certificate

null

保留字段。

certificates

Certificate

null

监听服务器证书。

xForwardedForConfig

XForwardedForConfig

XForward字段配置信息。

logConfig

LogConfig

保留字段。

aclConfig

AclConfig

访问控制。

QuicConfig

字段

取值

默认值

说明

quicUpgradeEnabled

bool

false

是否开启Quic升级。

quicListenerId

string

""

Quic的关联监听。

Certificate

字段

取值

默认值

说明

IsDefault

bool

false

指示证书是否为默认证书。

说明

一个服务或系统只能指示一个证书为默认证书。

CertificateId

string

""

证书CertIdentifier的ID。

XForwardedForConfig

字段

取值

默认值

说明

XForwardedForClientCertSubjectDNAlias

string

""

自定义头名称。

仅当XForwardedForClientCertSubjectDNEnabled的值为true时,此值才会生效。

XForwardedForClientCertSubjectDNEnabled

bool

false

是否通过X-Forwarded-Clientcert-subjectdn头字段获取访问负载均衡实例客户端证书的所有者信息。

XForwardedForProtoEnabled

bool

false

是否通过X-Forwarded-Proto头字段获取负载均衡实例的监听协议。

XForwardedForClientCertIssuerDNEnabled

bool

false

是否通过X-Forwarded-Clientcert-issuerdn头字段获取访问负载均衡实例客户端证书的发行者信息。

XForwardedForSLBIdEnabled

bool

false

是否通过X-Forwarded-For-SLB-ID头字段获取负载均衡实例ID。

XForwardedForClientSrcPortEnabled

bool

false

是否通过X-Forwarded-Client-Port头字段获取访问负载均衡实例客户端的端口。

XForwardedForClientCertFingerprintEnabled

bool

false

是否通过X-Forwarded-Clientcert-fingerprint头字段获取访问负载均衡实例客户端证书的指纹取值

XForwardedForEnabled

bool

false

是否通过X-Forwarded-For头字段获取来访者真实IP。

XForwardedForSLBPortEnabled

bool

false

是否通过X-Forwarded-Port头字段获取负载均衡实例的监听端口。

XForwardedForClientCertClientVerifyAlias

string

""

自定义头名称。

仅当XForwardedForClientCertClientVerifyEnabled的值为true的时候,该值才会生效。

XForwardedForClientCertIssuerDNAlias

string

""

自定义头名称。

仅当XForwardedForClientCertIssuerDNEnabled的值为true的时候,此值才会生效。

XForwardedForClientCertFingerprintAlias

string

""

自定义头名称。

仅当XForwardedForClientCertFingerprintEnabled的值为true时,该值才会生效。

XForwardedForClientCertClientVerifyEnabled

bool

false

是否通过X-Forwarded-Clientcert-clientverify头字段获取对访问负载均衡实例客户端证书的校验结果。

AclConfig

字段

取值

默认值

说明

aclName

string

AclEntry模式下关联的ACL策略名。

aclType

  • Black

  • White

""

策略类型,黑白名单。

aclEntries

string

null

直接写访问策略条目的。

aclIds

stringArray

null

关联已经存在的策略ID列表。

AlbConfigStatus

字段

输出内容

默认值

说明

loadBalancer

LoadBalancerStatus

负载均衡状态实例。

LoadBalancerStatus

字段

输出内容

默认值

说明

dnsname

string

ALB实例的DNS地址。

id

string

ALB实例ID。

listeners

ListenerStatus

ALB监听属性。

ListenerStatus

字段

输出内容

示例值

说明

portAndProtocol

string

80/HTTP

监听与协议。

certificates

AppliedCertificate

关联证书。

AppliedCertificate

字段

输出内容

示例值

说明

certificateId

string

xxxx-cn-hangzhou

证书的标识符(certIdentifier)。

isDefault

bool

true

是否为默认证书。

相关文档