nexus on k8s最佳实战

1、helm 安装包

 #添加 helm 仓库helm repo add sonatype https://sonatype.github.io/helm3-charts/
# 下载 chart 到本地helm pull sonatype/nexus-repository-manager
#copy 到文件服务器方便下载
scp nexus-repository-manager-41.1.2.tgz 10.50.10.25:/www/pigsty

2、修改关键参数

  • image
docker pull ninesun0318/sonatype.nexus3:3.41.1
docker tag ninesun0318/sonatype.nexus3:3.41.1 myharbor.com/nexus/sonatype.nexus3:3.41.1
  • 存储
  storageClass: "managed-nfs-storage"storageSize: 50Gi
  • service 暴露方式

    需要外部可访问nexus,建议使用nexus.

    service:name: nexus3enabled: truelabels: {}annotations: {}type: NodePortport: 31712
    

3、安装nexus

[root@master2 /opt/helm/nexus-repository-manager]#helm install chot-nexus -n nexus  /opt/helm/nexus-repository-manager
NAME: chot-nexus
LAST DEPLOYED: Fri Sep  2 15:01:33 2022
NAMESPACE: nexus
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:export NODE_PORT=$(kubectl get --namespace nexus -o jsonpath="{.spec.ports[0].nodePort}" services chot-nexus-nexus-repository-manager)export NODE_IP=$(kubectl get nodes --namespace nexus -o jsonpath="{.items[0].status.addresses[0].address}")Your application is available at http://$NODE_IP:$NODE_PORT

4、检查

[root@master1 /opt/ansible]#k get all -n nexus
NAME                                                       READY   STATUS    RESTARTS   AGE
pod/chot-nexus-nexus-repository-manager-6595d7c79b-q7znf   1/1     Running   0          64mNAME                                          TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
service/chot-nexus-nexus-repository-manager   NodePort   10.96.11.171   <none>        8081:31712/TCP   64mNAME                                                  READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/chot-nexus-nexus-repository-manager   1/1     1            1           64mNAME                                                             DESIRED   CURRENT   READY   AGE
replicaset.apps/chot-nexus-nexus-repository-manager-6595d7c79b   1         1         1       64m

5、报错处理

### k8s pod has unbound immediate PersistentVolumeClaims安装nexus,使用nfs sc pod一直报这个错误?原因:使用kuboard 托管的sc限制了ns在kube-system,因此再nexus中的无法使用. 后面改用managed-nfs-storage解决问题。### pod readiness probe端口探测失败原因调查?安装nexus仓库时pod 的8081 端口一直访问不通​```bash
Readiness probe failed: Get "http://10.244.166.156:8081/": dial tcp 10.244.166.156:8081: connect: connection refused
​```探测的yaml​```yamlreadinessProbe:failureThreshold: 6httpGet:path: /port: 8081scheme: HTTPinitialDelaySeconds: 30periodSeconds: 30successThreshold: 1timeoutSeconds: 10
​```这个问题的原因是超过了initialDelaySeconds的时间导致探测失败,适当调大这个参数,或者重启一下就好了。

6、访问


默认密码会在首次登录提示,按照提示修改密码。

7、批量上传本地jar包

之前物理机上安装的nexus由于每次打包都有问题,花了好多时间。这次干脆直接搭建一个nexus,并使用脚本把本地的包都上传到仓库中。

报错如下:

[ERROR] Failed to execute goal on project chot-configs: Could not resolve dependencies for project com.lichkin.chot:chot-configs:jar:2.0.0-CHOT: Failure to find javax.interceptor:javax.i
nterceptor-api:jar:1.2 in http://ip:8081/repository/maven-releases/ was cached in the local repository, resolution will not be reattempted until the update interval of nexus haselapsed or updates are forced -> [Help 1]
#!/bin/bash
# @date 2022年9月2日11:26:51
# @author ninesun
# nexushttp: http://ip:31712/repository/maven-releases/
# 使用方式: bash uploadJarWithscripts.sh -u admin -p chot123  -r http://ip:31712/repository/maven-releases/while getopts ":r:u:p:" opt; docase $opt inr) REPO_URL="$OPTARG";;u) USERNAME="$OPTARG";;p) PASSWORD="$OPTARG";;esac
donefind . -type f -not -path './uploadJarWithscripts\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -s -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;

8、编译项目

打包验证

mvn clean -U install

打包方式的尝试

mvn clean package -Dmaven.repo.local=E:\mavn_repo\MavenRepositorymvn clean package --settings D:\soft\apache-maven-3.5.2\conf\settings.xml -Dmaven.test.skip=truemvn clean package --settings C:\Users\135\.m2\settings.xml -Dmaven.test.skip=true

不知为何已经指定本地、setting好像都会从nexus拉取,原因未知,感觉像是bug.

9、参考

https://artifacthub.io/packages/helm/sonatype/nexus-repository-manager

10、nexus 仓库说明

maven-central:maven中央库,默认从 https://repo1.maven.org/maven2/ 拉取 jar。

maven-releases:私库发行版 jar。

maven-snapshots:私库快照版(调试版本)jar。

maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地 maven 基础配置 settings.xml中使用。

nexus on k8s最佳实战相关推荐

  1. 基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(三)

    基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(三) 转载于:https://github.com/Meowv/Blog 本篇继续围绕抓取完成后的操作做一个提醒. ...

  2. 基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(二)

    基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(二) 转载于:https://github.com/Meowv/Blog 本篇继续来完成一个全网各大平台的热点新闻 ...

  3. 基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(一)

    基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(一) 转载于:https://github.com/Meowv/Blog 本篇主要围绕定时任务和数据抓取相关的知识 ...

  4. mysql 5.6 使用ssl_MySQL 5.6--------SSL连接最佳实战

    MySQL 5.6--------SSL连接最佳实战 https://blog.csdn.net/weixin_33670786/article/details/89776706 mysql -uro ...

  5. SLS机器学习最佳实战:批量时序异常检测

    0.文章系列链接 SLS机器学习介绍(01):时序统计建模 SLS机器学习介绍(02):时序聚类建模 SLS机器学习介绍(03):时序异常检测建模 SLS机器学习介绍(04):规则模式挖掘 SLS机器 ...

  6. SLS机器学习最佳实战:日志聚类+异常告警

    0.文章系列链接 SLS机器学习介绍(01):时序统计建模 SLS机器学习介绍(02):时序聚类建模 SLS机器学习介绍(03):时序异常检测建模 SLS机器学习介绍(04):规则模式挖掘 SLS机器 ...

  7. 《精通软件性能测试与LoadRunner最佳实战》—第1章1.1节软件测试基础

    本节书摘来自异步社区<精通软件性能测试与LoadRunner最佳实战>一书中的第1章1.1节软件测试基础,作者于涌 , 王磊 , 曹向志 , 高楼 , 于跃,更多章节内容可以访问云栖社区& ...

  8. k8s(Kubernetes)实战(一)之部署etcd与flannel

    k8s合集:(前两章为k8s二进制安装方法,十分复杂,推荐从第三章开始) k8s(Kubernetes)实战(一)之部署etcd与flannel k8s(Kubernetes)实战(二)之部署api- ...

  9. 【云原生 | Kubernetes 实战】18、K8s 安全实战篇之 RBAC 认证授权(上)

    目录 一.k8s 安全管理:认证.授权.准入控制概述 1.1 认证 认证基本介绍 授权基本介绍 准入控制基本介绍 为什么需要准入控制器呢? k8s 客户端访问 apiserver 的几种认证方式 ku ...

最新文章

  1. 一个正执行的程序如何启动另一新程序并关闭现执行程序
  2. shell python -c_python, shell, C/C++ 从命令行获得参数
  3. OAM K8s 标准实现 Crossplane 项目进入 CNCF Sandbox
  4. 没有思路?一个数据案例,拯救你的产品优化切入点
  5. angularjs移除不必要的$watch
  6. jdbc增删改查有哪些步骤_用Mybatis如何实现对数据库的增删改查步骤
  7. Elasticsearch java api(五) Bulk批量索引
  8. remoting例子
  9. 提出离职后怎么定last day_不敢提离职?日本正在兴起的“辞职中介”业务,拯救社畜们于水深火热之中!...
  10. 406. 根据身高重建队列
  11. paip.svn使用小结
  12. 共享内存shared pool (3):Library cache
  13. 让对应背景随着轮播的图片变化而改变
  14. Linux HA Cluster的实例演示(2)
  15. 网曝最牛点餐方式:顾客人手一个iPad
  16. 华为meto40 pro怎么升级鸿蒙,我有一台mate40pro,何时可以升级鸿蒙系统?
  17. html代码中文乱码解决
  18. android网络扫描工具,fing网络扫描仪安卓版
  19. 电力系统中随机矩阵理论的应用(Matlab实现)
  20. DB2将DETACH下来的临时表ATTACH到分区表报错SQL20307N SQLSTATE=428GE

热门文章

  1. XSSF - Cross Site Scripting Framework
  2. Android 天气APP(七)城市切换 之 城市数据源
  3. 单目标优化、多目标优化
  4. STATA 森林图 基于OR值和CI直接画的
  5. 深入浅出聚类算法之k-means算法
  6. 【C语言】练习函数调用
  7. 推荐5个程序员专属的开源APP
  8. 位运算全面总结,关于位运算看这篇就够了
  9. python读取excel数据并进行数据可视化_用Python处理Excel的数据,并将之可视化
  10. 网红王思聪数字时钟动态壁纸【电脑壁纸】