banner
NEWS LETTER

Helm部署Nexus

Scroll down

本文作者:丁辉

Helm部署Nexus

官网

Helm-Chart

GitHub文档

介绍

Nexus 是一个强大的仓库管理器,主要用于代理远程仓库及部署第三方构件。它极大地简化了本地内部仓库的维护和外部仓库的访问。

目前推荐使用的是 sonatype/nxrm-ha, 用于部署高可用性的 Nexus Repository Manager。其最新版本确保了高可靠性和高可用性, 是企业级生产环境的理想选择。

开始部署(旧版)

  1. 添加仓库

    1
    2
    helm repo add sonatype https://sonatype.github.io/helm3-charts/
    helm repo update
  2. 编写 values.yaml

    1
    vi nexus-values.yaml

    内容如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    # 对外访问地址
    ingress:
    enabled: true
    ingressClassName: # 指定 ingress 控制器, 不指定则需要集群内存在默认的 ingress 控制器
    annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
    hostPath: /
    hostRepo: # 域名
    tls:
    - secretName: nexus-tls
    hosts:
    - # 域名

    # 修改镜像 TAG
    image:
    repository: sonatype/nexus3
    tag: latest

    # 配置存储
    persistence:
    enabled: true
    accessMode: ReadWriteOnce
    storageClass: ""
    storageSize: 20Gi
  3. 安装

    1
    2
    3
    4
    5
    helm install \
    nexus sonatype/nexus-repository-manager \
    --namespace nexus \
    --create-namespace \
    -f nexus-values.yaml
  4. 查看密码

    1
    kubectl exec `kubectl get pod -nnexus|grep nexus-nexus-repository-manager|grep Running|awk '{print $1}'` -nnexus cat /nexus-data/admin.password
  5. 登录

    admin/密码

    登录后修改密码

卸载

  1. 卸载 Nexus

    1
    helm uninstall nexus -n nexus
  2. 删除命名空间

    1
    kubectl delete ns nexus

开始部署(新版)

新版应该是:sonatype/nxrm-ha 仓库,但是我验证时提示需要企业授权🤷所以先放一放吧。

临时测试 values.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# 配置默认安装命名空间
namespaces:
nexusNs:
enabled: true
name: "nexusrepo"

# 调整资源限额
statefulset:
replicaCount: 3
container:
resources:
requests:
cpu: 8
memory: "8Gi"
limits:
cpu: 16
memory: "16Gi"

secret:
# 存储数据库机密
dbSecret:
enabled: true
db:
user: # 填写外部 Postgres 用户
password: # 填写外部 Postgres 密码
host: # 填写外部 Postgres 连接地址

# 存储初始 Nexus Repository 管理员密码机密
nexusAdminSecret:
enabled: true
adminPassword: "" # 填写管理员密码

# 存储您的 Nexus Repository Pro 许可证
license:
licenseSecret:
enabled: false
file: ./nx-license-file.lic

# 配置存储
storageClass:
enabled: false
name: "" # 指定存储卷, 不指定则需要集群内存在默认的存储卷
pvc:
accessModes: ReadWriteOnce
storage: 20Gi
volumeClaimTemplate:
enabled: true

I'm so cute. Please give me money.

其他文章
cover
Helm部署NVIDIA-K8s-Device-Plugin
  • 70/01/01
  • 00:00
  • Kubernetes-Helm
cover
Helm部署Nginx-Ingress
  • 70/01/01
  • 00:00
  • Kubernetes-Helm
目录导航 置顶
  1. 1. Helm部署Nexus
    1. 1.1. 介绍
    2. 1.2. 开始部署(旧版)
    3. 1.3. 卸载
    4. 1.4. 开始部署(新版)
请输入关键词进行搜索