Upload Packages
平台提供了一个命令行工具 violet,用于将从 Marketplace 中 Customer Portal 下载的软件包上传到平台。
violet 支持上传以下类型的软件包:
- Operator
- 集群插件
- Helm Chart
当 Cluster Plugins 或 OperatorHub 中的软件包状态显示为 Absent 时,需要使用该工具上传对应的软件包。
violet 的上传流程主要包括以下步骤:
- 解包并提取软件包信息
- 将镜像推送到镜像仓库
- 在平台上创建 Artifact 和 ArtifactVersion 资源
目录
下载工具Linux 或 macOSWindows前提条件使用方法通用参数平台连接参数镜像仓库参数violet showviolet list可选标志violet verify可选标志violet push可选标志上传 Operator 到多个集群上传 Operator 到备用 global 集群上传集群插件上传 Helm Chart 到 chart 仓库一次性上传所有软件包下载工具
登录 Customer Portal,进入 Downloads 页面,点击 CLI Tools,下载与您的操作系统和架构匹配的二进制文件。
下载完成后,将工具安装到服务器或 PC 上。
Linux 或 macOS
非 root 用户:
root 用户:
Windows
-
下载文件并重命名为
violet.exe,或者使用 PowerShell 重命名: -
在 PowerShell 中运行该工具。
注意:如果工具路径未添加到环境变量,运行命令时必须指定完整路径。
前提条件
权限要求
- 必须提供有效的平台用户账号(用户名和密码)。
- 账号的 role 属性必须设置为
System,且角色名称必须为platform-admin-system。
注意: 如果账号的 role 属性设置为
Custom,则无法使用该工具。
使用方法
通用参数
多个 violet 命令支持以下参数,具体用法请参见各命令章节。
平台连接参数
镜像仓库参数
IPv6 地址限制
对于 --platform-address 和 --dest-repo 参数:
- 如果使用 IP 地址(非域名),不支持 IPv6 格式
- 仅支持 IPv4 地址或域名
violet show
上传软件包前,可以使用 violet show 命令预览软件包详情。
violet list
在升级平台时,可以列出所有已上传到平台的插件,并将结果导出到文件。 生成的文件可上传至 Alauda Cloud,以便下载所需的插件包。
可选标志
平台连接参数(--platform-address、--platform-username、--platform-password)详见通用参数。
violet verify
使用 violet verify 命令在上传前验证一个或多个软件包的签名。
支持两种验证方式:checksum 和 GPG。
软件包(.tgz)及其对应的签名文件必须位于同一目录。
示例输出:
说明:
- Verified successfully with GPG — 列出的文件已通过 GPG 签名文件(
.sig后缀)成功验证。 - Verified successfully with checksum — 通过校验和文件(如
.sha256)验证通过。 - Verification failed — 列出的文件因签名不匹配或无效验证失败。
- No verification file found — 目录中未找到对应的
.sig(GPG)或校验和文件。
可选标志
violet push
以下示例展示常见使用场景。
平台连接和镜像仓库参数详见通用参数。
可选标志
当指定了 --dest-repo,必须提供镜像仓库的认证信息或使用 --no-auth。
上传 Operator 到多个集群
- 如果未指定
--clusters,默认上传到 global 集群。\
上传 Operator 到备用 global 集群
使用 violet 上传软件包到备用集群时:
- 必须指定参数
--dest-repo <备用集群 VIP 地址> - 参数
--platform-address必须设置为 备用集群 的平台访问地址 - 必须提供备用集群镜像仓库的认证信息,或使用
--no-auth
否则,软件包将上传到 主集群 的镜像仓库,导致备用集群无法安装或升级扩展。
上传集群插件
- 上传集群插件时无需指定
--clusters参数,平台会根据亲和性配置自动分发。 如果指定了--clusters,该参数将被忽略。\
上传 Helm Chart 到 chart 仓库
- Helm Chart 只能上传到平台提供的默认
public-charts仓库。\
一次性上传所有软件包
当从 Marketplace 下载多个软件包时,可以将它们放在同一目录下,一次性上传:
当升级目标为 global 集群 时,可以省略 --clusters 参数,默认上传到 global 集群。
但当升级目标为业务集群时,必须指定 --clusters <workload_cluster_name> 参数。