简单实用的 Kubernetes 服务端口转发工具:kproxy

这篇具有很好参考价值的文章主要介绍了简单实用的 Kubernetes 服务端口转发工具:kproxy。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在本地访问 Kubernetes 服务: kproxy

在 Kubernetes 集群上运行的服务是应用程序的核心组件,但有时我们需要在本地测试或开发这些服务。这时,我们需要一种简单的方法来将 Kubernetes 服务端口转发到本地端口。kproxy 是一个 Bash 脚本,可以帮助我们快速实现这个目标。

目标和解决的痛点

Kubernetes 集群中的服务是分布式应用的核心组件,但在本地开发或测试时,我们通常需要访问这些服务。传统的解决方法是在本地启动一个代理,然后将流量转发到 Kubernetes 集群。但是,这种方法需要部署额外的代理,增加了部署和维护的负担。

kproxy 脚本可以直接将 Kubernetes 服务端口转发到本地端口,省去了部署额外代理的步骤,使得在本地访问 Kubernetes 服务变得更加简单和高效。同时根据关键字最大程度的自动查找 service, 不需要写长条的 port-forward 命令。

安装和使用方法

  1. 从 GitHub 上下载 kproxy 脚本或使用 curl 命令直接下载:

    curl https://gist.githubusercontent.com/itzhang89/680c2d68224e95093f80dd958a1fa93c/raw/ba0ed5951d70c87009b9985fbf17e7aa99b4f26b/kproxy.sh -o kproxy
    
  2. 将 kproxy 脚本设置为可执行文件:

    chmod +x kproxy
    
  3. 在命令行中输入 kproxy 命令,然后输入服务名称或部分名称,选择要转发的服务,即可将服务端口转发到本地端口。例如:

    kproxy my-service 8080
    

    这个命令将服务 my-service 的端口转发到本地端口 8080

    kproxy 还支持在所有命名空间中查找服务,您可以使用 -A 选项来开启这个功能:

    kproxy -A my-service
    

实现设计逻辑

kproxy 脚本使用了 Bash 语言编写,使用了以下的工具和命令:

  • kubectl:用于获取 Kubernetes 集群中的服务和端口信息
  • grep:用于在服务列表中查找匹配的服务
  • fzf:用于在命令行中提供交互式选择服务的界面

脚本的基本逻辑如下:

  1. 解析命令行参数,获取服务名称和要转发到的本地端口号。
  2. 使用 kubectl 命令获取服务列表和相关信息。
  3. 使用 grep 命令在服务列表中查找匹配的服务,如果找到多个匹配项,使用 fzf 命令提供交互式选择服务的界面。
  4. 使用 kubectl 命令将选定服务的端口转发到本地端口。

使用样例

假设我们有一个名为 my-service 的 Kubernetes 服务,它在集群中运行,我们想将它的端口转发到本地端口以便在本地测试。以下是一些使用 kproxy 的样例:

  1. 转发服务 my-service 的端口到本地端口 8080:

    kproxy my-service 8080
    
  2. 在所有命名空间中查找服务名称包含 my- 的服务,并转发端口到本地端口:

    kproxy -A my-
    
  3. 转发服务 my-service 的端口到本地端口,使用交互式选择服务:

    kproxy my-
    

kproxy 脚本是一个简单而实用的工具,可以帮助我们快速将 Kubernetes 服务端口转发到本地端口,方便测试和开发。文章来源地址https://www.toymoban.com/news/detail-679967.html

到了这里,关于简单实用的 Kubernetes 服务端口转发工具:kproxy的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 常用的几种服务器端口转发实现方式

    Windows和Linux服务器上实现端口转发的几种常用方式: 硬件路由器转发:这个是2种系统都可以使用的方式。可以通过在硬件路由器上设置端口转发规则,将外部请求转发到内部服务器的指定端口上。 以下为Linux系统实现端口转发的几种方式: iptables命令实现端口转发:iptable

    2024年02月09日
    浏览(44)
  • Linux 服务器 Firewalld 防火墙配置端口转发

    业务应用系统的web容器无法更改IP地址,例如临时SSH端口,但是不想修改SSH配置;例如某些服务web服务需要通过公共IP进行统一访问;例如外网访问内网资源等;例如快速调整web容器的端口而不需要更改服务的任何配置等。 流量转发命令语法为: firewalld-cmd --permanent --zone=区域

    2024年02月06日
    浏览(52)
  • Windows Server 2012 搭建网关服务器并端口转发

    使用 Windows server 作为Hyper-V 虚拟出许多虚拟机,基本上都分配了内网地址,现在需要这些虚拟机访问外网,或者外网直接访问这些虚拟机,必须配置一个网关服务器。我决定直接使用 Windows 的远程访问中的 NAT 服务来完成。 没有找到官方文档,本文完全参考了以下文章 在Wi

    2024年02月07日
    浏览(43)
  • 【让云服务器更灵活】iptables转发tcp/udp端口请求

    iptables转发tcp/udp端口请求 路由转发是计算机网络中的一种重要概念,特别是在网络设备和系统之间。它涉及到如何处理和传递数据包,以及决定数据包应该发送到哪个网络设备或路由表中的哪条路径,iptables是本文主要应用的软件技术。 1 2 本文主要介绍以下几个情况的配置

    2024年02月03日
    浏览(57)
  • 宝塔设置云服务器mysql端口转发,实现本地电脑访问云mysql

    环境 :centos系统使用宝塔面板 实现功能 :宝塔设置云服务器mysql端口转发,实现本地电脑访问mysql 软件商店==》搜索 mysql安装即可 软件商店==》搜索 PHP安装7.4.33即可( 只需要勾选快速安装 ) 软件商店==》搜索 phpMyAdmin 安装即可( 只需要勾选快速安装 ) 在宝塔面板上选择

    2024年02月15日
    浏览(40)
  • Java使用Netty实现端口转发&Http代理&Sock5代理服务器

    这里总结整理了之前使用Java写的端口转发、Http代理、Sock5代理程序,放在同一个工程中,方便使用。 开发语言:Java 开发框架:Netty 端口转发: HTTP代理服务器,支持账号密码认证 Sock5代理服务器,支持账号密码认证 支持连接后端时直接连接或采用代理连接,也后端代理连接认

    2024年01月25日
    浏览(55)
  • linux服务器上使用frp实现tcp端口转发--以访问内网mysql为例

    前言 最近在部署测试环境 部署服务器上没有公网地址和端口 无法使用navicat等工具对数据库操作 因此需要内网穿透或tcp端口转发来实现 公网服务器作为服务器端frps 内网服务器作为客户端frpc 服务端和客户端均下载相应的包 没开端口的自行开启相应端口 开启7000端口如下 1

    2024年02月16日
    浏览(54)
  • 云原生Kubernetes:K8S常用服务端口

    目录 一、理论 1.K8S常用服务端口号 (1)K8S集群 表1 K8S集群端口 协议 端口号 K8S集群 TCP 22 使用主机驱动通过SSH进行节点配置 TCP 53 集群DNS服务 UDP 53 集群DNS服务 TCP 2376 主机驱动与Docker守护进程通信的TLS端口 TCP 2379 etcd客户端请求 TCP 2380 etcd节点通信 UDP 8472 Canal/Flannel VXLAN ove

    2024年02月10日
    浏览(71)
  • 【WSL2笔记5】开放端口与iP转发设置局域网访问WSL的Gradio和Streamlit应用服务

    1.1.1 查看win10端口映射 win10以管理员身份打开PowerShell 按Win键-空格-powershell-以管理员身份运行 netsh interface portproxy show all

    2024年02月13日
    浏览(46)
  • ssh端口转发-本地端口转发和远程端口转发的具体用法实例

    在一开始学习ssh端口转发的时候,总是被本地端口转发和远程端口转发的区别搞得头大,缠斗数日无果,沉思一番之后,决定逐个攻破,先揪住一个掰开揉碎,另一个再如法炮制,如此一来,迷惑可解矣。 ssh一般会涉及到3个角色:两个端之间建立ssh连接,还有一个角色则是

    2024年02月12日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包