Nexus 实例部署
由于 Nexus 3.81 Community Edition 的限制性限制,该版本已被弃用。一旦使用达到配额限制(总组件数 100,000 和每日请求数 200,000),实例将无法正常工作。
如果您已经升级到 3.81 版本,请按照回滚到 Nexus 3.76指南进行降级。
有关 Community Edition 限制的更多信息,请参见Community Edition Limitations。
本文档介绍了 Nexus Operator 的订阅及 Nexus 实例的部署功能。
由于以下原因,Nexus 不支持在设置了 SPA(Security Policy Admission)策略为 Restricted 的命名空间中部署:
- Init 容器需要 root 权限:Nexus 使用 init 容器初始化 PVC 目录权限,需 root 权限,而 Restricted 策略不允许。
建议:为 Nexus 部署创建专用命名空间,确保其安全策略不设置为 Restricted。使用 hostPath 存储部署 Nexus 时,命名空间安全策略必须配置为 Privileged。
目录
前提条件部署规划基本信息实例部署通过Quick Start Template 部署通过 Production Template 部署通过 YAML 部署资源配置网络配置存储配置管理员账号配置完整 YAML 示例前提条件
- 本文档适用于平台提供的 Nexus 3.76 及以上版本,基于 Operator 等技术与平台解耦。
- 请确保目标集群已部署(订阅)Nexus Operator,即 Nexus Operator 已准备好创建实例。
部署规划
Nexus 支持多种资源配置以满足不同客户场景。不同场景下所需资源和配置差异较大。因此,本节描述部署 Nexus 实例前需考虑的方面及决策点的影响,帮助用户基于此信息进行后续具体实例部署。
基本信息
- 平台提供的 Nexus Operator 基于社区官方 Nexus Chart,增强了安全漏洞修复等企业能力。功能上与社区版完全兼容,用户体验上通过可选自定义模板等方式提升了 Nexus 部署的便捷性。
实例部署
通过 Quick Start Template 部署
该模板用于快速创建轻量级 Nexus 实例,适合开发和测试场景,不建议用于生产环境。
- 计算资源:2 CPU 核,4 Gi 内存
- 存储:使用节点本地存储,配置存储节点 IP 和路径
- 网络访问:使用 NodePort 访问服务,共享节点 IP 和存储,指定端口
根据模板提示填写相关信息完成部署。
通过 Production Template 部署
该模板用于快速创建生产级 Nexus 实例,适合生产场景,推荐用于生产环境。
- 计算资源:4 CPU 核,8 Gi 内存
- 存储:使用 PVC 存储,配置存储类
- 网络访问:使用域名访问服务
根据模板提示填写相关信息完成部署。
通过 YAML 部署
资源配置
Nexus 通过 StatefulSet 部署,包含 4 个容器:1 个业务容器和 3 个日志容器。配置资源时重点关注业务容器资源,日志容器可使用默认配置。
更多信息请参考 SonarQube Chart 中的资源描述
网络配置
网络配置分为两类:
- 基于 ingress 的网络配置
- 基于 NodePort 的网络配置
基于 ingress 的网络配置支持 https 和 http 协议,需提前在集群中部署 ingress controller。
基于 NodePort 的网络配置:
存储配置
存储配置主要分为三类:
- 基于 StorageClass 的存储配置
- 基于 PVC 的存储配置
- 基于 HostPath 的存储配置
基于 StorageClass 的存储配置:
基于 PVC 的存储配置:
基于 HostPath 的存储配置:
管理员账号配置
将准备好的管理员密码写入 Secret,默认登录用户名为 admin。
创建 Secret,选择 Opaque 类型,配置项中添加 password 字段:
通过 YAML 指定给 Nexus:
完整 YAML 示例
NodePort、HostPath、管理员账号