为负载均衡类型的Service配置HTTP协议
配置HTTP协议Service
在工作负载创建完成后对Service进行配置,此配置对工作负载状态无影响,且实时生效。具体操作如下:
- 登录云容器实例 CCI2.0控制台。
- 左侧导航栏中选择“服务管理”,在右侧页面单击“YAML创建”。
- 导入或者添加Service yaml。
Service文件格式说明
- Service.yaml资源描述
apiVersion: cci/v2 kind: Service metadata: name: kubectl-test namespace: kubectl annotations: kubernetes.io/elb.class: elb kubernetes.io/elb.id: 1234567890 #关联的elb id,只支持独享型elb,不支持共享型elb。 kubernetes.io/elb.protocol-port: "http:80" # HTTP协议及端口号,需要与spec.ports中的端口号对应 spec: selector: app: kubectl-test #关联的负载label。 ports: - name: service-0 targetPort: 80 #容器开放的端口。 port: 80 #访问端口。 protocol: TCP #协议需指定为TCP。 type: LoadBalancer
- Service.json资源描述
{ "apiVersion": "cci/v2", "kind": "Service", "metadata": { "name": "kubectl-test", "namespace": "kubectl", "annotations": { "kubernetes.io/elb.class": "elb", "kubernetes.io/elb.id": "1234567890" #关联的elb id,只支持独享型elb,不支持共享型elb。 "kubernetes.io/elb.protocol-port": "http:80" #HTTP协议及端口号,需要与spec.ports中的端口号对应 } }, "spec": { "selector": { "app": "kubectl-test" #关联的负载label。 }, "ports": [ { "name": "service-0", "targetPort": 80, #容器开放的端口。 "port": 80, #访问端口。 "protocol": "TCP", #协议需指定为TCP。 "type": "LoadBalancer" } ] } }
- Service.yaml资源描述
- 单击“确定”,创建Service。查看服务管理页面,根据访问地址IP和端口映射中的访问端口[IP:访问端口],即可访问负载。
更新Service
您可以在添加完Service后,更新此Service的访问端口。操作如下:
- 登录云容器实例 CCI2.0控制台。
- 左侧导航栏中选择“服务管理 ”,在服务管理页面中,选择对应的命名空间,单击需要更新端口配置的Service后的“YAML编辑”。
- 仅支持更新Service内访问端口参数修改:
端口配置:spec.ports[i].port:访问端口,端口范围为1-65535,可任意指定。需同步修改 "kubernetes.io/elb.protocol-port": "http:80" 端口。
- 单击“确定”。工作负载已更新Service。
HTTP协议Service参数配置
您可以参考下表添加annotations字段配置HTTP协议类型Service的监听器。
参数 |
参数说明 |
---|---|
kubernetes.io/elb.http2-enable |
表示HTTP/2功能的开启状态。开启后,可提升客户端与LB间的访问性能,但LB与后端服务器间仍采用HTTP1.X协议。 取值范围:
|
kubernetes.io/elb.tls-certificate-ids |
ELB服务中的SNI证书ID列表(SNI证书中必须带有域名),不同ID间使用英文逗号隔开。 获取方法:在ELB控制台,进入“弹性负载均衡 > 证书管理”获取。 |
kubernetes.io/elb.security-pool-protocol |
监听器前端协议为HTTPS时,可以开启后端安全协议,开启后后端协议为HTTPS。不支持更新已有监听器的后端安全协议,更新后仅对新创建的监听器生效。
|
kubernetes.io/elb.tls-ciphers-policy |
监听器使用的安全策略。 取值:tls-1-0-inherit,tls-1-0, tls-1-1, tls-1-2,tls-1-2-strict,tls-1-2-fs,tls-1-0-with-1-3, tls-1-2-fs-with-1-3, hybrid-policy-1-0,默认:tls-1-0。 仅对HTTPS协议类型的监听器且关联LB为独享型时有效。 |
kubernetes.io/elb.x-forwarded-port |
开启后可以将ELB实例的监听端口从报文的HTTP头中带到后端云服务器。
仅独享型ELB的HTTP/HTTPS类型监听器支持配置。 |
kubernetes.io/elb.x-forwarded-for-port |
开启后可以将客户端的源端口从报文的HTTP头中带到后端云服务器。
仅独享型ELB的HTTP/HTTPS类型监听器支持配置。 |
kubernetes.io/elb.x-forwarded-host |
开启后将以客户端请求头的Host重写X-Forwarded-Host传递到后端云服务器。
仅独享型ELB的HTTP/HTTPS类型监听器支持配置。 |
kubernetes.io/elb.gzip-enabled |
数据压缩。
支持的压缩类型如下:
仅独享型ELB的HTTP/HTTPS类型监听器支持配置。 |