当前位置: 首页 > news >正文

使用 KT-Connect 0.3.7在本地访问 Kubernetes

文章目录

  • 引言
  • 安装包下载路径
    • 官网
    • CSDN
  • 环境
  • 什么是 KT-Connect?
    • KT-Connect 的作用
  • KT-Connect 主要功能
    • 本地访问 Pod
    • 端口映射(Mesh 模式)
    • 本地代理(Socks5 模式)
  • KT-Connect 适用场景
  • KT-Connect 的工作原理
    • KT-Connect 连接模式
    • 为什么选择 KT-Connect?
  • Linux上部署以及测试
    • 拷贝k8s的config到linux上
    • 配置hosts解析
    • 部署KT-Connect
    • 配置环境变量
    • 连接
    • 测试
  • Windows上部署以及测试
    • 拷贝k8s的config到Windows上
    • 配置hosts解析
    • 部署KT-Connect
    • 配置环境变量
    • 连接&&测试
    • 连接
  • 总结


引言

在 Kubernetes 开发环境中,本地机器通常无法直接访问集群内的 Pod,尤其是当 Pod 运行在k8s中的私有网段时。KT-Connect 提供了一种便捷的方式,让本地 Windows / Linux / MacOs机器可以访问 Kubernetes 内部的 Pod,极大地提升了开发和调试效率。

本文将介绍如何在 **Windows / Linux** 上安装和使用 KT-Connect,并解决可能遇到的问题。
博主穷啊,没有MacOs

安装包下载路径

官网

官网下载

CSDN

下载链接

环境

  • linux:CentOS Linux release 7.8.2003 (Core)
  • windows:Windows 10 企业版:22H2

什么是 KT-Connect?

KtConnect 是 阿里巴巴 开源的一款工具,主要用于 本地开发环境与 Kubernetes 集群互通,帮助开发者在本地调试和访问 Kubernetes 集群中的 Pod 和服务。

KT-Connect 的作用

  • 本地访问 Kubernetes Pod(绕过 Kubernetes 网络隔离)
  • 本地调试 Kubernetes 服务(无需部署到集群即可模拟真实环境)
  • 解决 Kubernetes 网络隔离问题(如 100.64.0.0/10 Pod 网段无法直接访问)

KT-Connect 主要功能

本地访问 Pod

使用 ktctl connect,可让本地机器访问 Kubernetes Pod 网段(如 100.64.0.0/10),使得开发者可以直接测试和调试 Pod 内的应用。

端口映射(Mesh 模式)

ktctl exchange 允许将本地服务替换集群中的 Pod,使得集群内的流量直接进入本地开发环境,适用于微服务调试。

本地代理(Socks5 模式)

ktctl connect --method socks5 允许本地应用通过 Socks5 代理访问 Kubernetes 内部网络,不改变本地路由配置。

KT-Connect 适用场景

场景解决方案
本地访问 Kubernetes 内部 Podktctl connect --method vpn
在本地调试 Kubernetes 微服务ktctl exchange
使用代理访问 Kubernetes 内部资源ktctl connect --method socks5
临时访问 Kubernetes Servicekubectl port-forward

KT-Connect 的工作原理

KT-Connect 通过在 Kubernetes 集群内启动 一个特权 Pod(kt-rectifier),然后在本地创建一个 VPN 或 Socks5 代理,打通本地与 Kubernetes 内部网络的通信。

KT-Connect 连接模式

模式作用适用场景
VPN 模式(默认)本地加入 Kubernetes 内部网络适用于本地访问 Pod 和 Service
Socks5 模式通过 Socks5 代理访问 Kubernetes适用于仅部分应用需要访问 Kubernetes
Exchange 模式本地应用替换 Kubernetes Pod适用于调试集群内服务

为什么选择 KT-Connect?

方案优势劣势
KT-Connect易用、支持 VPN & Socks5、多种模式需要 Kubernetes 允许 privileged Pod
kubectl port-forward直接使用 Kubernetes 原生命令只能访问单个 Pod,端口绑定麻烦
Cloud VPN直接让本地接入 Kubernetes VPC配置复杂,通常不适用于本地开发

Linux上部署以及测试

拷贝k8s的config到linux上

登录k8s拷贝config默认是在 ~/.kube/config
直接复制走就行

cat ~/.kube/config

在这里插入图片描述
复制到linux的 ~/.kube/config

 mkdir ~/.kube/
 vim ~/.kube/config
 cat  ~/.kube/config

在这里插入图片描述

配置hosts解析

在这里插入图片描述
!!!!文件权限修改

[root@sonar ~]# cd .kube/
l[root@sonar .kube]# ll
total 8
-rw-r--r-- 1 root root 5611 Mar 31 13:49 config
[root@sonar .kube]# chmod 600 config 
[root@sonar .kube]# ll
total 8
-rw------- 1 root root 5611 Mar 31 13:49 config
[root@sonar .kube]# 

部署KT-Connect

包名:ktctl_0.3.7_Linux_x86_64.tar.gz
系统:CentOS Linux release 7.8.2003 (Core)
在这里插入图片描述

配置环境变量

/etc/profile

export KT_HOME=/data/kt
export PATH=$PATH:$KT_HOME
source /etc/profile

在这里插入图片描述

连接

ktctl connect

在这里插入图片描述

测试

查看k8s的pod地址
在这里插入图片描述
在这里插入图片描述
正常进行通信了
断开kt-connect
在这里插入图片描述
在这里插入图片描述
测试不通了

Windows上部署以及测试

拷贝k8s的config到Windows上

登录k8s拷贝config默认是在 ~/.kube/config
直接复制走就行
在这里插入图片描述

打开powershell,并且以管理员运行
在这里插入图片描述
默认打开是你的用户,我的是Administrator用户
创建.kube
然后创建config.txt把k8s中内容粘贴进去,然后重命名config
在这里插入图片描述

配置hosts解析

C:\Windows\System32\drivers\etc
在这里插入图片描述

部署KT-Connect

我是解压到了这个下边
ktctl_0.3.7_Windows_x86_64.zip

D:\downloads\ktctl_0.3.7_Windows_x86_64

在这里插入图片描述

配置环境变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

连接&&测试

 ktctl.exe --help

在这里插入图片描述
查看k8spod的地址
在这里插入图片描述
测试在这里插入图片描述
因为没有连接所有不通

连接

ktctl.exe connect

在这里插入图片描述
不要关闭,新开窗口测试

在这里插入图片描述
可以连接了

总结

KT-Connect 是一个高效的工具,适用于开发者在本地访问和调试 Kubernetes 应用。它通过 VPN、Socks5 或 exchange 模式,使开发者可以像访问本地应用一样访问 Kubernetes 内部 Pod,极大提升开发效率。

相关文章:

  • 如何实现口型0误差?
  • RTL8304问题
  • 《电容:时空交错的能量银行》
  • 愚人杯-web-被遗忘的反序列化
  • [数学]关于组合数
  • 蓝桥杯比赛python程序设计——班级活动
  • 【前端】一文掌握 Vue 3 指令用法(vue3 备忘清单)
  • 字符串复习
  • scss报错Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0
  • 如何加强 SSH 安全:内网和专用网络环境下的防护策略
  • Linux中的文件寻址
  • 脚手架 + 指令
  • 山东大学软件学院项目创新实训开发日志(4)之中医知识问答数据存储、功能结构、用户界面初步设计
  • 语义分析(编译原理)
  • Springcache+xxljob实现定时刷新缓存
  • Linux文件描述符的分配机制与重定向实现:揭开“一切皆文件”的面纱
  • 使用卷积神经网络识别MNIST数据集
  • AI与.NET技术实操系列(三):在 .NET 中使用大语言模型(LLMs)
  • YOLOSCM: 基于改进YOLO算法的车辆检测模型详解
  • [动规21] 乘积最大子数组 #medium
  • 服装b2c商城网站建设/全国最新疫情最新消息
  • 舞蹈培训机构网站模板/无锡百度推广代理商
  • 适合seo优化的网站制作/百度seo搜索引擎优化方案
  • 辽宁pc网站建设开发/关键词整站排名优化
  • 西安建立公司网站的步骤/seo外链专员
  • 百度百科提交入口/西安seo公司哪家好