Kubectx & Kubens
项目地址: https://github.com/ahmetb/kubectx
安装:
brew install kubectx
brew install fzf
$(brew --prefix)/opt/fzf/install
Kubectx 该工具主要作用是快速在多个 Kubernetes 集群中切换。
Kubectx 使用效果图
Kubens 该工具可以帮助你快速的在 Kubernetes 的多个命名空间之间切换。
Kubens 使用效果图
Kube-promp
Kube-prompt 可以让你在命令行下接受与 Kubectl 相同的命令,并且不需要提供 Kubectl前缀。Kube-prompt 还提了交互式会话下的命令提示、自动补全等功能。
项目地址:https://github.com/c-bata/kube-prompt
使用效果图
Kube-shell
Kube-shell 可以为 Kubectl 提供自动的命令提示和补全,Kube-shell 与 Kube-prompt 的使用方法类似,可根据个人喜好选择使用
项目地址:https://github.com/cloudnativelabs/kube-shell
使用效果图
Kubectl Aliases
Kubectl Aliases 是一个通过编程方式生成的 Kubectl 别名脚本。如果你需要频繁地使用 Kubectl 和 Kubernetes API 进行交互,使用别名将会为你节省大量的时间。
项目地址:https://github.com/ahmetb/kubectl-aliases
Kubectl 别名使用示例
简单别名示例
kd → kubectl describe
高级别名示例
kgdepallw → kubectl get deployment –all-namespaces –watch
Kubeval
如果你手动写 Kubernetes manifest 文件,检查 manifest 文件的语法是否有误是很困难的,特别是当你有多个不同版本的 Kubernetes 集群时,确认配置文件语法是否正确更是难上加难。
Kubeval 是一个用于校验 Kubernetes YAML 或 JSON 配置文件的工具,支持多个 Kubernetes 版本,可以帮助我们解决不少的麻烦。
项目地址:https://github.com/garethr/kubeval
Kubernetes manifest 文件正常的情况
`$ kubeval nginx-deployment.yaml`
`The document nginx-deployment.yaml contains a valid Deployment`
Kubernetes manifest 文件不正常的情况
`kubeval nginx.yaml`
`The document nginx.yaml contains an invalid Deployment`
`---> spec.replicas: Invalid type. Expected: integer, given: string`
Kt Connect
项目地址:https://alibaba.github.io/kt-connect/#/zh-cn/
KT Connect ( Kubernetes Developer Tool ) 是轻量级的面向 Kubernetes 用户的开发测试环境治理辅助工具。其核心是通过建立本地到集群以及集群到本地的双向通道,从而提升在持续交付生命周期中开发环节的效率问题以及开发测试环境的复用问题。
1. 直接访问Kubernetes集群
开发者通过KT可以直接连接Kubernetes集群内部网络,在不修改代码的情况下完成本地开发与联调测试
2. 转发集群流量到本地
开发者可以将集群中的流量转发到本地,从而使得集群中的其它服务可以联调本地
3. Service Mesh支持
对于使用Istio的开发者,KT支持创建一个指向本地的Version版本
4. 基于SSH的轻量级VPN网络
KT使用shhuttle作为网络连接实现,实现轻量级的SSH VPN网络
5. 作为kubectl插件,集成到Kubectl
开发者也可以直接将ktctl集成到kubectl中
KtEnv
项目地址:https://alibaba.github.io/virtual-environment/#/
KtEnv(原名KtVirtualEnvironment)是一种基于ServiceMesh的微服务环境复用工具,源于阿里内部的“项目环境”实践。
通过识别Pod上的虚拟环境标签,KtEnv能够自动将测试环境网络动态隔离成多个虚拟隔离域,同时以简单规则在隔离域间局部复用Pod实例,从而达到只需很少资源成本即可创建大量不同微服务版本组合的独立测试环境的目的。
- 基于环境标记划分虚拟隔离域
- 隔离域之间复用大部分公共环境服务实例
- 用户随意在隔离环境中部署、调试服务而不会影响其他开发者
- 本地运行服务无需部署到集群,直接加入任意隔离域