kubernets 集群和本地环境联调环境打通工具kt-connect

Posted sandshell

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kubernets 集群和本地环境联调环境打通工具kt-connect相关的知识,希望对你有一定的参考价值。

原文链接:https://github.com/alibaba/kt-connect

官方github:https://github.com/alibaba/kt-connect

本地linux安装

# 切换到root用户
sudo su 
mkdir /root/tools
cd /root/tools/
pip
install sshuttle curl -OL https://rdc-incubators.oss-cn-beijing.aliyuncs.com/stable/ktctl_linux_amd64.tar.gz tar -xzvf ktctl_linux_amd64.tar.gz mv ktctl_linux_amd64 /usr/local/bin/ktctl ktctl -h

[root@k8s-registry-91 ~]# ktctl -v
Kubernetes Develope Tools version 0.0.4

这种安装的可能不是最新版,也可以离线下载.下载地址:

https://github.com/alibaba/kt-connect/releases/

在Kubernetes中部署联调服务

kubectl run tomcat --image=tomcat:7 --expose --port=8080
会自动创建deployments和service

Connect 从本地访问Kubernetes资源

本地执行

root用户执行
# ktctl --kubeconfig /home/luanpeng/.kube/config --debug connect

如果提示已经运行,则可以在k8s中把deployment删除,在客户端把/home/luanpeng/.ktctl/文件夹删除.
访问PodIP:

运行成功后可以查看是否成功启动sshuttle

ps -ef |grep sshuttle

如果sshuttle两个进程没有启动,则说明启动失败

/usr/bin/python3 /usr/local/bin/sshuttle --dns --to-ns 10.42.0.58 -e ssh -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -i /root/.kt_id_rsa -r 

/usr/bin/python3 /usr/local/bin/sshuttle --method auto --firewall

在这种场景下,开发者只要直接使用ktctl connect打通本地到集群的网络即可,就可以直接在本地通过PodIP/ClusterIP/DNS地址访问集群中的服务。

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于kubernets 集群和本地环境联调环境打通工具kt-connect的主要内容,如果未能解决你的问题,请参考以下文章

Kubernetes环境联调测试

Kubernetes环境联调测试

k8s 内网和办公网络的打通实践

K8S集群内Pod如何与本地网络打通实现debug

云原生之kubernetes实战使用Sealos部署k8s集群环境

在阿里云搭建Rancher2.0和Kubernetes集群