Nexus 实例部署
本文档介绍了 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、管理员账号