ULB Parameter Description
This article mainly describes the Annotations related to ULB when creating a Service of LoadBalancer type.
Parameter Notes
- Currently, other parameters are temporarily not supported for modification except for the bandwidth value of the EIP bound by the external network ULB, please configure carefully.
- The bandwidth value of the EIP bound by the public network ULB must be modified through Annotations. Annotations will overwrite the configuration modified by the console.
1. ULB Related Parameters Description
Note: After the Service is created, the following parameters are not allowed to be modified!!!
Field | Default Value | Description |
---|---|---|
service.beta.kubernetes.io/ucloud-load-balancer-type | outer | Load Balancer network type, enumerated values are inner / outer. |
service.beta.kubernetes.io/ucloud-load-balancer-vserver-protocol | tcp | VServer protocol type, enumerated values are tcp / udp / http / https. |
service.beta.kubernetes.io/ucloud-load-balancer-listentype | / | Load balancer type, enumerated values are packetstransmit / requestproxy / application (alb). 1. ULB type is request proxy, VServer protocol is tcp: this parameter is configured as requestproxy, vserver-protocol is configured as tcp; 2. ULB type is request proxy, VServer protocol is http / https: no need to configure this parameter, automatically per vserver-protocol configuration; 3. ULB type is packet forwarding, VServer protocol is tcp / udp: no need to configure this parameter, automatically per vserver-protocol configuration. Load balancer type and VServer protocol type detailed Description please refer to:Load Balancer Type 4. When ULB type is application, the created is alb (only supported after version 24.03.13), vserver can choose http/https |
service.beta.kubernetes.io/ucloud-load-balancer-vserver-method | roundrobin | The load balancing mode of VServer, enumerated values are roundrobin (polling), source (source address), consistenthash (consistent hashing), sourceport (source address calculation port), consistenthashport (port consistent hash), backup (master-slave, alb exclusive). |
service.beta.kubernetes.io/ucloud-load-balancer-vserver-client-timeout | 0/60 | When using ULB4, it represents the connection maintenance time, in seconds, the value is [60, 900], 0 indicates that connection maintenance is disabled, the default is 0 (no need to specify parameters). When using ULB7, it represents the recovery time of idle connections, in seconds, the value is (0, 86400], 0 indicates that connection maintenance is disabled, the default is 60. After specifying the parameter, persistence-type cannot be none. |
service.beta.kubernetes.io/ucloud-load-balancer-vserver-session-persistence-type | none | Session persistence mode, enumerated values are none (off), serverinsert (autogenerated KEY), userdefined (user-defined KEY). |
service.beta.kubernetes.io/ucloud-load-balancer-vserver-ssl-port | / | Ports that open the ssl protocol are separated by ”,”, it must be specified with ssl-cert. |
service.beta.kubernetes.io/ucloud-load-balancer-vserver-ssl-cert | / | SSL certificate ID. Must be specified with ssl-port. The certificate must be uploaded to Surfercloud. For the management of the SSL certificate used by the load balancer, please refer to the ULB documentation: Add Certificate |
service.beta.kubernetes.io/ucloud-load-balancer-vserver-session-persistence-info | / | User-defined KEY. Effective when persistence-type is userdefined. |
service.beta.kubernetes.io/ucloud-load-balancer-vserver-monitor-type | port | Health check method, enumerated values are port / path / customize. Request proxy TCP protocol only supports port, other protocols support port and path; Packet forwarding TCP protocol only supports port, UDP protocol supports port and customize; ALB supports port, HTTP |
service.beta.kubernetes.io/ucloud-load-balancer-vserver-monitor-domain | / | Effective when monitor-type is path, refers to http check domain. |
service.beta.kubernetes.io/ucloud-load-balancer-vserver-monitor-path | none | Effective when monitor-type is path, refers to http check path. The default value is empty, indicating that the root path / is checked; If you want to customize the path, just provide the part behind the root path, such as health or status/ready |
service.beta.kubernetes.io/ucloud-load-balancer-subnet-id | Default subnet of VPC | The subnet where ULB is created, fill in the subnet ID, such as subnet-xxxxxxxx. |
service.beta.kubernetes.io/ucloud-load-balancer-remove-unscheduled-backend | true | Remove unscheduled nodes, enumerated values true / false, will not be automatically removed by ULB when the node is unscheduled after setting to false. Only supported in cloudprovider version 21.04.1 and later. |
service.beta.kubernetes.io/ucloud-load-balancer-vserver-monitor-reqmsg | / | The request message sent by UDP health check, only effective when protocol is set to udp. Only supported in cloudprovider version 21.05.1 and later. |
service.beta.kubernetes.io/ucloud-load-balancer-vserver-monitor-respmsg | / | The response message that the UDP health check request should receive, only effective when the protocol is set to udp. Only supported in cloudprovider version 21.05.1 and later. |
service.beta.kubernetes.io/ucloud-load-balancer-paymode | month | alb payment mode, supports month (monthly payment), year (annual payment), dynamic (hourly payment). For ALB payment related information, please refer to: ALB Product Pricing |
service.beta.kubernetes.io/ucloud-load-balancer-quantity | 1 | alb payment duration, no need to fill in when chargetype is dynamic |
To view and upgrade the CloudProvider version, please refer to: CloudProvider Plugin Update
2. Parameters Description for EIP binding of public ULB
Note: After the Service is created, only the service.beta.kubernetes.io/ucloud-load-balancer-eip-bandwidth
can be modified, other parameters are not allowed to be modified!!!
Field | Default Value | Description |
---|---|---|
service.beta.kubernetes.io/ucloud-load-balancer-eip-paymode | bandwidth | Billing mode, supports traffic (traffic billing), bandwidth (bandwidth billing), sharebandwidth (shared bandwidth). |
service.beta.kubernetes.io/ucloud-load-balancer-eip-sharebandwidthid | / | Shared bandwidth ID, effective only when eip-paymode is sharebandwidth. |
service.beta.kubernetes.io/ucloud-load-balancer-eip-bandwidth | 2 | Public network bandwidth, in Mbps. No need to specify under shared bandwidth mode, or configure as 0; Under traffic billing mode, this parameter is the upper limit of traffic billing EIP bandwidth. |
service.beta.kubernetes.io/ucloud-load-balancer-eip-chargetype | month | Payment mode, supports month (monthly payment), year (annual payment), dynamic (hourly payment). |
service.beta.kubernetes.io/ucloud-load-balancer-eip-quantity | 1 | Payment duration, no need to fill in when chargetype is dynamic. |