首页 > Web开发 > 详细

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

时间:2019-10-29 11:43:45      阅读:603      评论:0      收藏:0      [点我收藏+]
原文链接:https://github.com/alibaba/kt-connect

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

本地linux安装

# 切换到root用户
sudo su 

mkdir /root/.kube 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@localhost ~]# yum install sshuttle -y

[root@localhost ~]# which sshuttle
/usr/bin/sshuttle

 

[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资源

在k8s集群操作

[root@k8s-master-15-81 ~]# scp /etc/kubernetes/admin.conf root@192.168.15.91:/root/.kube

本地执行


[root@localhost .kube]# ktctl --kubeconfig /root/.kube/admin.conf --debug connect
2019/10/29 11:22:01 Client address 10.0.0.100
2019/10/29 11:22:01 Deploying proxy deployment kt-connect-daemon-sknbv in namespace default
2019/10/29 11:22:01 Pods not ready......
2019/10/29 11:22:03 Pod status is Pending
2019/10/29 11:22:05 Pod status is Running
2019/10/29 11:22:05 Success deploy proxy deployment kt-connect-daemon-sknbv in namespace default
2019/10/29 11:22:05 Child, os.Args = [ktctl --kubeconfig /root/.kube/admin.conf --debug connect]
2019/10/29 11:22:05 Child, cmd.Args = [kubectl --kubeconfig=/root/.kube/admin.conf -n default port-forward deployments/kt-connect-daemon-sknbv 2222:22]
Daemon Start At 18539

 


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

原文:https://www.cnblogs.com/sandshell/p/11757571.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!