推荐工具!使终端便于 DevOps 和 Kubernetes 使用
如果你熟悉 DevOps 和 Kubernetes 的使用,就会知道命令行界面(CLI)对于管理任务有多么重要。好在现在市面上有一些工具可以让终端在这些环境中更容易使用。在本文中,我们将探讨可以让工作流程简化的优秀工具,帮助你在 DevOps 和 Kubernetes 中自如地浏览终端。
Zsh
Zsh (Z Shell)是一款功能强大、高度可定制的命令行 shell 和终端模拟器,与 Bash 等传统 shell 相比,它具有更强的功能和更高的效率。Zsh 提供以下选项,因此深受开发人员和 DevOps 工程师的青睐。
ohmyzsh
Oh My Zsh 是一个开源、社区驱动的框架,用于管理 Zsh 配置。您可以使用curl 安装它,如下所示:
sh -c "$(curl -fsSL <https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh>)"
zsh-syntax-highlighting
zsh-syntx-highlighting 是 Zsh shell 的一个插件,可在输入时为命令及其参数提供实时语法高亮显示。它有助于直观地区分不同类型的命令、选项、路径和变量,从而更容易发现错误并理解终端中命令的结构。
请按安装指南进行操作:
https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md
这是我的终端在安装工具前后的样子:

安装前

安装后
zsh-autosuggestions
zsh-autosuggestions 是 Zsh shell 的一个有用插件,可在用户键入命令时提供智能命令建议。它会分析你的命令历史记录,并为完成命令提供预测性建议。
请参考安装指南:
https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md
这是我的终端在安装该工具前后的样子:

安装前

安装后
Terraform
如果你使用 Terraform 和 Terragrunt 作为基础架构代码工具,那么在使用 Terraform 和 Terragrunt 时,你可能会发现以下相关工具非常有用。
tfswitch and tgswitch
Tfswitch 和 tgswitch 是命令行工具,可简化不同版本的 Terraform 和 Terragrunt 基础设施即代码工具之间的切换。它们允许开发人员和操作人员针对不同的项目或环境轻松管理和切换不同版本的 Terraform 和 Terragrunt。
在 Mac 上,您可以按如下方式安装这些工具:
brew install warrensbox/tap/tfswitch
brew install warrensbox/tap/tgswitch
注意:在 Mac 上使用 Zsh 安装 Terraform 和 Terragrunt 时,若要使用 tfswitch 和 tgswitch,可能需要在 .zshrc 文件中添加以下一行。
export PATH=$HOME/bin:/usr/local/bin:$PATH
Infracost
Infracost 是一款功能强大的工具,可帮助您估算和跟踪 Terraform 等平台中基础设施即代码(IaC)的成本。通过分析基础架构配置文件,Infracost 可提供实时成本估算,让您做出明智的决策,并通过识别潜在的成本节约机会来优化云计算支出。
该工具还有一个 Visual Studio Code (VSCode) 扩展。
这就是我在一个项目中运行的结果:

TfSec
TFSec 是专为 Terraform 代码设计的安全扫描工具。它有助于识别代码基础架构中潜在的安全漏洞和违反最佳实践的行为,让你主动解决安全问题,确保符合行业标准和组织政策。
你可以在 Mac 上安装,如下所示:
brew install tfsec
这是在我的项目运行的结果:

Git
如果您使用 Git,这里我还将推荐一些工具能够让您的工作更加轻松便捷。
Git aliases
为 Git 使用别名有很多好处,包括通过减少重复输入冗长 Git 命令的需要来提高生产力和效率。如果你经常使用 Git,建议在 .zshrc 文件中定义常用 Git 命令的别名。下面是一个示例,可以帮助你开始使用 Git:
# Git aliases
alias gs='git status'
alias ga='git add'
alias gc='git commit'
alias gp='git push'
alias gpl='git pull'
alias gb='git branch'
通过在 shell 配置文件(如 .bashrc 或 .zshrc)中定义这些别名,只需键入别名而不是完整的 Git 命令就能执行常见操作,从而在日常 Git 工作流程中节省时间和精力。
GitLens
GitLens 是 VSCode 的一个有用的扩展,它在使用 Git 存储库时提供有价值的见解和附加功能。它使用户能够轻松跟踪更改、查看提交详细信息并直接在代码编辑器中了解代码作者身份,从而增强协作并更轻松地导航和探索项目历史记录。
在 Visual Studio Code 中启用 GitLens 扩展后,您将看到代码作者身份的清晰指示:

Git Graph
Git Graph 是 Visual Studio Code 的一个用户友好型扩展,能直观地显示 Git 仓库的提交历史。通过它,您可以轻松直观地查看分支、合并和提交情况,对项目的开发时间轴有一个有用的概览,并能更简单地浏览和理解 Git 仓库的结构。
Kubernetes
由于 Kubernetes 的复杂性,人们创建了许多额外的工具来帮助 DevOps 团队有效地利用它。这些工具旨在简化流程,让 DevOps 专业人员能够无缝地使用 Kubernetes 并优化他们的部署和管理任务。
Kubernetes aliases
就像为 Git 命令使用别名一样,为 Kubernetes 命令使用别名也有好处。别名能让 Kubernetes 命令的使用更简单、更高效,在与 Kubernetes 集群和资源交互时省时省力。
alias k='kubectl'
# For switching context between different clusters
alias kswitch-maryam='kubectl config use-context maryam'
alias kswitch-mary='kubectl config use-context mary'
alias kpod='kubectl get pods -A'
alias knode='kubectl get nodes'
alias kdesp='kubectl describe pod'
alias kdp='kubectl delete pod'
alias kgd='kubectl get deployments'
这些只列出了几个例子,你还可以根据常用的 Kubernetes 命令自定义别名。将这些别名添加到 shell 配置文件(如 .bashrc 或 .zshrc)中,就可以使用这些快捷方式快速、轻松地执行 Kubernetes 命令。
kube-ps1
Kube-ps1 可为您的命令提示符提供有关当前 Kubernetes 上下文的相关信息。在使用多个 Kubernetes 集群和管理不同集群上下文时十分有用。该工具直观地突出显示了活动集群上下文的详细信息,帮助用户避免潜在的错误,并在导航和与 Kubernetes 环境交互时更加清晰。
您可以按如下方式在 Mac 上安装它:
brew install kube-ps1
如果使用 Zsh,请确保在 .zshrc 文件中添加以下内容:
plugins=(
kube-ps1
)
PROMPT='$(kube_ps1)'$PROMPT # or RPROMPT='$(kube_ps1)'
这就是该工具可视化当前活动上下文和命名空间的方式:

kubecolor
Kubecolor 是一个便捷易用的工具,通过颜色和格式增强 Kubernetes 命令的输出,使其更易于阅读和理解。Kubecolor 提高了可见性,并有助于在使用 Kubernetes 时快速识别重要信息。(这也是日常使用 Kubernetes 时的一个救星工具!)
在 Mac 上安装如下,并确保将第二行添加到 .zshrc 中,以便与 kubectl 自动完成功能配合使用:
brew install hidetatz/tap/kubecolor
# get zsh complete kubectl
source <(kubectl completion zsh)
alias kubectl=kubecolor
# make completion work with kubecolor
compdef kubecolor=kubectl
这里是一个说明该工具如何为 Kubernetes 命令的输出着色的示例:

kubectx + kubens
Kubectx + kubens 是管理 Kubernetes 上下文和命名空间的优秀工具。Kubectx 允许用户在不同的 Kubernetes 上下文之间切换,而 Kubens 则简化了特定上下文内的命名空间之间的切换,使得更轻松地使用多个集群并高效地组织资源。
K9s
K9s 是一款用户友好型命令行工具,为管理 Kubernetes 集群提供了一个可视化仪表盘。它提供了一个简单直观的界面,用于查看资源、pod、日志和事件并与之交互,使 DevOps 专业人员能更轻松地监控 Kubernetes 部署并排除故障。
k8s Lens
K8s Lens是一款用户友好型桌面应用程序,为管理和监控 Kubernetes 集群提供了图形界面。它提供了资源、pod 和节点的可视化表示,允许用户轻松浏览 Kubernetes 环境并与之交互,方便开发人员和管理员使用 Kubernetes。
popeye
Popeye 是一款好用的命令行工具,能分析 Kubernetes 集群,并就潜在问题或错误配置提供有价值的建议。它能扫描集群配置、命名空间、部署和 pod,找出违反最佳实践、资源效率低下和安全问题,帮助用户确保 Kubernetes 部署得到优化和良好维护。
以下是 Popeye 在扫描集群时提供的示例信息:

在 Mac 上安装该工具如下:
brew install derailed/popeye/popeye
Kube-shell
Kube-shell 是 Kubernetes CLI 的集成 shell。它提供友好的用户界面,可视化显示集群资源,允许用户轻松导航、监控和管理其 Kubernetes 部署,而无需依赖命令行界面。
Kube-Capacity
Kube-Capacity 是一款可让您深入了解 Kubernetes 集群的资源使用情况和容量的工具。它能帮助您了解集群资源是如何分配和利用的,让您能够优化资源分配、规划扩展,并确保 Kubernetes 环境中的高效资源管理。
参考链接:
https://awstip.com/tools-to-make-your-terminal-devops-and-kubernetes-friendly-64d27a35bd3f
推荐工具!使终端便于 DevOps 和 Kubernetes 使用的更多相关文章
- DevOps与Kubernetes 、容器的关系
近两年,随着容器.Kubernetes 等技术的兴起,DevOps 这个概念被广泛提及并被大量使用. 本文将会从以下几个方面着手,结合实验展现的方式,让读者真正理解 DevOps 的含义. DevOp ...
- chalk插件 使终端输出的字带颜色
1.使终端输出红色字体: const chalk = require('chalk'); console.log(chalk.red('this is red!') 这时运行终端,打印的this is ...
- oracle中sqlldr工具使用时注意事项
1.命令写在一行:如,sqlldr sh/&sh_pass@&connect_string control=&ctl_file data=&dat_file log=& ...
- 深度剖析:最新云端开发工具如何实现敏捷+DevOps开发落地
相信很多软件开发人员们对今年国内新兴的云端开发工具——华为软件开发云都有耳闻,有些人可能还免费体验过,由于它5人以下的团队是免费使用的,很庆幸本人的这个项目正好5个人,就注册使用了.下面就自己的使用心 ...
- 初学javaScript推荐工具
对于刚开始学习js的同学,强烈推荐直接使用chrome developer mode,超级方便. 随便打开一个网页,开启开发者模式即可写js代码,不用新建html和js文件即可看到自己写的js代码的结 ...
- 12306GT多线程、分流免费抢票工具使用心德
大事记背景 我相信很多远游他乡的朋友每逢佳节都会遇到一个难题,就是购票难,这个难题有多难呢?经常在12306官网购票的小伙伴应该知道每个地方的放票时间是不一样的,但是逢年过节的那几天即使你在放票几分钟 ...
- 36氪Plus消息:贷款组合推荐工具“钱小二”已获数百万天使轮融资
根据"钱小二"在创业者社区36氪plus上的更新信息,该团队已获得数百万天使轮融资,投资方及投资时间不明. "钱小二"是一个贷款搜索 + 贷款组合推荐平台,目标 ...
- SQL Server DBA十大必备工具使生活轻松
[IT168 技术]曾经和一些DBA和数据库开发人员交流时,问他们都用过一些什么样的DB方面的工具,大部分人除了SSMS和Profile之外,基本就没有使用过 其他工具了;诚然,SSMS和Profil ...
- Ubuntu下如何配置使终端透明
今天学习了一招如何将Ubuntu下的终端背景颜色变得透明,感觉透明之后有好处,比如网上有些命令,可以直接覆盖原来的网页察看,然后敲击命令. 下面就来看看终端背景变透明前后的对比效果. 完全不透明,最大 ...
- 新书推荐《再也不踩坑的Kubernetes实战指南》
<再也不踩坑的Kubernetes实战指南>终于出版啦.目前可以在京东.天猫购买,京东自营和当当网预计一个星期左右上架. 本书贴合生产环境经验,解决在初次使用或者是构建集群中的痛点,帮 ...
随机推荐
- 【GiraKoo】Git工具使用指南
Git工具使用指南 Git是一个分布式版本控制工具,可以用于管理代码.本文介绍了如何使用git工具. 1. SVN和Git的区别 1.1 SVN SVN是集中式版本控制工具,所有的代码都存储在一个中央 ...
- 2014年蓝桥杯C/C++大学B组省赛真题(地宫寻宝)
题目描述: X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. ...
- Cannot read property ‘type‘ of undefined Occurred while linting **\index.jsx:1
今一个react 中使用mobx 老是提示Cannot read property 'type' of undefined Occurred while linting **\index.jsx:1 ...
- weexplus真机调试
一.连接真机 C:\Users\Lenovo>adb devices List of devices attached C9K7N15722004375 device 确定连接无误,否则执行we ...
- * daemon not running; starting now at tcp:5037
今日使用weeplus run android时 看错误提示 ,是5037端口的问题 * daemon not running; starting now at tcp:5037 于是找到查看端口的 ...
- 基于Expression Lambda表达式树的通用复杂动态查询构建器——《构思篇一》
在上一篇中构思了把查询子句描述出来的数据结构,那么能否用代码将其表达出来,如何表达呢? 再次回顾考察,看下面的查询子句: Id>1 and Id<10 如上所示,有两个独立的条件分别为Id ...
- GitHub 的项目徽章
GitHub 项目的 README.md 中可以添加徽章(Badge)对项目进行标记和说明,这些好看的小图标不仅简洁美观,而且还包含了清晰易读的信息. GitHub 项目的徽标可以参考 https:/ ...
- 原来kafka也有事务啊,再也不担心消息不一致了
前言 现在假定这么一个业务场景,从kafka中的topic获取消息数据,经过一定加工处理后,发送到另外一个topic中,要求整个过程消息不能丢失,也不能重复发送,即实现端到端的Exactly-Once ...
- 【Python爬虫】批量爬取网页的图片&制作数据集
由于Python拥有强大且丰富的类库,语法简单,效率高而被广泛运用于网络爬虫,很多人都是通过爬虫认识Python. 因为小编最近正在做目标识别相关的项目,所以需要大量的 ...
- 【python基础】复杂数据类型-字典(增删改查)
1.初识字典 字典,是另外一种复杂的数据类型,相较于列表,字典可以将相关信息关联起来.比如说一个人的信息有名字.年龄.性别等,如果用列表存储的话,不能表示他们之间是相关联的,而字典可以,字典是一个或多 ...