天翼云边缘容器集群(ECK专有版)服务Service管理 - 使用SLB负载均衡暴露应用
文档简介:
介绍如何使用SLB负载均衡暴露应用。
通过设置服务(service)的 spec.type=LoadBalancer ,ECK会为该服务创建SLB负载均衡器来暴露该服务(Service)。在集群外可通过SLB的 的方式访问服务,在集群内可通过 <服务名:服务端口>的方式访问服务。本文以Nginx应用为例,介绍如何通过SLB负载均衡公开应用。
介绍如何使用SLB负载均衡暴露应用。
通过设置服务(service)的 spec.type=LoadBalancer ,ECK会为该服务创建SLB负载均衡器来暴露该服务(Service)。在集群外可通过SLB的 <IP:服务端口>的方式访问服务,在集群内可通过 <服务名:服务端口>的方式访问服务。本文以Nginx应用为例,介绍如何通过SLB负载均衡公开应用。
注意 本示例会创建公网IP以及负载均衡器,产生一定的费用。
步骤一:创建Nginx应用
- 登录边缘容器集群控制台。
- 在控制台左侧导航栏中,单击 集群管理 。
- 在集群列表页面中,单击目标集群右侧操作列下的 详情 。
- 在控制台左侧导航栏中,单击 工作负载>无状态 。
- 在无状态列表,在左上角选择命名空间并单击 创建无状态 。
- 完成服务的参数配置,单击确认添加无服务应用。
应用基本信息
配置项 | 描述 |
---|---|
应用名称 | 输入应用名称,例如:nginx-test-loadbalancer。 |
容器配置
配置项 | 描述 |
---|---|
容器镜像 | 输入测试镜像,例如:ehub.ctcdn.cn/eck/nginx。 |
步骤二:创建Service
- 接步骤一, 在控制台左侧导航栏中,单击 网络>服务 。
- 在服务列表,在左上角选择与步骤一相同的命名空间并单击 创建服务 。
- 完成服务的参数配置,单击确认添加Service。
配置项 | 描述 |
---|---|
名称 | 服务名称,例如:nginx-test-loadbalancer。 |
类型 | 服务类型,选择负载平衡器(LoadBalancer)。 |
关联 | 关联步骤一创建的无状态负载。 |
端口映射 |
示例: 名称: http。 服务端口:对公网暴露的端口,如:8888。 容器端口:容器对应的端口,如:80。 节点端口:NodePort端口,可留空。 协议:容器服务协议,本示例为TCP。 |
示例:
步骤二完成后,部署在集群内的CCM(cloud-controller-manager)控制器,会调用智能边缘云接口,申请负载均衡器,以及公网IP,暴露集群内服务。服务创建完毕后,等待几秒钟,服务列表中会显示供访问的 <公网IP:端口> 外部端点。
通过浏览器或者 curl访问外部端点 <公网IP:端口> 测试服务连通性:
使用命令行工具创建Nginx应用与负载均衡器Service
- 执行以下命令启动容器(本实例中为Nginx Web服务器)。
kubectl create deployment nginx-test-loadbalancer --image=ehub.ctcdn.cn/eck/nginx复制
- 执行以下命令,为该容器创建一个服务入口,指定--type=LoadBalancer将会为您创建一个智能边缘云负载均衡路由到该Nginx容器。
kubectl expose deployment nginx-test-loadbalancer --port=8888 --target-port=80 --type=LoadBalancer复制
- 执行以下命令,查看 service 的公网IP地址。
kubectl get svc nginx-test-loadbalancer -ojsonpath='{.status.loadBalancer}'复制
- curl 或浏览器访问 <公网IP:8888> 地址,验证连通性。