实现背景
有时候,我们在系统中发布了微服务的应用或者系统运行了相关的服务,但是内部的网络通信一般不会对外暴露,如果项目开发测试中需要进行链接或者临时的测试验证等问题,则需要使用一些特殊的手段实现链接访问达到验证的目的。
demo测验
比如现在系统维护一套用于内部使用的mysql服务,但是mysql的链接和测试都是内部的方式进行的,不可以对外暴露,外部如何在不影响当前业务的时候实现服务的暴露呢!
一般可以新增同样配置的svc或者ingress进行对外的路由设置,此处我们按照svc的暴露方式进行说明,其他路由的方式类似。
image
截图中我们可以看到svc一般使用集群IP进行路由设计,往往我们通过NodePort可以访问:
定位需要临时开启的服务
imagekubectl get svc -A | grep mysql
保存编辑服务模板
kubectl edit svc -n xxxx-system mysql
说明:编辑服务名称和暴露方式,不要和系统的服务同名冲突即可。
name: mysql-nodeport
type: NodePort
查看服务的配置和测试
kubectl get svc -n xxxx-system mysql -oyaml
注:通过curl,wget或者客户端链接实现访问测试。
总结
因为微服务的管理和设计再加上系统服务太多,往往我们不可以更改系统的配置进行调试,团队协作尤其如此,所以这种小的测试用例可以很快的用于服务的暴露和访问设计;
我们可以通过这种方式临时的给团队进行工作的配合和渲染实现,每天一个小技巧,你get到了吗?
网友评论