访问k8s集群部署的微服务内部服务接口问题
访问k8s集群部署的微服务内部服务接口
微服务,一般只能访问最上层的服务入口。
如果服务模块有对外开放,可以直接在 postman/浏览器 访问。
有些内部的服务模块,为了安全考虑,不允许访问。
如果没有对外开放,有时又确实需要调用内部服务接口,可以尝试使用以下方法访问。
通过k8s pod的localhost访问
进入pod,点击 pod的 shell命令,通过 curl 调用接口。
localhost 代表这个 pod 的本地ip。注意:端口别搞错了。
比如,通过这个命令访问 /user/test 接口
curl --location --request GET 'localhost:端口/user/test'
通过服务名去访问
k8s集群 ,pod,同一个命名空间,可以直接用 服务名去访问。
因为 K8s 内部有 DNS 解析,会将服务名解析为对应的ip。
比如 服务名是 user ,也可以直接用服务名加端口访问:
curl --location --request GET 'http://user:端口/user/test'
通过注册中心的地址去访问
如果有使用注册中心,调用注册中心的ip地址,也能直接调用到内部服务的接口。
微服务在注册到注册中心时,会将服务名、ip、端口都提供给注册中心。
调用注册中心的ip地址,就能访问到微服务的内部服务的接口。
curl --location --request GET 'http://注册中心ip地址/user/test'
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Kubernetes核心组件实战解析之API Server与Scheduler的生产级应用指南
在Kubernetes集群中,kube-apiserver和kube-scheduler如同机场的塔台控制系统,一个负责全局通信调度,一个专注资源分配优化,本文将深入解析这两个核心组件在生产环境中的关键作用与实战配置,需要的朋友可以参考下2025-03-03
Kubernetes节点自动伸缩(Cluster Autoscaler)原理及分析
ClusterAutoscaler是Kubernetes官方提供的自动伸缩组件,通过监控未调度的Pod并自动调整节点数量,实现集群资源的动态调配,它支持Pod、节点和资源粒度的自动伸缩,通过配置合理的参数和策略,可以有效地提升集群的弹性,减少人工干预,降低运维成本2026-01-01


最新评论