一键登录 更安全快捷
邮箱登录
我已阅读并接受 用户协议 隐私政策

VCF 9.0/9.1 CASA API自动化上传安装PAK包完整实操指南

本文基于William Lam官方运维速报,拆解VCF Operations(原vRealize Operations)两套PAK升级自动化API方案:分步上传+手动安装、一键静默上传自动部署,完整给出curl原生调用命令、参数释义、进度轮询接口;解决图形界面两步操作、长时间等待无法批量自动化痛点,适配VCF 9.0/9.1、VVF全套私有云环境,提供可直接运行Bash完整自动化脚本,覆盖上传、部署、循环监控、失败重试全流程。

有VMware全系列产品官方资源和定制版资源需求的可以移步:

通过CASA集群管理REST API可完全无人值守完成VCF Operations PAK升级;方案1分步模式对齐网页后台操作逻辑,适合分步调试;方案2 silent_install静默接口一键上传+自动安装,搭配CLOBBER覆盖参数跳过重复校验,适合CI/CD流水线;两套接口均返回PakID作为唯一任务标识,调用/status端点可持续轮询升级进度,支持批量脚本、Ansible集成,大幅减少人工界面操作时长。

一、前置基础说明

1、接口归属与访问前提

API归属:CASA(Cluster and Slice Administration)VCF Operations集群管理接口,访问地址为VCF Operations主节点FQDN,端口443; 权限要求:admin账号,具备集群升级管理员权限; 证书参数:-k 跳过自签名证书校验,生产环境建议导入根CA移除该参数; 文件格式:仅官方后缀.pak系统升级包支持上传。

2、两种自动化方案核心差异

方案执行流程适用场景关键参数
Option1 分步上传安装上传文件→获取PakID→调用安装接口→轮询进度调试、分步校验、需确认包完整性再部署无额外URL参数
Option2 静默一键部署上传+自动安装合并单请求,返回PakID直接监控自动化流水线、批量运维、无人值守窗口pak_handling_advice=CLOBBER、force_content_update=true

参数释义: 1. pak_handling_advice=CLOBBER:存在同名旧PAK包直接覆盖,无需手动删除; 2. force_content_update=true:强制校验并执行组件更新,跳过预校验拦截。

二、方案1:分步上传、手动安装(对齐UI界面逻辑)

1、第一步:上传PAK文件,返回PakID

curl -X POST -F "[email protected];type=multipart/form-data" \
-k -u 'admin:VMware1!VMware1!' \
https://vcf01.vcf.lab/casa/upgrade/cluster/pak/reserved/operation/upload

执行成功返回PakID示例:vRealizeOperationsManagerEnterprise-910020025500347

2、第二步:使用PakID触发安装任务

curl -X POST -k -u 'admin:VMware1!VMware1!' \
https://vcf01.vcf.lab/casa/upgrade/cluster/pak/vRealizeOperationsManagerEnterprise-910020025500347/operation/install

3、第三步:循环轮询升级进度

curl -X GET -k -u 'admin:VMware1!VMware1!' \
https://vcf01.vcf.lab/casa/upgrade/cluster/pak/vRealizeOperationsManagerEnterprise-910020025500347/status

返回JSON包含state(RUNNING/SUCCESS/FAILED)、progress百分比、错误日志字段。

三、方案2:silent_install静默一键上传+自动安装(流水线首选)

单条curl合并上传与部署,无需二次调用安装接口

curl -X POST -F "[email protected];type=multipart/form-data" \
-k -u 'admin:VMware1!VMware1!' \
'https://vcf01.vcf.lab/casa/upgrade/cluster/pak/reserved/operation/silent_install?pak_handling_advice=CLOBBER&force_content_update=true'

请求完成直接返回PakID,立刻调用/status监控升级状态。

进度查询通用接口(同方案1)

curl -X GET -k -u 'admin:VMware1!VMware1!' \
https://vcf01.vcf.lab/casa/upgrade/cluster/pak/[此处替换返回的PakID]/status

四、完整可运行Bash自动化脚本(无人值守全流程)

#!/bin/bash
# 环境变量配置
VCF_OPS_FQDN="vcf01.vcf.lab"
ADMIN_USER="admin"
ADMIN_PWD="VMware1!VMware1!"
PAK_FILE="./Operations-Upgrade-9.1.0.0400.25541550.pak"
# 1、静默一键上传并自动安装,捕获PakID
echo "开始上传并静默部署PAK升级包..."
RESP=$(curl -s -X POST -F "contents=@$PAK_FILE;type=multipart/form-data" \
-k -u "$ADMIN_USER:$ADMIN_PWD" \
"https://$VCF_OPS_FQDN/casa/upgrade/cluster/pak/reserved/operation/silent_install?pak_handling_advice=CLOBBER&force_content_update=true")
# 提取PakID(接口返回纯字符串ID)
PAK_ID=$(echo $RESP | tr -d '" ')
echo "获取升级任务PakID: $PAK_ID"
# 2、循环轮询升级进度
while true; do
    STATUS_RAW=$(curl -s -k -u "$ADMIN_USER:$ADMIN_PWD" \
    https://$VCF_OPS_FQDN/casa/upgrade/cluster/pak/$PAK_ID/status)
    STATE=$(echo $STATUS_RAW | grep -o '"state":"[^"]*"' | cut -d'"' -f4)
    PROGRESS=$(echo $STATUS_RAW | grep -o '"progress":[0-9]*' | cut -d':' -f2)
    echo "当前升级状态:$STATE 进度:$PROGRESS%"
    if [ "$STATE" = "SUCCESS" ]; then
        echo "✅ PAK升级全部完成!"
        break
    fi
    if [ "$STATE" = "FAILED" ]; then
        echo "❌ 升级任务失败,完整日志:$STATUS_RAW"
        exit 1
    fi
    sleep 30
done

脚本说明:每30秒轮询一次进度,成功自动退出,失败打印完整日志终止任务,适配定时维护窗口自动执行。

五、生产环境落地规范

  1. 账号安全:脚本禁止明文存储密码,生产改用API令牌、Ansible加密变量;

  2. 证书优化:内部私有CA环境移除curl -k参数,导入信任根证书;

  3. 前置校验:升级前先调用集群健康API确认所有VCF Operations节点Online;

  4. 版本约束:该CASA静默接口仅VCF 9.0、9.1可用,8.x旧版无silent_install端点;

  5. 离线环境:提前将PAK文件上传至执行脚本服务器,保证本地文件路径可访问。

六、常见报错排查

1、401 Unauthorized

admin账号密码错误,或账号无集群升级权限,登录后台分配Lifecycle管理员角色。

2、400 Bad Request

1、multipart/form-data文件路径不存在;2、PAK包损坏/版本不匹配;3、URL参数&符号未用单引号包裹转义。

3、状态返回FAILED

1、集群存在离线数据节点;2、磁盘空间不足;3、前置版本跨度过大不支持直刷9.1,先过渡中间PAK;查看status返回完整errorMessage字段定位根因。

4、文件上传超时

大PAK包建议内网高速链路执行,拆分上传分段逻辑或延长脚本等待间隔。

七、运维拓展集成方案

1、Ansible:将Bash脚本封装shell模块,批量升级多套VCF私有云Operations组件; 2、CI/CD流水线(GitLab CI/Jenkins):维护窗口自动拉取新版PAK,执行静默升级并推送结果告警; 3、监控联动:升级成功后调用监控API校验服务进程,失败推送邮件/企业微信告警; 4、批量升级:循环遍历多台VCF Operations FQDN,串行执行升级任务。

八、全文总结

依托VCF Operations内置CASA集群管理REST API,提供分步调试、静默一键两套PAK自动化升级方案;silent_install接口搭配CLOBBER覆盖参数实现上传+部署合并执行,适配自动化运维流水线,通过/status端点持续轮询任务状态;配套完整可直接运行Bash无人值守脚本,支持VCF 9.0/9.1、VVF全栈私有云,替代网页后台人工两步操作,大幅缩短升级维护工时,适配批量集群、定时维护窗口自动化落地。

用户留言 User Comments