Service Annotations說明
更新時間 2024-01-05 16:04:22
最近更新時間: 2024-01-05 16:04:22
分享文章
本文主要介紹 Service Annotations說明。
CCE提供一些使用Service的高級功能,這些功能使用時可以通過給YAML添加注解Annotation實現。具體的Annotation如下表所示。
Service的Annotation主要是Service對接ELB時需要指定的參數。
Service Annotation
| 參數 | 類型 | 描述 | 控制臺默認取值 | 支持的集群版本 |
|---|---|---|---|---|
| kubernetes.io/elb.class | String | 請根據不同的應用場景和功能需求選擇合適的負載均衡器類型。取值如下: union:共享型負載均衡。 performance:獨享型負載均衡,僅支持1.17及以上集群 |
performance | v1.9及以上 |
| kubernetes.io/elb.id | String | 為負載均衡實例的ID,取值范圍:1-100字符。在關聯已有ELB時:必填。獲取方法:在控制臺的“服務列表”中, 單擊“網絡 > 彈性負載均衡 ELB”,單擊ELB的名稱,在ELB詳情頁的“基本信息”頁簽下找到“ID”字段復制即可。 |
無 | v1.9及以上 |
| kubernetes.io/elb.protocol-port | String | Service使用7層能力配置端口。詳細使用請參見Service使用HTTP。 | 無 | v1.19.16及以上 |
| kubernetes.io/elb.cert-id | String | Service使用7層能力配置HTTPS證書。詳細使用請參見Service使用HTTP。 | 無 | v1.19.16及以上 |
| kubernetes.io/elb.subnet-id | String | 為集群所在子網的ID,取值范圍:1-100字符。l Kubernetes v1.11.7-r0及以下版本的集群自動創建時:必填l Kubernetes v1.11.7-r0以上版本的集群:可不填。 | 無 | v1.11.7-r0以下必填v1.11.7-r0以上該字段廢棄 |
| kubernetes.io/elb.enterpriseID | String | v1.15及以上版本的集群支持此字段,v1.15以下版本默認創建到default項目下。 為ELB企業項目ID,選擇后可以直接創建在具體的ELB企業項目下。該字段不傳(或傳為字符串'0'),則將資源綁定給默認企業項目。 獲取方法:登錄控制臺后,單擊頂部菜單右側的“企業 > 項目管理”,在打開的企業項目列表中單擊要加入的企業項目名稱, 進入企業項目詳情頁,找到“ID”字段復制即可。 |
無 | v1.15及以上 |
| kubernetes.io/elb.autocreate | 自動創建service關聯的ELB**示例: 公網自動創建:值為'{"type":"public","bandwidth_name":"cce-bandwidth-1551163379627","bandwidth_chargemode": "bandwidth","bandwidth_size":5,"bandwidth_sharetype":"PER","eip_type":"5_bgp","name":"james"}'l 私網自動創建: 值為'{"type":"inner", "name": "A-location-d-test"}' |
無 | v1.9及以上 | |
| kubernetes.io/elb.adaptive-weight | String | 根據Pod動態調整ELB后端云主機的權重。每個Pod收到的負載請求更加均衡。 開啟:truel 關閉:false該參數僅1.21及以上集群適用,且ELB直通Pod場景下無效。 |
無 | v1.21及以上 |
| kubernetes.io/elb.lb-algorithm | String | 后端云主機組的負載均衡算法。取值范圍: ROUND_ROBIN:加權輪詢算法。 LEAST_CONNECTIONS:加權最少連接算法。 SOURCE_IP:源IP算法。當該字段的取值為SOURCE_IP時,后端云主機組綁定的后端的weight字段無效。云主機 |
ROUND_ROBIN | v1.9及以上 |
| kubernetes.io/elb.health-check-flag | String | 是否開啟ELB健康檢查功能。 開啟:“(空值)”或“on” 關閉:“off”開啟時需同時填寫kubernetes.io/elb.health-check-option字段。 |
off | v1.9及以上 |
| kubernetes.io/elb.health-check-option | ELB健康檢查配置選項。 | 無 | v1.9及以上 | |
| kubernetes.io/elb.pass-through | String | 集群內訪問Service是否經過ELB。 | 無 | v1.19及以上 |
| kubernetes.io/elb.session-affinity-mode | String | 負載均衡監聽是基于IP地址的會話保持,即來自同一IP地址的訪問請求轉發到同一臺后端服務器上。 不啟用:不填寫該參數。 開啟會話保持:需增加該參數,取值“SOURCE_IP”,表示基于源IP地址。 |
無 | v1.9及以上 |
| kubernetes.io/elb.acl-id | String | 為ELB設置IP地址黑名單或白名單時需填寫,參數值為ELB的IP地址組ID。 該參數僅獨享型ELB生效,且僅在新建Service或指定新的服務端口(監聽器)時生效。 |
無 | v1.19.16v1.21.4 |
| kubernetes.io/elb.acl-status | String | 為ELB設置IP地址黑名單或白名單時需填寫,取值為'on',表示開啟訪問控制。 | 無 | v1.19.16v1.21.4 |
| kubernetes.io/elb.acl-type | String | 為ELB設置IP地址黑名單或白名單時需填寫。l black:表示黑名單,所選IP地址組無法訪問ELB地址。 white:表示白名單,僅所選IP地址組可以訪問ELB地址。該參數僅獨享型ELB生效,且僅在新建Service或指定新的服務端口(監聽器)時生效。 |
無 | v1.19.16v1.21.4 |
| kubernetes.io/elb.session-affinity-option | ELB會話保持配置選項,可設置會話保持的超時時間。 | 無 | v1.9及以上 | |
| kubernetes.io/hws-hostNetwork | Boolean | 為標記工作負載服務是否使用主機網絡模式。如果Pod使用的主機網絡,開啟這個annotation會ELB轉發到主機網絡的方式對接。 取值范圍:“true”或者“false”默認是“false”,表示未使用主機網絡。 |
無 | v1.9及以上 |
elb.autocreate字段數據結構說明
| 參數 | 是否必填 | 參數類型 | 描述 |
|---|---|---|---|
| name | 否 | String | 自動創建的負載均衡的名稱。取值范圍:1-64個字符,小寫字母,數字,下劃線,小寫字母開頭, 小寫字母或者數字結尾。默認名稱:cce-lb+service.UID |
| type | 否 | String | 負載均衡實例網絡類型,公網或者私網。 public:公網型負載均衡l inner:私網型負載均衡默認類型:inner |
| bandwidth_name | 公網型負載均衡必填 | String | 帶寬的名稱,默認值為:cce-bandwidth-******。取值范圍:1-64個字符,小寫字母, 數字,下劃線,小寫字母開頭,小寫字母或者數字結尾。 |
| bandwidth_chargemode | 否 | String | 帶寬付費模式。 bandwidth:按帶寬 traffic:按流量默認類型:bandwidth |
| bandwidth_size | 公網型負載均衡必填 | Integer | 帶寬大小,默認1Mbit/s~2000Mbit/s,請根據Region帶寬支持范圍設置。 |
| bandwidth_sharetype | 公網型負載均衡必填 | String | 帶寬共享方式。 PER:獨享帶寬 |
| eip_type | 公網型負載均衡必填 | String | 彈性公網IP類型。 |
| vip_subnet_cidr_id | 否 | String | 指定ELB所在的子網。1.21及以上版本支持。如不指定,則ELB與集群在同一個子網。 |
| available_zone | 是 | Array of strings | 負載均衡所在可用區。獨享型負載均衡器獨有字段。 |
| l4_flavor_name | 是 | String | 四層負載均衡實例規格名稱。獨享型負載均衡器獨有字段。 |
| l7_flavor_name | 否 | String | 七層負載均衡實例規格名稱。獨享型負載均衡器獨有字段。 |
| elb_virsubnet_ids | 否 | Array of strings | 負載均衡后端所在子網,不填默認集群子網。不同實例規格將占用不同數量子網IP,不建議使用其他資源(如集群,節點等)的子網網段。 獨享型負載均衡器獨有字段。示例:"elb_virsubnet_ids": [ "14567f27-8ae4-42b8-ae47-9f847a4690dd" ] |
elb.health-check-option字段數據結構說明
| 參數 | 是否必填 | 參數類型 | 描述 |
|---|---|---|---|
| delay | 否 | String | 開始健康檢查的初始等待時間(秒)默認值:5,取值范圍:1-50 |
| timeout | 否 | String | 健康檢查的超時時間(秒)默認值:10,取值范圍1-50 |
| max_retries | 否 | String | 健康檢查的最大重試次數默認值:3,取值范圍1-10 |
| protocol | 否 | String | 健康檢查的協議默認值:取關聯服務的協議取值范圍:“TCP”、“UDP”或者“HTTP” |
| path | 否 | String | 健康檢查的URL,協議是“HTTP”時配置默認值:“/”取值范圍:1-10000字符 |
elb.session-affinity-option字段數據結構說明
| 參數 | 是否必填 | 參數類型 | 描述 |
|---|---|---|---|
| persistence_timeout | 是 | String | 當elb.session-affinity-mode是“SOURCE_IP”時生效,設置會話保持的超時時間(分鐘)。默認值為:60,取值范圍:1-60。 |