在部署 vSphere Supervisor 服务(如支持数据库即服务的 Data Services Operator)时,默认容器镜像托管于外部公共仓库,而空气隔离环境(无公网访问的内部部署场景)需使用内部容器注册表。但自签名 TLS 证书常因不被信任导致部署失败,这是很多运维人员面临的难题。本文将以通俗易懂的步骤,详细讲解如何迁移容器镜像、配置证书信任,帮助大家在内部环境中顺利完成 vSphere Supervisor 服务部署,无需依赖外部公共仓库。
一、背景说明
vSphere Supervisor 服务是 vSphere 平台中用于扩展虚拟化功能的核心组件,其依赖的容器镜像默认存储在博通官方容器注册表(projects.packages.broadcom.com)。在企业内部空气隔离环境中,服务器无法访问外部公网,需将这些镜像迁移至内部容器注册表(如 Harbor)。但内部注册表常用的自签名 TLS 证书未经过权威机构认证,vSphere 系统会拒绝信任,导致服务部署时出现证书验证错误,无法正常拉取镜像。本教程将全程解决这一问题,从镜像迁移到证书配置逐一拆解。
二、前置准备
已部署内部容器注册表:建议使用 Harbor 作为内部容器注册表,确保其正常运行且能被 vSphere 集群访问(网络互通、端口开放)。
自签名 TLS 证书:提前生成适用于内部注册表的自签名证书,证书需包含注册表的域名或 IP 地址(避免因地址不匹配导致信任失败),同时保存证书文件(通常为.crt 格式)。
vSphere 环境就绪:确保 vSphere 集群已升级至 8.0 Update 3 及以上版本(该版本开始支持镜像迁移功能),且具备 vSphere Supervisor 服务部署权限。
迁移工具:准备 vSphere 官方提供的镜像迁移工具(可从 vSphere 客户端下载),或使用 docker pull/push 命令手动迁移(适合镜像数量较少的场景)。
三、详细操作步骤
(一)迁移博通容器镜像至内部注册表
若使用官方迁移工具:打开工具后输入博通容器注册表地址(projects.packages.broadcom.com)、内部注册表地址(如harbor.company.com)及登录凭证(双方注册表的用户名和密码),选择需要迁移的 vSphere Supervisor 服务相关镜像(如 DSM Operator 镜像),点击 "开始迁移",等待迁移完成(迁移时间取决于镜像大小和网络速度)。
若手动迁移:首先在可访问公网的服务器上执行 "docker pull 博通镜像地址" 拉取镜像,然后使用 "docker tag 原镜像名 内部注册表地址 / 自定义镜像名" 修改镜像标签,最后执行 "docker push 内部注册表地址 / 自定义镜像名" 将镜像推送到内部注册表,完成后删除本地镜像以节省空间。
验证迁移结果:登录内部容器注册表管理界面,查看目标镜像是否存在且版本完整,确保镜像可被 vSphere 集群节点正常拉取。
(二)配置 vSphere 信任自签名证书
导出自签名证书:从内部容器注册表中导出已配置的自签名证书文件(.crt 格式),确保证书文件无损坏,可通过文本编辑器打开查看证书内容(包含公钥信息)。
登录 vSphere Client:使用管理员账号登录 vSphere Web Client 或 HTML5 客户端,进入 "主机和集群" 视图,选择需要部署 Supervisor 服务的集群。
导入证书至 vSphere 信任列表:在集群设置中找到 "安全"→"证书管理"→"受信任的根证书",点击 "添加",上传导出的自签名证书文件,输入证书名称(建议与注册表名称一致,便于识别),点击 "确认" 保存配置。
同步证书至集群节点:在证书管理页面点击 "同步",确保集群内所有主机都已获取并信任该自签名证书,同步完成后可重启 vSphere 服务(可选,部分环境需重启生效)。
(三)部署 vSphere Supervisor 服务并验证
启动服务部署:在 vSphere Client 中进入 "工作负载管理"→"Supervisor 服务",点击 "部署服务",选择需要部署的服务类型(如 DSM Operator),在镜像来源中选择 "自定义注册表",输入内部容器注册表的镜像地址(如harbor.company.com/vmware/dsm-operator:latest),填写其他部署参数(如资源分配、网络配置等)。
执行部署验证:点击 "下一步" 后,系统会自动验证镜像地址和证书信任状态,若配置正确,验证将顺利通过(无证书相关错误提示);若验证失败,检查证书导入是否完整、镜像地址是否正确,排查后重新尝试。
监控部署进度:部署过程中可在 "任务" 视图查看进度,等待部署完成(通常需要 5-10 分钟),部署成功后服务状态会显示 "运行中"。
功能验证:访问 vSphere Supervisor 服务管理界面,确认服务可正常提供功能(如 DSM Operator 对应的 DBaaS 服务可正常创建数据库实例),同时查看系统日志,确保无证书信任错误或镜像拉取失败的记录。
四、注意事项
自签名证书有效期:自签名证书存在有效期,建议在证书到期前重新生成并更新 vSphere 信任列表,避免因证书过期导致服务中断。
镜像版本一致性:迁移镜像时需确保版本与 vSphere Supervisor 服务要求一致,避免因版本不匹配导致部署失败或功能异常。
网络连通性:部署过程中需确保 vSphere 集群节点能正常访问内部容器注册表(测试端口 443 是否通畅),否则会出现镜像拉取超时错误。
权限配置:操作过程中需使用具有管理员权限的账号,避免因权限不足导致配置失败(如证书导入、服务部署等操作需要集群管理员权限)。
五、常见问题排查
镜像迁移失败:检查源注册表和目标注册表的登录凭证是否正确,网络是否通畅,若使用手动迁移,确认 docker 环境已正确配置,且镜像标签格式符合要求(内部注册表地址 / 项目名 / 镜像名:版本)。
证书信任失败:确认证书文件是否完整,证书中的域名 / IP 是否与内部注册表地址一致,若不一致需重新生成证书;同时检查 vSphere 证书导入步骤是否正确,是否已同步至所有集群节点。
服务部署卡住:查看部署日志,若提示 "镜像拉取失败",检查网络连通性和镜像地址;若提示 "资源不足",增加服务部署的资源分配(CPU、内存、存储)后重试。