EDAS支持以容器的方式托管应用,EDAS代为构建镜像并部署到Kubernetes集群,有效简化流程降低使用门槛。
背景信息
EDAS支持以容器的方式托管应用,EDAS代为构建镜像并部署到Kubernetes集群,有效简化流程降低使用门槛。阿里云上K8s集群中部署的CCM(Cloud Controller Manager)组件已支持将集群内一个应用的多个容器副本无缝对接到CLB后端,并支持应用进行弹性扩缩容时,自动将应用副本添加到CLB监听后端或从后端移除。
使用CLB的两种方式:
约束限制
- 禁止从负载均衡控制台直接修改EDAS代购的CLB实例的监听配置(含监听和证书),可能导致CLB控制台修改的配置回退,引发应用入口相关的故障。
- 若复用CLB来暴露K8s上EDAS应用,则创建的CLB要和K8s集群在同一个VPC内。
- 新建CLB或复用CLB的使用限制及配额,请参考使用限制。
- 使用CLB暴露出EDAS应用后,在K8s集群内部节点存在无法通过CLB地址访问EDAS应用问题。详细信息,请参考Kubernetes集群中访问LoadBalancer暴露出去的CLB地址不通。
前提条件
您已成功在EDAS控制台导入Kubernetes集群并部署了一个EDAS应用。
- 使用JAR包或WAR包部署应用。具体操作,请参见在容器服务K8s集群中使用JAR包或WAR包部署应用。
- 使用镜像部署应用。具体操作,请参见在K8s集群中使用镜像部署Java微服务应用。
- 将K8s中Deployment转化为EDAS应用。具体操作,请参见使用控制台转化Deployment为EDAS应用。
使用CLB访问应用
使用CLB可以为一个应用的多个后端副本提供一个稳定的对外访问地址,并进行流量负载均衡。可以使用不同CLB为一个应用的不同程序端口提供对外访问,且不同的CLB可以配置不同的实例规格,以支持不同服务的不同业务流量需求。也可以使用多个CLB绑定同一组后端副本,以扩展单个CLB的规格限制,分担流量压力。
K8s上EDAS应用支持使用公网CLB和私网CLB组合方式提供应用访问。能够使用公网CLB提供Web应用公网访问,使用私网CLB提供后端其他应用间内网访问。您可以根据业务实际需求配置各自的应用扩缩及负载均衡。
-
登录EDAS控制台。
-
在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域并在页面上方选择微服务空间,在集群类型下拉列表中选择K8s集群,然后单击目标应用名称。
- 在应用总览页面的访问方式配置区域,单击负载均衡(公网)或负载均衡(私网)右侧的
图标。说明 如果您已经配置过负载均衡,则在此处会显示负载均衡的IP和端口信息,您可单击
图标进入配置页面修改负载均衡信息,或可单击图标解除CLB的绑定。
- 在负载均衡对话框,设置负载均衡参数。
- 单击确定,等待应用变更状态正常。
- 可选:如果您的应用访问需求量已经超出了当前设置的CLB规格,则重复步骤3和步骤4,添加多个CLB。
复用CLB
为了降低成本,减少CLB的实例数,EDAS允许为多个应用共享一个CLB来支持对外服务访问,以支持多个应用通过配置不同的监听端口使用一个CLB对外访问。在EDAS中,找到需要使用CLB的应用,在进行访问配置时,选择同一个CLB并配置不同的监听端口及程序端口映射,即可支持多个应用使用同一个CLB。
说明
- 复用CLB需要您持有一个或多个处于运行中状态的CLB实例。具体操作,请参见创建和管理CLB实例。
- 如果需要使用公网CLB绑定应用,则需CLB网络类型为公网;如果需要使用私网CLB绑定应用,则需要CLB网络类型为私网。
- CLB实例和K8s集群位于同一地域。
- 如果CLB实例和K8s集群实例的网络类型均为专有网络,则必须位于同一专有网络。
-
登录EDAS控制台。
-
在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域并在页面上方选择微服务空间,在集群类型下拉列表中选择K8s集群,然后单击目标应用名称。
- 在应用总览页面的访问方式配置区域,单击负载均衡(公网)或负载均衡(私网)右侧的
图标。说明 如果您已经配置过负载均衡,则在此处会显示负载均衡的IP和端口信息,您可单击
图标进入配置页面修改负载均衡信息,或可单击图标解除CLB的绑定。
- 在负载均衡对话框,设置负载均衡参数。
- 单击确定,等待应用变更状态正常。
- 可选:如果您的应用访问需求量已经超出了当前设置的CLB规格,则重复步骤3和步骤4,添加多个CLB。
更新CLB配置
- 在EDAS中支持更改CLB的实例规格、调度算法、监听端口映射。
- 对于EDAS代购的CLB禁止通过CLB控制台进行配置更改,以避免多入口更改配置导致的数据不一致问题,防止变更的配置回退;非EDAS代购的CLB支持在CLB控制台进行配置更改。
-
登录EDAS控制台。
-
在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域并在页面上方选择微服务空间,在集群类型下拉列表中选择K8s集群,然后单击目标应用名称。
- 在应用总览页面的访问方式配置区域,单击负载均衡(公网)或负载均衡(私网)右侧的
图标。
- 在负载均衡对话框,设置负载均衡参数。更改实例规格为简约型,调整调度算法为轮询,并修改已有的HTTPS协议类型443端口监听的容器端口为18081。
- 单击确定,等待应用变更状态正常。
K8s中EDAS应用的转发规则配置
在K8s上部署的EDAS应用,能够使用应用路由实现根据域名和URL进行流量分发,以实现七层负载均衡路由转发功能。应用路由中使用的CLB无需用户额外购买及配置,详细信息,请参见创建应用路由(Nginx Ingress)。
说明 通过EDAS平台代购的CLB不支持通过CLB控制台进行路由规则配置更改,仅非EDAS代购的CLB支持在CLB控制台进行路由规则配置。
K8s中EDAS应用的健康检查
在K8s上部署的EDAS应用时,可以通过配置应用生命周期的钩子和探针来替代CLB中监听的健康检查配置。
说明
通过EDAS平台代购的CLB不支持通过CLB控制台进行健康检查配置更改,非EDAS代购的CLB支持在CLB控制台进行健康检查配置。
使用这种方式可以根据应用中副本的健康状态动态的更新CLB中对应监听的后端,此外还支持更多的健康检查方式。详细信息,请参见配置应用生命周期的钩子和探针。
新建CLB和监听配置的默认值
配置 | 默认值及相关描述 |
负载均衡带宽 | 5120 Mbps |
负载均衡的IP版本 | IPv4 |
负载均衡删除保护 | 打开 |
负载均衡配置修改保护 | 打开 |
会话保持时间 | 0秒 |
会话保持开关 | 关闭 |
健康检查开关 | TCP类型监听默认开启HTTPS类型监听默认关闭。 |
健康检查协议 | TCP |
健康检查健康阈值 |
健康检查连续成功N次后,将后端服务器的健康检查状态由fail判定为success,默认值为3。 |
健康检查不健康阈值 |
健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail,默认值为3。 |
健康检查间隔时间 | 2秒 |
健康检查响应超时时间 |
接收来自运行状况检查的响应需要等待的时间,适用于TCP模式。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败,默认值为5秒。 |
健康检查正常状态码 | HTTP_2xx |
访问控制功能开关 | 关闭 |
TCP监听连接超时时间 |
配置TCP连接超时,连接空闲时间超过该时长后,负载均衡会主动断开该连接,默认值为900秒。 |
HTTPS监听连接空闲超时时间 | 15秒 |
HTTPS监听HTTP2特性 | 打开 |
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/170260.html