手把手教你把 JFrog Artifactory 打造成 VCF 软件仓库(适用于 VCF 安装程序 SDDC 管理器)

手把手教你把 JFrog Artifactory 打造成 VCF 软件仓库(适用于 VCF 安装程序  SDDC 管理器) JFrog Artifactory 是企业常用的集中式软件仓库能统一管理安装包、依赖文件和构建产物。很多使用 VMware Cloud Foundation(VCF)的用户会疑惑能否用它作为 VCF 安装程序和 SDDC 管理器的软件仓库?答案是肯定的!只要满足 HTTP (S) 访问和基础身份验证条件即可实现。本文用通俗的语言分 8 个详细步骤带小白从零配置避开常见坑让你轻松完成 Artifactory 与 VCF 的对接全程保留关键代码和截图位置跟着做就能成功。一、为什么选择 Artifactory 作为 VCF 软件仓库?VCF 的安装和运维需要依赖大量软件二进制文件和元数据这些资源分散存放会导致访问混乱、管理麻烦。而 Artifactory 作为成熟的集中式仓库工具不仅能安全存储这些资源还支持多方式上传、权限管控让 VCF 安装程序和 SDDC 管理器能稳定获取所需文件大大提升部署和维护效率。不过要注意VCF 默认期望从带有 “/PROD” 的基础路径访问仓库而 Artifactory 的访问路径会多一层 “/artifactory/ 仓库名”后续需要通过简单配置解决这个兼容问题本文会详细说明操作方法。二、前期准备在开始配置前你需要准备这些一台已运行的 Artifactory 实例(本文以 Ubuntu 22.04 系统上的 Artifactory Pro 为例不建议用 Ubuntu 24.04 安装 Artifactory OSS容易出现 8046 端口的 Access Service 启动失败问题排查难度大);已下载好的 VCF 软件二进制文件和元数据(可手动下载或用 VCF Download Tool 工具下载);具备基础的服务器操作能力(比如登录系统、编辑配置文件);安装好 Nginx(用于提供 TLS 终止服务保障访问安全)和 JFrog CLI(用于上传大文件)。三、详细配置步骤步骤 1配置 Artifactory 的 TLS 访问(用 Nginx 实现)首先要让 Artifactory 能通过 HTTPS 安全访问这里用 Nginx 做反向代理和 TLS 终止。先准备好 TLS 证书(后缀为.crt 和.key 的文件)然后创建 Nginx 配置文件具体配置如下# /etc/nginx/conf.d/artifactory.conf server { listen 443 ssl http2; server_name depot.vcf.lab; # 替换成你的Artifactory域名 # TLS证书路径(替换成你的证书实际路径) ssl_certificate /etc/nginx/ssl/depot.crt; ssl_certificate_key /etc/nginx/ssl/depot.key; ssl_protocols TLSv1.2 TLSv1.3; # 支持的TLS版本保障安全性 ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; client_max_body_size 30G; # 关键配置!解决大文件上传限制(VCF部分文件达25GB) proxy_max_temp_file_size 0; proxy_connect_timeout 300s; # 连接超时时间避免大文件上传中断 proxy_send_timeout 300s; proxy_read_timeout 300s; send_timeout 300s; # 可选配置访问域名根路径时自动跳转到/artifactory location / { return 301 https://$host/artifactory/; } # 代理Artifactory的所有请求 location / { proxy_pass http://127.0.0.1:8082; # Artifactory默认端口 proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_buffering off; proxy_request_buffering off; } } # 可选配置HTTP请求自动跳转到HTTPS server { listen 80; server_name depot.vcf.lab; # 与上面的域名保持一致 return 301 https://$host$request_uri; }配置完成后启动或重启 Nginx 服务此时你的 Artifactory 实例就能通过https://depot.vcf.lab/artifactory(替换成你的域名)访问了。步骤 2在 Artifactory 中创建 VCF 专属仓库打开浏览器访问 Artifactory 的 UI 界面(即上面配置的 HTTPS 地址)用管理员账号登录;登录后依次点击顶部导航栏的【Administration】(管理)→【Repositories】(仓库);点击 “Create Repository”(创建仓库)给仓库命名为 “vcf”(名称可自定义但后续步骤要保持一致)其他默认配置即可点击保存完成创建。这个仓库将专门用于存放 VCF 的所有二进制文件和元数据方便后续统一管理和访问。步骤 3创建 VCF 专用访问用户为了让 VCF 安装程序和 SDDC 管理器能安全访问 Artifactory 仓库需要创建一个专用用户在 Artifactory UI 中依次点击【Administration】(管理)→【User Management】(用户管理)→【User】(用户);点击 “New User”(新建用户)填写用户名(比如 “vcf-depot-user”)、密码然后给该用户分配 “读取” 和 “下载” 仓库的权限(无需分配管理员权限遵循最小权限原则);保存用户信息记住用户名和密码后续配置 VCF 时会用到。步骤 4上传 VCF 文件到 Artifactory 仓库创建好仓库和用户后就可以把下载好的 VCF 文件(包括二进制文件和元数据)上传到 “vcf” 仓库了。Artifactory 支持两种上传方式根据文件大小选择即可方式 1通过 Artifactory UI 上传(适合小文件≤100MB)在 Artifactory UI 中依次点击【Platform】(平台)→【Artifacts】(制品)然后选择我们创建的 “vcf” 仓库;点击右上角的三个点选择 “Deploy”(部署)按钮;在弹出的上传界面中选择要上传的文件同时要注意 “Target Path”(目标路径)必须填写正确比如 vSAN 的元数据文件要放在PROD/vsan/hcl路径下其他文件也要按原有的目录结构上传(比如PROD/COMP/SDDC_MANAGER_VCF/);确认路径无误后点击上传即可。注意UI 上传有 100MB 文件大小限制且一次只能上传同一目录下的文件效率较低大文件建议用第二种方式。方式 2通过 JFrog CLI 上传(适合大文件无大小限制)先在本地电脑或服务器上安装 JFrog CLI(简称 “jf” 工具)安装方法可参考JFrog CLI 官方文档(支持 Windows、Linux、Mac);配置 CLI 与 Artifactory 的信任关系从浏览器中下载 Artifactory 的 TLS 根证书(比如depot.vcf.lab-rootCA.pem)然后把证书放到~/.jfrog/security/certs目录下(没有该目录就手动创建);打开命令行用以下命令登录 Artifactory(替换成你的仓库地址、用户名和密码)jf c add --urlhttps://depot.vcf.lab/artifactory --uservcf-depot-user --password你的密码 vcf4.其中 “vcf” 是服务器 ID后续上传命令会用到;进入本地存放 VCF 文件的根目录该目录下需有 “PROD” 文件夹(目录结构如下). └── PROD ├── COMP ├── metadata └── vsan用以下命令上传文件(以上传 SDDC Manager OVA 为例)jf rt upload PROD/COMP/SDDC_MANAGER_VCF/VCF-SDDC-Manager-Appliance-9.0.1.0.24962180.ova --server-idvcf其他文件可按同样格式上传批量上传可使用通配符(比如jf rt upload PROD/**/* --server-idvcf)。上传完成后可在 Artifactory UI 的 “vcf” 仓库中查看文件确认目录结构正确。[此处放置截图Artifactory 仓库中 VCF 文件的目录结构示例]步骤 5修改 VCF 配置文件适配 Artifactory 路径VCF 安装程序和 SDDC 管理器默认期望从/PROD路径访问仓库但 Artifactory 的实际路径2..是/artifactory/vcf/PROD需要修改 VCF 的配置文件来适配用 “vcf” 用户名登录 VCF 安装程序或 SDDC 管理器的服务器;切换到 root 用户(输入sudo -i输入密码即可);编辑配置文件执行以下命令vi /opt/vmware/vcf/lcm/lcm-app/conf/application-prod.properties4.在文件中查找对应的配置项如果是 VCF 9.x 版本查找lcm.depot.adapter.remote.v2.rootDir;如果是 VCF 5.x 版本查找lcm.depot.adapter.remote.rootDir;5.把该配置项的 value 从/PROD修改为/artifactory/vcf/PROD(如果你的仓库名不是 “vcf”需替换成实际仓库名);6.保存文件并退出(按Esc输入:wq回车即可)。步骤 6导入 Artifactory 证书到 VCF建立信任关系为了让 VCF 能安全访问 Artifactory 的 HTTPS 地址需要把 Artifactory 的 TLS 根证书导入到 VCF 的信任库中1.准备好 Artifactory 的根证书文件(比如depot.vcf.lab-rootCA.pem)可通过浏览器下载或从 Artifactory 服务器上复制;2.在 VCF 服务器的命令行中执行以下命令(替换证书文件名和别名无需修改其他内容)STOREPASS$(cat /etc/vmware/vcf/commonsvcs/trusted_certificates.key) DEPOT_ALIASvcf_offline_depot # 证书别名可自定义 DEPOT_CERTdepot.vcf.lab-rootCA.pem # 你的证书文件名 keytool -importcert -alias $DEPOT_ALIAS -file $DEPOT_CERT -keystore /etc/vmware/vcf/commonsvcs/trusted_certificates.store -storepass $STOREPASS -noprompt3.执行完成后若没有报错说明证书导入成功。步骤 7重启 VCF 服务让配置生效修改配置和导入证书后需要重启 VCF 安装程序或 SDDC 管理器的服务在命令行中执行以下命令按提示输入 “Y” 确认重启echo Y | /opt/vmware/vcf/operationsmanager/scripts/cli/sddcmanager_restart_services.sh重启过程可能需要几分钟耐心等待即可重启完成后服务会自动恢复。步骤 8配置 VCF 离线仓库验证对接效果1.打开 VCF 安装程序或 SDDC 管理器的 UI 界面登录后找到 “离线仓库配置” 选项;2.填写仓库信息仓库地址输入 Artifactory 的 HTTPS 地址(比如https://depot.vcf.lab);用户名输入步骤 3 创建的专用用户(比如 “vcf-depot-user”);密码输入该用户的密码;3.点击 “测试连接”若提示 “连接成功”说明配置无误;4.连接成功后VCF 会自动下载仓库中的 VCF 元数据后续就能正常从 Artifactory 仓库中获取二进制文件完成安装或升级操作了。[此处放置截图VCF 离线仓库配置成功的界面示例]四、常见问题与注意事项1.大文件上传失败大概率是 Nginx 的client_max_body_size配置过小需修改为 30G(或大于你要上传的最大文件大小)然后重启 Nginx;2.VCF 连接 Artifactory 失败检查证书是否导入成功、配置文件中的路径是否正确、Artifactory 用户权限是否足够;3.Artifactory 启动失败Ubuntu 24.04 系统对 Artifactory OSS 支持不佳建议换成 Ubuntu 22.04 系统安装 Artifactory Pro(可申请试用);4.目录结构错误上传文件时必须保持PROD为根目录内部的COMP、metadata、vsan等子目录不能修改否则 VCF 无法识别。通过以上 8 个步骤就能成功把 JFrog Artifactory 打造成 VCF 的专属软件仓库实现资源的集中管理和稳定访问。整个过程无需复杂的专业知识跟着步骤一步步操作就能完成适合小白用户上手尝试。如果后续需要更新 VCF 文件只需用 JFrog CLI 上传新文件到仓库VCF 就能自动识别非常方便。