Spring Cloud Kubernetes 本地开发

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

简介

Spring Cloud Kubernetes 是spring官方集成Kubernetes的一个框架.可以直接将springboot项目使用Kubernetes做为注册中心.很方便,但是我们本地开发的时候很难进行调试,因为我们本地没有Kubernetes环境.
下面介绍一种能够本地开发的方式

KT-Connect

KtConnectKt为Kubernetes Toolkit集群工具包的简写是一款基于Kubernetes环境用于提高本地测试联调效率的小工具。

特性
  • Connect建立数据代理通道实现本地服务直接访问Kubernetes集群内网包括Pod IP和Service域名
  • Exchange让集群服务流量重定向到本地实现快速验证本地版本和调试排查问题
  • Mesh创建路由规则重定向特定流量实现多人协作场景下互不影响的本地调试
  • Preview暴露本地服务到集群实现无需发布即可在线预览集成效果

就是可以使用本地服务调用k8s里面的服务,方便我们开发.

前置条件

  1. 已有k8s集群
  2. 本地电脑安装kubectl工具
  3. 能够获取到1集群中的config文件
  4. 安装KtConnect

安装

步骤1,步骤2,步骤3 自行安装

安装完kubectl后 用户目录会出现 .kube 文件夹
.kube 目录
图中的config就是k8s的配置文件,将服务器k8s集群的配置文件复制到我们电脑的文件夹下面即可.
在这里插入图片描述
完毕之后使用命令,即可本地管理远程的k8s集群
之所以这样做有两个目的

  1. idea启动项目,可以直接使用环境变量去连接服务器的k8s集群
  2. KtConnect可以根据环境变量连接到k8s集群

安装KtConnect

https://github.com/alibaba/kt-connect/blob/master/docs/zh-cn/guide/downloads.md

下载并解压将包中的wintun.dll和可执行文件ktctl.exe一起放到PATH环境变量指定的任意位置。
将解压完的文件放在**.kube** 文件下,然后设置环境变量
在这里插入图片描述
然后使用命令行

ktctl connect
在这里插入图片描述
最后出现这样说明代理创建成功了
创建成功后,集群里会出现这样一个pod
在这里插入图片描述
就是它来帮助我们转发

最后就是操作了
本地启动网关程序
在这里插入图片描述
上面的方法是获取所有的服务,我们请求一下接口
在这里插入图片描述

在这里插入图片描述
可以看到确实获取了这么多的服务

接下来我们调用远程的服务看一看
网关服务里面配置了两个服务 test1和test2
在这里插入图片描述
test1里面有两个接口
在这里插入图片描述

我们使用本地启动的网关访问一下

http://localhost:8080/k8s-test1/getUser?uid=1

在这里插入图片描述

http://localhost:8080/k8s-test1/index

在这里插入图片描述
可以看到这两个rpc的服务也可以调用通.证明我们已经可以在本地愉快的开发了.

以上只是使用了KT-Connect 的connect 功能,其他的功能自己尝试一下吧

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Springk8s