本文为您介绍如何使用CloudApp命令行工具。
工具简介
CloudApp CLI 是EDAS提供用来管理K8s应用的一个命令行工具,是Kubectl的标准插件,旨在帮助开发和运维人员能够在终端场景高效地管理应用的整个生命周期和运维发布。其提供的核心命令如下表所示。
命令分类 | 命令 | 描述 |
应用生命周期管理 | create | 创建新的应用 |
delete | 删除应用 | |
start | 启动应用(扩容到指定副本数) | |
stop | 停止应用(缩容到0) | |
restart | 重启应用 | |
scale | 应用扩缩容 | |
应用发布与更新 | rollout | 执行应用发布(更新镜像、版本等) |
应用状态查看 | get | 获取应用基本信息 |
list | 列出所有应用 | |
status | 查看应用状态 | |
describe | 查看应用详细信息 | |
inspect | 检查应用及相关资源状态 | |
配置管理 | config | 管理配置 |
help | 查看命令帮助信息 | |
工具信息 | version | 查看版本信息 |
安装工具
Linux/macOS
下载地址
Liunx
x86-64
wget -O kubeapps https://edas-hz.oss-cn-hangzhou.aliyuncs.com/cloudapp/cli/kubeapps-linux-amd64
ARM64
wget -O kubeapps https://edas-hz.oss-cn-hangzhou.aliyuncs.com/cloudapp/cli/kubeapps-linux-arm64
macOS
x86-64
wget -O kubeapps https://edas-hz.oss-cn-hangzhou.aliyuncs.com/cloudapp/cli/kubeapps-darwin-amd64
ARM64
wget -O kubeapps https://edas-hz.oss-cn-hangzhou.aliyuncs.com/cloudapp/cli/kubeapps-darwin-arm64
安装和验证
chmod +x kubeapps
sudo mv kubeapps /usr/local/bin/
# 验证安装
kubeapps version
Windows
下载地址
https://edas-hz.oss-cn-hangzhou.aliyuncs.com/cloudapp/cli/kubeapps-windows-amd64.exe
安装和验证
# 下载 kubeapps.exe 到系统路径
# 或添加到 PATH 环境变量
kubeapps.exe version
工具常用命令
配置管理
通过配置管理,可以显示当前的所有配置信息,包括集群连接和个人设置,也可以指定要使用的 Kubernetes 配置文件路径、指定要连接的 Kubernetes 集群上下文、指定命令行帮助菜单的语言等。
# 查看当前配置
kubeapps config show
# 设置 Kubeconfig 文件
kubeapps config set kubeconfig ~/.kube/config
# 设置语言
kubeapps config set language zh
应用管理
创建一个名为 example-app
的应用,使用指定的容器镜像。需要指定应用名称、镜像地址、工作负载类型(默认 Deployment
)和命名空间(默认 default
)。
# 创建应用
kubeapps create example-app --image=registry.cn-hangzhou.aliyuncs.com/edas-demo-project/consumer:1.0 --workload-type=Deployment -n default
可以使用 list
命令查看应用是否创建成功,这个命令可以查看指定命名空间下所有 CloudApp 应用。
# 查看指定命名空间(默认 default)下所有CloudApp应用
kubeapps list
使用get
命令可以获取指定应用的基本信息和状态。
# 查看应用详情
kubeapps get example-app
使用delete
将应用删除,删除后重新使用 get
命令将报错。
# 删除应用
kubeapps delete example-app
部署更新
直接发布
使用 rollout
命令,指定镜像名称,可直接对应用进行发布。
# 立即更新
kubeapps rollout example-app --image=registry.cn-hangzhou.aliyuncs.com/edas-demo-project/provider:1.0
创建成功后,我们可以使用rollout
的子命令history
来查看发布历史。
# 查看发布历史
kubeapps rollout history example-app
分批发布
分批次更新应用,每次只更新部分副本以确保服务可用性。这里设置 --batch=3
表示分3个批次更新,发布后可以通过status
(或inspect
)查看当前状态,当应用状态为Paused
时,可进行下一批发布。
分批发布需要我们的副本数量大于批次数量,可以使用scale
命令进行扩容。
# 扩容应用,批次数不应大于副本数
kubeapps scale example-app --replicas=5
扩容成功后,可以使用rollout
,并指定batch
参数进行分批发布。
# 批次更新
kubeapps rollout example-app --image=registry.cn-hangzhou.aliyuncs.com/edas-demo-project/provider:1.0 --batch=3
当应用的状态为Paused
的时候,表示这一批次已经结束,可以进行下一批次。
# 查看状态
kubeapps rollout status example-app -n default
使用rollout
的子命令promote
来推进下一批次。
# 继续下一批次(第二批)
kubeapps rollout promote example-app
接着查看发布状态,如果显示状态为Progressing
表示正在处理,稍等片刻后状态变为Paused
。
继续推进下一批次。
# 继续下一批次(第三批)
kubeapps rollout promote example-app
发布完成后,应用状态变为Ready
。
也可以使用inspect
命令,查看 CloudApp 以及相关资源的状态。
kubeapps inspect example-app