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

VCF 9.1新特性:安装器与Fleet Depot支持HTTP无认证离线软件源

VMware Cloud Foundation(VCF)9.0 推出了统一软件仓库(Software Depot),支持连接博通在线源或企业内部离线源。但在 9.0 中,离线源默认必须使用 HTTPS + 基础认证,即使关闭 HTTPS 也依然需要认证,对纯内网环境很不友好。

在 VCF 9.1 中,官方带来了重要改进:VCF Installer 与全新的 Fleet Depot Service 现已支持 HTTP 无基础认证的离线软件源,纯内网环境部署更加便捷。

注意:VCF 9.1 安装器 UI 暂不支持 HTTP 离线源,必须通过 API 配置。

支持协议与认证对照表

协议基础认证VCF 9.0.xVCF 9.1.0说明
HTTPS✅✅✅默认方式
HTTPS❌❌❌不支持
HTTP✅✅✅需要旧版临时方案
HTTP❌❌❌仅支持 API 配置

一、通过 VCF Installer API 配置 HTTP 离线源

使用下面的 PowerShell 脚本配置安装器的离线源,配置会自动同步到后续部署的 Fleet Depot Service,无需重复配置。

$VCFInstallerFQDN = "sddcm01.vcf.lab"
$VCFInstallerRootPassword = "VMware1!VMware1!"
$VCFInstallerOfflineDepot = "http://192.168.30.29:8888"
# DO NOT EDIT BEYOND HERE #
$payload = @{
"username" = "admin@local"
"password" = $VCFInstallerRootPassword
}
$body = $payload | ConvertTo-Json
$params = @{
Uri = "https://${VCFInstallerFQDN}/v1/tokens"
Method = 'POST'
Headers = @{
'Content-Type' = 'application/json'
}
SkipCertificateCheck = $true
Body = $body
}
$requests = Invoke-WebRequest @params
if($requests.StatusCode -eq 200) {
$accessToken = ($requests.Content | ConvertFrom-Json).accessToken
}
$depotPayload = @{
"depotConfiguration" = @{
"isOfflineDepot" = $true
"url" = $VCFInstallerOfflineDepot
}
}
$depotBody = $depotPayload | ConvertTo-Json
$params = @{
Uri = "https://${VCFInstallerFQDN}/v1/system/settings/depot"
Method = 'PUT'
Headers = @{
"Authorization" = "Bearer ${accessToken}"
"Content-Type" = 'application/json'
}
SkipCertificateCheck = $true
Body = $depotBody
}
Invoke-WebRequest @params

二、通过 Fleet Depot Service API 重新配置 HTTP 离线源

如果你在 VCF 9.0 中用过临时方案开启 HTTP,升级 / 部署到 VCF 9.1 后,配置不会自动迁移,需要用下面的脚本重新配置 Fleet 节点的离线源。

$VCFMSFQDN = "vcf-msr01.vcf.lab"
$VCFMSAdminPassword = "VMware1!VMware1!"
$VCFFleetFQDN = "vcf-flt01.vcf.lab"
$VCFInstallerOfflineDepot = "http://192.168.30.29:8888"
# DO NOT EDIT BEYOND HERE #
$params = @{
Uri = "https://${VCFMSFQDN}/api/v1/identity/token"
Method = 'POST'
Headers = @{
'Content-Type' = 'application/x-www-form-urlencoded'
}
SkipCertificateCheck = $true
Body = @{
grant_type = 'password'
username = "[email protected]"
password = $VCFMSAdminPassword
}
}
$requests = Invoke-WebRequest @params
if($requests.StatusCode -eq 200) {
$accessToken = ($requests.Content | ConvertFrom-Json).access_token
}
$depotPayload = @{
"depotConfiguration" = @{
"depotType" = "OFFLINE"
"url" = $VCFInstallerOfflineDepot
}
}
$depotBody = $depotPayload | ConvertTo-Json
$params = @{
Uri = "https://${VCFFleetFQDN}/depot-service/api/depot/v1/connectivity"
Method = 'PUT'
Headers = @{
"Authorization" = "Bearer ${accessToken}"
'Content-Type' = 'application/json'
}
SkipCertificateCheck = $true
Body = $depotBody
}
Invoke-WebRequest @params

要点说明

VCF 9.1 支持 HTTP 无认证离线源,仅限 API 配置,UI 不支持。

通过安装器 API 配置的离线源会自动同步到 Fleet Depot。

从 9.0 升级上来的环境,必须重新用 API 配置一次 HTTP 离线源。

适用于完全隔离、无 HTTPS 证书的内网 VCF 部署场景。

用户留言 User Comments