Kubectl 插件

查看本文大纲

Kubectl 插件是一种扩展 kubectl 命令提供额外行为的方式。通常,它们用于添加新功能到 kubectl 并自动化可脚本化的工作流程来操作集群。官方文档可在 此处 找到。

Argo Rollouts 提供了一个 Kubectl 插件来丰富 Rollouts、Experiments 和 Analysis 的体验。它提供了可视化 Argo Rollouts 资源的能力并从命令行上运行常规操作,例如 promote 或 retry。

安装

请参阅 安装指南 了解安装插件的说明。

用法

获取有关可用的 Argo Rollouts kubectl 插件命令的信息的最佳方法是运行 kubectl argo rollouts。插件列出了该工具可以执行的所有可用命令以及每个命令的描述。所有插件命令与 Kubernetes API 服务器交互,并使用 KubeConfig 凭据进行身份验证。由于插件利用运行命令的用户的 KubeConfig,因此插件具有这些配置的权限。

与 kubectl 类似,该插件使用许多与 kubectl 相同的标志。例如,kubectl argo rollouts get rollout canary-demo -w 命令会在canary-demo rollout 对象上启动一个 watch,类似于kubectl get deployment canary-demo -w 命令在部署上启动一个 watch。

可视化 Rollouts 和 Experiments

除了封装许多常规命令之外,Argo Rollouts kubectl 插件还支持使用 get 命令可视化 rollouts 和 experiments。get 命令提供了一个干净的表示形式,用于表示在集群中运行的 rollouts 或 experiments。它返回关于资源的大量元数据,以及父资源创建的子资源的树状视图。以下是使用 get 命令检索到的一个 rollout 的示例:

image
kubectl argo rollouts 命令行示例

下面是一个表格,解释了树视图上的一些图标:

图标 Kind
Rollout
Σ Experiment
α AnalysisRun
# Revision
ReplicaSet
Pod
Job

如果 get 命令包括 watch 标志(-w--watch),则终端会随着 rollouts 或 experiments 的进展而更新,突出显示进度。