资讯动态

Spring Cloud Kubernetes 本地开发环境调试

发布时间:2026/10/27 18:19:01 来源:尧图企业网站定制
一、Spring Cloud Kubernetes 本地开发环境调试上面文章使用Spring Cloud Kubernetes在k8s环境中实现了服务注册发现、服务动态配置但是需要放在k8s环境中才能正常使用在本地开发环境中可能没有k8s环境如何本地开发调试呢这点Spring Cloud官方已经考虑到了这个问题Spring Cloud Kubernetes项目的代码依赖于Fabric8 Kubernetes Java客户端这是一个流畅的DSL可以使用协议与K8s Server进行REST API通信。官方的介绍如下https://docs.spring.io/spring-cloud-kubernetes/reference/3.1-SNAPSHOT/kubernetes-awareness.html整体本地开发环境构建的过程基本包括如下几步将k8s master节点的~/.kube/config文件复制到本机电脑的用户目录下的.kube目录中。本地环境安装kubectl工具。本地环境安装KT-Connect工具使用ktctl connect连接k8s环境。二、将 k8s 的 config 复制到本机电脑进入到已部署好的k8s master节点中cd~/.kube ll将config文件复制出来放到本机电脑的C:\Users\{你的用户名}\.kube目录下。修改文件中的clusters.cluster.server为k8s master节点的ip如果已经是则不用修改三、部署 kubectl 工具下载kubectlhttps://kubernetes.io/docs/tasks/tools/根据自己的环境下载后配置环境变量在Path中新增一个指向kubectl.exe所在目录。验证是否正常打开CMD窗口查看kubectl的版本kubectl version--client--outputyamlkubectl会自动读取上面的config配置文件所以此时可以直接查看k8s中的资源kubectl get pods-nkube-system四、部署 KT-ConnectKtConnect是一款基于k8s环境用于提高本地测试联调效率的小工具。功能包括Connect建立数据代理通道实现本地服务直接访问k8s集群内网包括Pod IP和Service域名Exchange让集群服务流量重定向到本地实现快速验证本地版本和调试排查问题Mesh创建路由规则重定向特定流量实现多人协作场景下互不影响的本地调试Preview暴露本地服务到集群实现无需发布即可在线预览集成效果下载KT-Connect进入下面连接根据自己电脑系统情况下载相应软件包这里我下载的Windows x86 64位https://github.com/alibaba/kt-connect/blob/master/docs/zh-cn/guide/downloads.md下载后解压可以看到ktctl.exe和wintun.dll。配置环境变量在Path中新增一个指向这两个文件所在目录。以管理员身份打开 CMD 窗口查看版本验证是否正常ktctl-v连接K8s会自动在k8s中部署kt-connect服务。ktctl connect注意该CMD窗口不要关闭关闭后会自动停掉连接。kubectl get pods五、本地环境调试这里测试使用上篇文章实践的消费者服务如果不清楚的可以在下面文章中找到搭建过程Spring Cloud 基于 K8s 原生能力实践 服务注册发现、服务动态配置其中服务提供者需要已经部署到k8s环境中本地IDEA启动服务消费者启动时指定环境变量KUBERNETES_NAMESPACE为k8s部署服务的命名空间上篇文章中我们使用的cloud启动服务服务启动成功。5.1 服务注册发现测试调用http://localhost:8080/discoveryInfo查看服务信息已经能成功拿到k8s中的服务信息。调用http://localhost:8080/rpc测试RPC远程调用并且多次调用调用正常并可以看到负载均衡效果。5.2 服务动态配置测试调用http://localhost:8080/config查看配置信息成功读取到ConfigMap中的配置信息。尝试修改K8s中的配置文件kubectl edit configmap consumerconfig-ncloud可以在IDEA看到触发了restart_context策略再次查看配置信息也已经生效可以感觉出来和在k8s中几乎一样使用。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑