全部產品
Search
文件中心

Container Compute Service:ALB Ingress配置詞典

更新時間:Dec 11, 2024

為了方便您發現和解決各類配置的格式問題,本文列舉了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頭欄位擷取訪問Server Load Balancer執行個體用戶端認證的所有者資訊。

XForwardedForProtoEnabled

bool

false

是否通過X-Forwarded-Proto頭欄位擷取Server Load Balancer執行個體的監聽協議。

XForwardedForClientCertIssuerDNEnabled

bool

false

是否通過X-Forwarded-Clientcert-issuerdn頭欄位擷取訪問Server Load Balancer執行個體用戶端認證的發行者資訊。

XForwardedForSLBIdEnabled

bool

false

是否通過X-Forwarded-For-SLB-ID頭欄位擷取Server Load Balancer執行個體ID。

XForwardedForClientSrcPortEnabled

bool

false

是否通過X-Forwarded-Client-Port頭欄位擷取訪問Server Load Balancer執行個體用戶端的連接埠。

XForwardedForClientCertFingerprintEnabled

bool

false

是否通過X-Forwarded-Clientcert-fingerprint頭欄位擷取訪問Server Load Balancer執行個體用戶端認證的指紋取值

XForwardedForEnabled

bool

false

是否通過X-Forwarded-For頭欄位擷取來訪者真實IP。

XForwardedForSLBPortEnabled

bool

false

是否通過X-Forwarded-Port頭欄位擷取Server Load Balancer執行個體的監聽連接埠。

XForwardedForClientCertClientVerifyAlias

string

""

自訂頭名稱。

僅當XForwardedForClientCertClientVerifyEnabled的值為true的時候,該值才會生效。

XForwardedForClientCertIssuerDNAlias

string

""

自訂頭名稱。

僅當XForwardedForClientCertIssuerDNEnabled的值為true的時候,此值才會生效。

XForwardedForClientCertFingerprintAlias

string

""

自訂頭名稱。

僅當XForwardedForClientCertFingerprintEnabled的值為true時,該值才會生效。

XForwardedForClientCertClientVerifyEnabled

bool

false

是否通過X-Forwarded-Clientcert-clientverify頭欄位擷取對訪問Server Load Balancer執行個體用戶端認證的校正結果。

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

是否為預設認證。

相關文檔