CloudApp CLI用户指南

本文为您介绍如何使用CloudApp命令行工具。

工具简介

CloudApp CLI 是EDAS提供用来管理K8s应用的一个命令行工具,是Kubectl的标准插件,旨在帮助开发和运维人员能够在终端场景高效地管理应用的整个生命周期和运维发布。其提供的核心命令如下表所示。

命令分类

命令

描述

应用生命周期管理

create

创建新的应用

delete

删除应用

start

启动应用(扩容到指定副本数)

stop

停止应用(缩容到0)

restart

重启应用

scale

应用扩缩容

应用发布与更新

rollout

执行应用发布(更新镜像、版本等)

应用状态查看

get

获取应用基本信息

list

列出所有应用

status

查看应用状态

describe

查看应用详细信息

inspect

检查应用及相关资源状态

配置管理

config

管理配置

help

查看命令帮助信息

工具信息

version

查看版本信息

image.png

安装工具

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

image

可以使用 list 命令查看应用是否创建成功,这个命令可以查看指定命名空间下所有 CloudApp 应用。

# 查看指定命名空间(默认 default)下所有CloudApp应用
kubeapps list

image

使用get命令可以获取指定应用的基本信息和状态。

# 查看应用详情
kubeapps get example-app

image

使用delete将应用删除,删除后重新使用 get 命令将报错。

# 删除应用
kubeapps delete example-app

image

部署更新

直接发布

使用 rollout命令,指定镜像名称,可直接对应用进行发布。

# 立即更新
kubeapps rollout example-app --image=registry.cn-hangzhou.aliyuncs.com/edas-demo-project/provider:1.0

image

创建成功后,我们可以使用rollout的子命令history来查看发布历史。

# 查看发布历史
kubeapps rollout history example-app

image

分批发布

分批次更新应用,每次只更新部分副本以确保服务可用性。这里设置 --batch=3 表示分3个批次更新,发布后可以通过status(或inspect)查看当前状态,当应用状态为Paused时,可进行下一批发布。

分批发布需要我们的副本数量大于批次数量,可以使用scale命令进行扩容。

# 扩容应用,批次数不应大于副本数
kubeapps scale example-app --replicas=5

image

扩容成功后,可以使用rollout,并指定batch参数进行分批发布。

# 批次更新
kubeapps rollout example-app --image=registry.cn-hangzhou.aliyuncs.com/edas-demo-project/provider:1.0 --batch=3

image

当应用的状态为Paused的时候,表示这一批次已经结束,可以进行下一批次。

# 查看状态
kubeapps rollout status example-app -n default

image

使用rollout的子命令promote来推进下一批次。

# 继续下一批次(第二批)
kubeapps rollout promote example-app

image.png

接着查看发布状态,如果显示状态为Progressing表示正在处理,稍等片刻后状态变为Paused

image.png

继续推进下一批次。

# 继续下一批次(第三批)
kubeapps rollout promote example-app

image.png

发布完成后,应用状态变为Ready

image.png

也可以使用inspect命令,查看 CloudApp 以及相关资源的状态。

kubeapps inspect example-app

image