文档中心 > 商家经营工具-开发指引

SLB及流量接入常见问题

更新时间:2023/02/09 访问次数:5945

一、SLB及流量接入常见问题


1.为什么SLB流量接入找不到负载均衡?

请确认几个事情:

1)所购买的SLB所属VPC和容器集群所属VPC是否相同(容器集群所属VPC在“运维中心”可以看到)。


image.png


2)环境是否选择正确。通常环境会关联容器集群,正式环境和测试环境的集群不同,会影响到所属VPC,进而影响SLB的选择。


image.png


3)确认内外网类型是否选择正确。内网访问只能选择购买的私网SLB,外网访问对应选择外网SLB。


image.png


4)不能使用集群自身使用的SLB。集群创建时会默认创建一个内网SLB(名称格式为ManagedK8SSlb**),这个是给集群自身使用的,做流量接入需要另行购买。点击查看详情

 

2.创建好了SLB接入,但是无法访问是什么原因?

1)检查RS端口是否正常,即容器的监听端口,比如tomcat springboot在8080端口监听;

远程登录到云应用容器,curl localhost:容器启动端口/xxx,测试容器本身是否可以访问;

如果容器无法访问,请自行排查应用问题。

2)检查SLB的环境类型,比如在测试环境做的SLB接入,但是容器实际部署启动在正式环境。

 

3.SLB无法访问,监听状态健康检查失败 

平台上做的SLB流量接入,是不需要自己手动配置监听的,如果SLB无法访问,则优先排查容器问题。

1)相应的环境是否存在容器,“环境管理”;

2)容器的健康状态,“环境管理->管理资源”;

3)容器是否在流量接入时配置的RS端口正常监听,“环境管理->管理资源->远程登录”进入容器内;

4)确认下做流量接入时选择的环境是否正确,比如容器实例部署在测试环境,做接入的时候选的是正式环境,而正式环境没有容器,自然无法访问。

 

特别说明,SLB的监听端口是你访问slb的端口,RS端口是容器实际启动的端口(比如一个tomcat应用在8080端口监听)。做了SLB流量接入后,访问slb的监听端口,会自动负载到容器实际启动的端口。


image.png


监听端口可以自己设置,比如这里 访问SLB IP+8082就行了,但是RS端口一定要看容器启动在哪个端口。SLB访问不通,很可能是容器访问不通,即没有在RS端口启动。

 

4.外网访问https正常,集群内访问https时报异常?

如果域名解析的address ip是slb接入的ip,或者是集群服务的cluster ip,那么目前是无法在集群内通过https访问的,建议走http;(原因是k8s社区的一个已知问题导致的,目前暂时无法解决,想详细了解的可以参考:https://github.com/kubernetes/kubernetes/issues/66607

 

5. 内网SLB接入负载不均衡或无法访问

由于kubernetes的网络规则限定等原因,如果在集群内访问内网SLB接入,会出现负载不均衡或有时能访问有时又无法访问的问题,因此,对于内网访问的需求,建议通过“集群服务”或Ingress来访问;

“集群服务”参见:点击查看

“Ingress”参见:点击查看

 

二、Ingress常见问题


1. 选择不了ingress Class?

1)如果是首次使用,请检查下ingress contrller的发布单是否完成,如果处于"暂停"状态,请继续完成发布后即可;

2)如果非首次使用,但是更换了集群;请重新发布ingress controller。

 

2. 选择不了服务名称?

创建Ingress路由时(已在业务应用创建了集群服务),但选择不了服务名称;

1)要确保服务和ingress controller在同一个集群。比如都在正式环境集群 或 测试环境集群,否则这里看不到服务;

2)如果更换了集群,请重新发布ingress controller 和 重新保存集群服务。

 

三、其他


小程序访问超时或其他不可访问问题

首先,确定下是不是云应用访问超时。

1)远程登录到云应用容器,curl localhost:容器启动端口/xxx,测试容器本身是否可以访问;

如果容器无法访问,请自行排查应用问题。

2)容器内curl slb的ip:slb监听端口/xxx,测试流量接入的slb是否可以正常访问;

如果slb流量接入无法访问,请参考此文档中的问题2、问题3进行排查。

 

如果云应用slb访问没有问题,则不是云应用问题,请提小程序工单。

FAQ

关于此文档暂时还没有FAQ
返回
顶部