k8s命令行web代理神器gotty
介绍
GoTTY是一个能将你的命令行搬到网页上来的工具。
话不多说,先上图,我们一般使用kubectl都是在命令行,下面展示一下网页版kubectl get pod
安装
官方文档:yudai/gotty
- 方式一
go get github.com/yudai/gotty
- 方式二
brew install yudai/gotty/gotty
- 方式三
直接下载你系统的二进制文件:yudai/gotty/releases
我是源码自己编译的
go build *.go
使用示例
- 启动一个top终端
gotty top
默认是8080端口
访问如下
-p 指定端口
gotty -p 8089 top
-c 指定账号密码
gotty -c abc:123 top
-w 支持tty交互
gotty -w bash
--permit-arguments 支持get参数传参
参数通过arg传递,比如要传递多个参数ls -l
http://127.0.0.1:8080/?arg=ls&arg=-l
最后会变成空格分隔的形式传给命令启动的命令
比如,我们可以动态调用shell命令
gotty --permit-arguments bash -c
--random-url 生成随机地址
比如
gotty --random-url -w bash
我们现在再访问得通过地址http://192.168.203.73:8080/fla589kv,而不再是一个简单的8080端口地址http://192.168.203.73:8080
--reconnet 支持重新链接
gotty -w --reconnect bash
简单说你操作一会儿后,刷新浏览器内容还保持着
可以配合--reconnect-time指定最大超时时间--reconnect-time
--title-format 指定终端名字
例如
gotty -w bash --title-format chenqionghe
访问如下,可以看到title变成了chenqionghe
K8S终端代理示例
启动kubectl终端
gotty --permit-arguments kubectl --kubeconfig ./test
这里我们试一下
kubectl get po
可以这样访问
http://127.0.0.1:8080/?arg=get&arg=po
查看pod日志
如果我们要想看pod nginx-demo-5b79dc546f-cs6f的日志,命令行是这样的
kubectl --kubeconfig ./test logs -f nginx-demo-5b79dc546f-cs6fz -n web`
地址就可以这样访问
http://127.0.0.1:8080/?arg=logs&arg=-f&arg=nginx-demo-5b79dc546f-cs6fz&arg=-n&arg=web
进入pod执行命令
命令行命令如下
kubectl --kubeconfig ./test exec -it nginx-demo-5b79dc546f-cs6fz -n web bash
我们换成地址访问
http://127.0.0.1:8080/?arg=exec&arg=-it&arg=nginx-demo-5b79dc546f-cs6fz&arg=-n&arg=web&arg=bash
访问如下
可以这里有个问题,不能执行命令!
这是为啥呢?
因为我们启动kubectl的时候没有加入交互参数-w,我们停止之前的命令加入-w再重新执行一遍
gotty -w --permit-arguments kubectl --kubeconfig ./test
再访问可以正常执行shell了
k8s命令行web代理神器gotty的更多相关文章
- 使用npm安装webpack失败时,可能被墙要为cmd命令行设置代理
一.搜索到的相关概念: Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. npm是 Node packaged Modules(node的包管理工具).本身用n ...
- 命令行web客户端与HTTP REST API调试工具
1.命令行web客户端 curl wget httpie 2.优雅的REST API调试工具 insomnia postman
- DSAPI CMD命令行进程代理
DSAPI.文件.CMD命令行进程代理,是用来和CMD.exe或指定exe进行输出重定向的简化使用工具,可隐藏或显式地启动一个cmd.exe,并将输出流.输入流和错误流重定向至代理,通过事件触发方式与 ...
- 【转帖】Linux命令行操作json神器jq
Linux命令行操作json神器jq https://www.cnblogs.com/chenqionghe/p/11736942.html jq类似一个awk或grep一样的神器,可以方便地在命令行 ...
- 好用到爆!GitHub 星标 32.5k+的命令行软件管理神器,功能真心强大!
前言(废话) 本来打算在公司偷偷摸摸给星球的用户写一篇编程喵整合 MongoDB 的文章,结果在通过 brew 安装 MongoDB 的时候竟然报错了.原因很简单,公司这台 Mac 上的 homebr ...
- CentOS下使用命令行Web浏览器Links
前言: Links是一个运行在命令行模式下的Web浏览器,只能查看字符.Links的官网是Click here. 安装Links yum install links 使用Links links URL ...
- K8S命令行工具——kubectl
1.kubectl概述 2.kubectl命令的语法 例子: 3.kubectl子命令使用分类 (1)基础命令 (2)部署和集群管理命令 (3)故障和调试命令 (4)其他命令 4.kubectl命令例 ...
- JQ:命令行 json 解析神器 —— 命令行的Jsonview
- 写了一个Mac快速设置、打开和关闭Web代理的Shell命令
缘由(痛点) 每次在Mac上设置Web代理,都需要点开"系统偏好设置 -- 网络 -- 高级 -- 代理",然后分别设置Web代理(HTTP)和安全Web代理(HTTPS),设置完 ...
随机推荐
- resp.getWriter().print(categoryList)、resp.getWriter().write(String)与new ObjectMapper().writeValue(resp.getOutputStream(),categoryList)的区别
前言:最近在复习原生的servlet的时候,对其输出流不理解,故总结一下: resp.getWriter().print(categoryList) 可以输出字符串,也可以输出对象,可能还有其他类型, ...
- nginx开发:ngx_sprintf
格式化参数%系列,如果误用的话,轻则输出不正确,重则nginx可能core. 1. 格式: %{格式描述}{输出类型描述}{数据类型描述} 2. 数据类型描述: V:字符串,对应ngx_str_t * ...
- Android API在线网站
http://android-doc.com/reference/packages.html
- .NET 6全文检索引擎Lucene.NET 4.8简单封装
前言 因为最近在做一个检索数据的工具.最开始用的Mysql8自带的全文检索功能.但是发现这货数据量超过百万之后,检索速度直线下降. 于是想到Lucene.net.花了一晚上时间做了简单的封装.可以直接 ...
- puppeteerExamples
What can I do? Most things that you can do manually in the browser can be done using Puppeteer! Here ...
- 9、架构--动静分离、rewrite、HTTPS
笔记 1.晨考 1.说明反向代理跟负载均衡有哪些区别? 2.负载均衡分配流量的几种方式? 1.轮询 2.权重 3.ip_hash 3.负载均衡部署BBS的步骤 2.昨日问题 3.今日内容 1.资源分离 ...
- Zookeeper 提供的API
上篇介绍了Zookeeper命令行相关的知识,本小作文介绍从另一个维度操作Node相关的内容:Zookeer的API.同样借用Zookeeper应用之一的数据注册与订阅中的案例类比命令行操作,重点介绍 ...
- C#的in/out关键字与协变逆变
C#提供了一组关键字in&out,在泛型接口和泛型委托中,若不使用关键字修饰类型参数T,则该类型参数是不可变的(即不允许协变/逆变转换),若使用in修饰类型参数T,保证"只将T用于输 ...
- 前端点击png透明部分解决方案
看效果:点击空白区域红色1.点击实体区域红色2.分别得到颜色数据(包括透明度数据),控制台蓝色1.2.根据颜色数据即可解决png透明部分的点击问题. 让图片不能点击,分两种 1. 整张图片不能点击.这 ...
- Windows server 2012安装vm-tools遇到的问题
Windows server 2012安装VM tools异常解决办法 在VMWare虚拟机上安装Windows Server 2012之 后安装VMWare Tools时报如下错误信息: 问题:缺少 ...