用PowerShell释放Kubectl快捷键的潜力

Kubectl是连接我们和Kubernetes核心的命令行接口:API服务器。通过kubectl,我们可以创建、更新和删除集群中的资源,管理pod和服务,甚至可以排除问题。它是一个命令行伙伴,使我们能

用PowerShell释放Kubectl快捷键的潜力

Kubectl是连接我们和Kubernetes核心的命令行接口:API服务器。通过kubectl,我们可以创建、更新和删除集群中的资源,管理pod和服务,甚至可以排除问题。它是一个命令行伙伴,使我们能够接触到Kubernetes的魔力。

但是,即使是最有经验的Kubernetes管理员也会发现自己陷入了重复输入相同命令的乏味循环中。但是,如果你能从这种单调的工作中解脱出来,将你的kubectl游戏提升到一个全新的水平呢?这就是kubectl快捷键的威力所在,它允许我们简化工作流程,释放集群的全部潜力。 (到最后,找到一个正确的地方来存储Powershell中的别名函数)

1. 最常见和必须的别名,没有人愿意输入\'kubectl\'这个词。

Set-Alias -Name k -Value kubectl

2. 改变上下文是很难的,特别是如果你没有使用vscode Kubernetes扩展。下面的代码给你一个搜索和选择集群上下文的选项。将上下文名称的位数作为参数,并从输出中选择你的上下文。使用以下语法进行调用。 (注意:确保在代码中设置你喜欢的两个或三个字母的别名)

,,...

function ClusterChange([string[]]$argsarr){      $all = kubectl config get-contexts -o \'name\'      #$all | Where { $_ -Match ($clustrName -Join \"and\")}      foreach ($arg in $argsarr){            $all = $all | where { $_ -match $arg}      }      $matchclustr =  $all      $i = 0      foreach ($clustr in $matchclustr){                $i++                write-host $i,$clustr      }      if ($i -eq 1){                kubectl config use-context $clustr      }      elseif ($i -gt 1){                $opt = [int]$(Read-Host \"Choose\") - 1                 kubectl config use-context $matchclustr[$opt]      }      else{                Write-Host \'NOT FOUND\'      }   $NS = k config view --minify -o jsonpath=\"{..namespace}\"   if(!$NS){          $NS = \'default\'   }      Write-Host \"Current Namespace: $NS\"}Set-Alias -Name  -Value ClusterChange

3. 为当前环境设置命名空间

function ([string]$NS=\'\'){   kubectl config set-context --current --namespace=$NS}

4. 用名称空间查看当前的集合背景

function (){   kubectl config current-context   $NS = k config view --minify -o jsonpath=\"{..namespace}\"   if(!$NS){       $NS = \'default\'   }   Write-Host \"Current Namespace: $NS\"}

5. 复制podName到剪贴板,对于那些讨厌用鼠标复制的人。 你可以为函数设置别名,或者使用函数名称作为别名。

#Get required pod name into clipboardfunction ([string]$kpodMatch=\'\'){   k get pods -oname | where{$_ -match $kpodMatch } | scb}#Get required pod name into clipboard from all namespacesfunction ([string]$kpodMatch=\'\'){   k get pods -oname -A | where{$_ -match \"$kpodMatch#34; } | Set-Clipboard}

(参考:scb或Set-Clipboard)

PowerShell配置文件是一个在PowerShell启动时运行的脚本,它是一个存储你的自定义函数和别名的好地方,包括kubectl别名函数。配置文件脚本可以在以下地方找到。 关于配置文件 - PowerShell | Microsoft Learn

我们也可以使用$PROFILE变量来查找路径。这个自动变量存储了当前会话中可用的PowerShell配置文件的路径。使用下面的命令打开配置文件脚本文件。

$profile | Invoke-Item

#网络#

本文来自于头条号作者:吉祥庄钢铁侠,本站旨在传播优质文章,无商业用途。

本站部分文章来自网络或用户投稿,如无特殊说明或标注,均为本站原创发布。涉及资源下载的,本站旨在共享仅供大家学习与参考,如您想商用请获取官网版权,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
投稿

如何在Nginx中获得客户的IP地址

2023-2-19 17:43:58

投稿

如何在Nginx中配置安全头信息

2023-2-19 17:44:01

搜索