使用 kt-connect , 建立本地与私有云之间的多样性网络环境
kt-connect 的一些特性
- Connect:建立数据代理通道,实现本地服务直接访问Kubernetes集群内网(包括Pod IP和Service域名)
- Exchange:让集群服务流量重定向到本地,实现快速验证本地版本和调试排查问题
- Mesh:创建路由规则重定向特定流量,实现多人协作场景下互不影响的本地调试
- Preview:暴露本地服务到集群,实现无需发布即可在线预览集成效果
一. 安装 kt-connect
MacOS:
- 运行以下脚本
1 2 3 4 5
# 版本过低 就去 github 查看最新版本 $ curl -OL https://github.com/alibaba/kt-connect/releases/download/v0.3.7/ktctl_0.3.7_MacOS_x86_64.tar.gz $ tar zxf ktctl_0.3.7_MacOS_x86_64.tar.gz $ mv ktctl /usr/local/bin/ktctl $ ktctl --version
- 将 kubeConfig 文件放到 ~/kt 下 (kubeConfig 文件必须要有访问权限)
Windows:
- 访问 https://github.com/alibaba/kt-connect/releases/download/v0.3.7/ktctl_0.3.7_Windows_x86_64.zip
- 下载并解压,将包中的 wintun.dll 和可执行文件 ktctl.exe 一起放到 D 盘的 kt 文件夹下 (可以自定义位置, 但后面配置的 PATH 路径也要做对应的更改)
- 将 kubeconfig_yyyf.yaml 文件也放到 D 盘的 kt 文件夹下
- 配置 windows 环境变量 PATH, 加入 D:\kt
二. 运行 kt-connect
MacOS:
1
$ sudo ktctl connect -n qingzhi --excludeIps 192.168.0.0/16 -c /Users/gomyck/Desktop/kubeConfig.yaml
Windows:
1
2
# 使用管理员权限打开 cmd
$ ktctl connect -n yyyf-public -c D:\kt\kubeconfig_yyyf.yaml
如果命令行工具打印了
1
2
3
12:27PM INF ---------------------------------------------------------------
12:27PM INF All looks good, now you can access to resources in the kubernetes cluster
12:27PM INF ---------------------------------------------------------------
说明代理启动成功, 此时本地服务即可访问 k8s 内部服务了