已在管理控制台中创建“弹性负载均衡”实例。
1. 登录管理控制台首页,在服务列表中选择“网络 > 弹性负载均衡”。
2. 单击右上角的“创建弹性负载均衡”。
说明:
CCE中的负载均衡 ( LoadBalancer )访问类型使用弹性负载均衡 ELB提供网络访问,存在如下产品约束:
- 自动创建的ELB实例建议不要被其他资源使用,否则会在删除时被占用,导致资源残留。
您可以在创建工作负载时通过CCE控制台设置访问方式,本节以创建一个nginx工作负载并添加Ingress类型的Service为例进行说明。
步骤 1 创建工作负载,详细步骤请参见创建无状态负载(Deployment)、创建有状态负载(StatefulSet)或创建守护进程集(DaemonSet)。
- 若创建工作负载时,部署了“节点访问( NodePort )”类型的Service,请直接执行步骤3。
- 若创建工作负载时,未部署“节点访问( NodePort )”类型的Service,请先执行步骤2。
步骤 2 (可选)若创建工作负载时,未配置“节点访问 ( NodePort )”,请执行如下操作。
1. 登录CCE控制台,在左侧导航栏中选择“资源管理 > 网络管理”。
2. 在Service页签下,单击“添加Service”。选择类型为“节点访问 ( NodePort )”。
− Service名称:自定义服务名称,可与工作负载名称保持一致。
− 集群名称:选择需要添加Service的集群。
− 命名空间:选择需要添加Service的命名空间。
− 关联工作负载:单击“选择工作负载”,选择需要配置节点访问 ( NodePort )的工作负载名称,单击“确定”。
− 服务亲和:
集群级别:集群下所有节点的IP+访问端口均可以访问到此服务关联的负载,服务访问会因路由跳转导致一定性能损失,且无法获取到客户端源IP。
节点级别:只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载,服务访问没有因路由跳转导致的性能损失,且可以获取到客户端源IP。
− 端口配置:
a、协议:请根据业务的协议类型选择。
b、容器端口:容器镜像中工作负载实际监听的端口,需用户确定。nginx程序实际监听的端口为80。
c、访问端口:容器端口映射到节点私有IP上的端口,用私有IP访问工作负载时使用,端口范围为30000-32767,建议选择“自动生成”。
- 自动生成:系统会自动分配端口号。
- 指定端口:指定固定的节点端口,默认取值范围为30000-32767。若指定端口时,请确保同个集群内的端口唯一性。
3. 单击“创建”,节点访问方式设置成功。
步骤 3 添加Ingress类型的Service。
1. 单击CCE左侧导航栏的“资源管理 > 网络管理”。
2. 在Ingress页签下,单击“添加Ingress”。
− Ingress名称:自定义Ingress名称,例如ingress-demo。
− 集群名称:选择需要添加Ingress的集群。
− 命名空间:选择需要添加Ingress的命名空间。
− 负载均衡配置:Ingress使用弹性负载均衡服务(ELB)的负载均衡器提供七层网络访问。
说明:
1. ingress创建后请在CCE页面对所选ELB实例进行配置升级和维护,否则可能导致ingress服务异常。
2. 自动创建的ELB实例尽可能不要被其他ingress或者service使用,否则可能导致资源残留。
负载均衡:负载均衡实例需与当前集群处于相同VPC且为相同公网或私网类型。
请根据业务需求选择“公网”或“私网”。公网支持自动创建和使用已有负载均衡实例两种方式。私网:支持自动创建和使用已有负载均衡实例两种方式。
- 更改配置:选择“公网 > 自动创建”时,单击规格配置下的“更改配置”,可修改待创建的负载均衡实例的名称、规格、计费模式和带宽。
− 监听器配置:Ingress为负载均衡器配置监听器,监听器对负载均衡器上的请求进行监听,并分发流量。
a、对外协议:支持HTTP和HTTPS。
b、对外端口:开放在负载均衡服务地址的端口,可任意指定。
若选择启用“对接Nginx”后,将默认开启80和443端口,此处“对外端口”参数项将不显示。
c、服务器证书:请选择密钥证书。
须知:
- 选择HTTPS协议时,才需要创建密钥证书ingress-test-secret.yaml。创建密钥的方法请参见创建密钥。
- 同一个ELB实例的同一个端口配置HTTPS时,一个监听器只支持配置一个密钥证书。若使用两个不同的密钥证书将两个Ingress添加到同一个ELB下的同一个监听器,ELB侧实际只生效最初的证书。
− 转发策略配置:请求的访问地址与转发规则匹配时(转发规则由域名、URL组成),此请求将被转发到对应的目标Service处理。
说明:
服务负载均衡配置中可更改ELB实例的分配策略类型、会话保持、健康检查等内容,请勿在ELB服务修改相关信息。
− 域名:实际访问的域名地址。请确保所填写的域名已注册并备案,在Ingress创建完成后,将域名与自动创建的负载均衡实例的IP(即Ingress访问地址的IP部分)绑定。一旦配置了域名规则,则必须使用域名访问。
− URL匹配规则:
- 前缀匹配:例如映射URL为/healthz,只要符合此前缀的URL均可访问。例如/healthz/v1,/healthz/v2。
- 精确匹配:表示精准匹配,只有完全匹配上才能生效。例如映射URL为/healthz,则必须为此URL才能访问。
- 正则匹配:可设定映射URL规范,例如规范为/[A-Za-z0-9_.-]+/test。只要符合此规则的URL均可访问,例如/abcA9/test,/v1-Ab/test。正则匹配规则支持POSIX与Perl两种标准。
− URL:需要注册的访问路径,例如:/healthz。
− 目标Service:请选择已有Service或新建Service。页面列表中仅支持选择“节点访问 ( NodePort )” 类型的Service,该查询结果已自动过滤。
− Service访问端口:可选择目标Service的访问端口。
− 服务负载均衡配置:该配置是基于服务的配置,若有多条路由使用当前服务,这些路由将使用相同的服务负载均衡配置。
- 健康检查:默认不启用。请根据界面提示进行配置。
− 操作:可单击“删除”按钮删除该配置。
单击“添加转发策略”按钮可添加多条转发策略。
步骤 4 配置完成后,单击“创建”。
创建完成后,在Ingress列表可查看到已创建成功的Ingress。
步骤 5 访问工作负载(例如名称为defaultbackend)的“/healthz”接口。
方式一:负载均衡IP访问(需负载均衡访问的服务不能配置域名)
1. 获取defaultbackend“/healthz”接口的访问地址,访问地址有负载均衡实例、对外端口、映射URL组成,例如:10.154.73.151:80/healthz。
a. 在左侧导航栏选择“资源管理 > 网络管理”。
b. 在“Ingress”页签下,单击Ingress名称,可查看访问地址。
2. 在浏览器中输入“/healthz”接口的访问地址,如:http://10.154.73.151:80/healthz,即可成功访问工作负载,如下图。
访问defaultbackend“/healthz”接口
方式二:域名访问
以ingress中已配置域名ingress.com为例。
1. 获取ingress-demo的域名与访问地址的IP、URL与端口。
a. 在左侧导航栏选择“资源管理 > 网络管理”。
b. 在“Ingress”页签下,可查看访问地址。
c. 单击Ingress名称,可查看域名。
2. 在本地主机的C:\Windows\System32\drivers\etc\hosts中配置访问地址的IP和域名,如下图:
3. 在浏览器中输入http://域名:访问地址端口/映射url,如:http://ingress.com:81/james。
您可以在添加完Ingress后,更新此Ingress的端口、域名和路由配置。操作如下:
说明:
- Ingress创建后请避免在ELB服务的控制台中操作Ingress对接的ELB资源,如需修改请在CCE控制台中对所选ELB实例进行配置升级和维护,否则可能导致Ingress服务异常。
- 在CCE控制台中更新Ingress时,负载均衡配置中可更改ELB实例的分配策略类型、会话保持、健康检查等内容,请勿在ELB服务修改相关信息。
- 自动创建的ELB实例尽可能不要被其他Ingress或者Service使用,否则可能导致资源残留。
步骤 1 登录CCE控制台,在左侧导航栏中选择“资源管理 > 网络管理”。在Ingress页签下,选择对应的集群和命名空间,单击待更新Ingress后方的“更新”。
步骤 2 在“更新Ingress”页面,更新如下参数:
- 对外端口:开放在负载均衡服务地址的端口,可任意指定。
转发策略配置
- 服务负载均衡配置:单击展开后,可对如下参数进行设置:
− 健康检查:默认开启。请根据界面提示进行配置。
- 单击“添加转发策略”按钮可添加多条转发策略。
− 域名:实际访问的域名地址。请确保所填写的域名已注册并备案,在Ingress创建完成后,将域名与自动创建的负载均衡实例的IP(即Ingress访问地址的IP部分)绑定。一旦配置了域名规则,则必须使用域名访问。
− URL匹配规则:
a、前缀匹配:例如映射URL为/healthz,只要符合此前缀的URL均可访问。例如/healthz/v1,/healthz/v2。
b、精确匹配:表示精准匹配,只有完全匹配上才能生效。例如映射URL为/healthz,则必须为此URL才能访问。
c、正则匹配:可设定映射URL规范,例如规范为/[A-Za-z0-9_.-]+/test。只要符合此规则的URL均可访问,例如/abcA9/test,/v1-Ab/test。正则匹配规则支持POSIX与Perl两种标准。
− URL:需要注册的访问路径,例如:/healthz。
− 目标Service:请选择已有Service或新建Service。页面列表中仅支持选择“节点访问 ( NodePort )” 类型的Service,该查询结果已自动过滤。Service访问端口:可选择目标Service的访问端口。
− 服务负载均衡配置:该配置是基于服务的配置,若有多条路由使用当前服务,这些路由将使用相同的服务负载均衡配置。详细配置请参见服务负载均衡配置。
− 操作:可单击“删除”按钮删除该配置。
步骤 3 单击“提交”。工作负载已更新Ingress。