推荐工具!使终端便于 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/90625.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「并发编程 」

一、 为什么会有线程安全问题 1&#xff09;程序和CPU间的协作关系 CPU组成 寄存器 存储了从内存加载的数据&#xff08;从内存中将数据加载到 L1&#xff0c;L2&#xff0c;L3 缓存&#xff0c;再到寄存器&#xff09; &#xff1b;寄存器的运行速度比内存快好多个级别&…

中小企业选择CRM系统需要有哪些功能?

对于中小企业来说&#xff0c;选择一个合适的CRM系统是非常重要的&#xff0c;一款好用的CRM可以帮助企业提高业务效率&#xff0c;获得更多收益。那么&#xff0c;中小企业CRM系统的主要特点有哪些呢&#xff1f;下面我们从四个方面来说说。 1、功能&#xff1a; 功能是指CR…

试岗第一天问题

1、公司的一个项目拉下来 &#xff0c;npm i 不管用显示 后面百度 使用了一个方法 虽然解决 但是在增加别的依赖不行&#xff0c;后面发现是node版本过高&#xff0c;更换node版本解决。 2、使用插件动态的使数字从0到100&#xff08;vue-animate-number插件&#xff09; 第一…

日常BUG——git提交代码报错

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;日常BUG、BUG、问题分析☀️每日 一言 &#xff1a;存在错误说明你在进步&#xff01; 一、问题描述 git 在提交代码时报错&#xff1a; Committing is not possible because you have unmerge…

QT 使用第三方库QtXlsx操作Excel表

1.简介 一直以来&#xff0c;都想学习一下C/C如何操作excel表&#xff0c;在网上调研了一下&#xff0c;觉得使用C/C去操作很麻烦&#xff0c;遂转向QT这边&#xff1b;QT有一个自带的类QAxObject&#xff0c;可以使用他去操作&#xff0c;但随着了解的深入&#xff0c;觉得他…

【力扣周赛】第 358 场周赛

文章目录 竞赛链接Q1&#xff1a;6939. 数组中的最大数对和竞赛时代码—— O ( n 2 ) O(n^2) O(n2)解法2——一次遍历 O ( n ) O(n) O(n)&#xff0c;维护最大数位为 i 的元素的最大值 Q2&#xff1a;6914. 翻倍以链表形式表示的数字竞赛时代码——存入列表再计算解法2——只有…

R语言生存分析算法的简单组合

library(survival) library(randomForestSRC)# 生成模拟数据 set.seed(123) n <- 200 time <- rexp(n, rate 0.1) status <- rbinom(n, size 1, prob 0.7) var1 <- rnorm(n) var2 <- rnorm(n) var3 <- rnorm(n) data1 <- data.frame(time time, statu…

PLL 的 verilog 实现

锁相环&#xff08;PLL&#xff09;是一种常用的频率、相位追踪算法&#xff0c;在信号解调、交流并网等领域有着广泛的应用。本文对全数字锁相环的原理进行介绍&#xff0c;随后给出 verilog 实现及仿真。 PLL 锁相原理 锁相环结构如下图所示&#xff0c;主要由鉴相器、环路滤…

UDP通信实验、广播与组播、本地套接字

文章目录 流程函数应用广播应用 组播&#xff08;多播&#xff09;本地套接字应用 流程 函数 返回值&#xff1a; 成功&#xff0c;返回成功发送的数据长度 失败&#xff0c;-1 返回值&#xff1a; 成功&#xff0c;返回成功接收数据长度 失败&#xff0c;-1 应用 广播 应用 …

【不限于联想Y9000P电脑关盖再打开时黑屏的解决办法】

不限于联想Y9000P电脑关盖再打开时黑屏的解决办法 问题的前言问题的出现问题拟解决 问题的前言 事情发生在昨天&#xff0c;更新了Win11系统后&#xff1a; 最惹人注目的三处地方就是&#xff1a; 1.可以查看时间的秒数了&#xff1b; 2.右键展示的内容变窄了&#xff1b; 3.按…

湖南科技学院图书馆藏八一新书《乡村振兴战略下传统村落文化旅游设计》

湖南科技学院图书馆藏八一新书《乡村振兴战略下传统村落文化旅游设计》

20230815在淘宝的代扫描服务【仅供参考】

20230815在淘宝的代扫描服务【仅供参考】 2023/8/15 12:35 https://item.taobao.com/item.htm?spma21n57.1.0.0.3d47523caCFZ3T&id601206116790&ns1&abbucket4#detail e邦生活服务 https://item.taobao.com/item.htm?_ufju3ku42b4&id629900806906 寄书扫描…

奥威BI数据可视化工具:报表就是平台,随时自助分析

别的数据可视化工具&#xff0c;报表就只是报表&#xff0c;而奥威BI数据可视化工具&#xff0c;一张报表就约等于一个平台&#xff0c;可随时展开多维动态自助分析&#xff0c;按需分析&#xff0c;立得数据信息。 奥威BI是一款多维立体分析数据的数据可视化工具。它可以帮助…

JavaFx基础学习【五】:FXML布局文件使用

目录 前言 一、介绍 二、简单体验 三、FXML标签元素 四、fx属性介绍 五、重写initialize&#xff08;名字需要保持一致&#xff09;方法 六、Scene Builder快速布局 前言 如果你还没有看过前面的文章&#xff0c;可以通过以下链接快速前往学习&#xff1a; JavaFx基础学…

Vscode 常用操作教程

一、语言换成中文 这是我们可以直接点击左边栏第四个图标搜索插件 chinese ,也可以直接ctrlshiftp快捷键也会出来如图所示图标&#xff0c;出来chinese 插件之后选择安装install,安装完成之后重新ctrlshiftp会出现如图所示页面 找到我的鼠标在的地方对应的中文&#xff0c;此时…

2023国赛 高教社杯数学建模ABCDE题思路汇总分析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…

R语言实现随机生存森林(2)

library(survival) library(randomForestSRC) help(package"randomForestSRC") #构建普通的随机生存森林 data(cancer,package"survival") lung$status<-lung$status-1 rfsrc.fit1 <- rfsrc(Surv(time, status) ~ ., lung,ntree 100,block.size 1,…

react入门到实战 学习笔记1 搭建

一、React是什么 一个专注于构建用户界面的 JavaScript 库&#xff0c;和vue和angular并称前端三大框架 React有什么特点 1- 声明式UI&#xff08;JSX&#xff09; 写UI就和写普通的HTML一样&#xff0c;抛弃命令式的繁琐实现 2- 组件化 组件是react中最重要的内容&#xf…

开学季值得买电容笔有哪些?推荐平价好用的电容笔

大多数的学生党都没有稳定的经济来源&#xff0c;因此在挑选东西时都追求着高性价比。随着iPad平板电脑的性能不断提高&#xff0c;其所具备的功能将不断增加&#xff0c;它将逐渐融入我们的生活与工作。由于电子产品的不断升级&#xff0c;软件的改进&#xff0c;使得电容笔的…

DNS部署与安全详解(下)

文章目录 前言一、指定区域解析配置二、DNS服务器对外名称显示配置三、转发器使用配置四、配置辅助&#xff08;备份&#xff09;服务器五、如何让虚拟机可以真实上网六、为DNS服务器配置别名 前言 上一篇博客我们已经在Windows server2003的虚拟机上下载了DNS软件&#xff0c;…