长春净月潭建设投资集团网站,电商网站开发用什么软件好,网络黄页推广大全,wordpress prower一、前言 在k8s集群中部署nexus服务需要使用到pv、pvc服务来存储nexus的数据#xff0c;需要使用service服务来提供对外访问nexus服务的端口#xff0c;需要使用deployment服务来管理nexus服务#xff0c;接下来就是用这些服务来在k8s集群中搭建nexus#xff0c;pv服务使用…一、前言 在k8s集群中部署nexus服务需要使用到pv、pvc服务来存储nexus的数据需要使用service服务来提供对外访问nexus服务的端口需要使用deployment服务来管理nexus服务接下来就是用这些服务来在k8s集群中搭建nexuspv服务使用了nfs网络存储并且部署的是3.28.0版本的neuxs如需其他版本自行更改镜像版本
二、部署 创建yaml文件存放目录 mkdir /opt/nexus cd /opt/nexus 创建命名空间 kubectl create namespace nexus 在nfs服务器给存储nexus数据的nfs共享路径授权
这是因为在nexus3官方docker仓库说明文档里挂载目录设置的权限为200但实际安装的时候无法启动,权限不够,启动nexus服务导致输出报错如下mkdir: cannot create directory ../sonatype-work/nexus3/log: Permission denied
mkdir: cannot create directory ../sonatype-work/nexus3/tmp: Permission denied
OpenJDK 64-Bit Server VM warning: Cannot open file ../sonatype-work/nexus3/log/jvm.log due to No such file or directoryWarning: Cannot open log file: ../sonatype-work/nexus3/log/jvm.log
Warning: Forcing option -XX:LogFile/tmp/jvm.log
java.io.FileNotFoundException: ../sonatype-work/nexus3/tmp/i4j_ZTDnGON8hezynsMX2ZCYAVDtQog.lock (No such file or directory)chmod 777 /share/k8s/nexus 编辑pv配置文件 vi pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:name: nexus-pv
spec:capacity:storage: 30Gi #配置容量大小accessModes:- ReadWriteOnce #配置访问策略为只允许一个节点读写persistentVolumeReclaimPolicy: Retain #配置回收策略Retain为手动回收storageClassName: nexus #配置为nfsnfs:path: /share/k8s/nexus #配置nfs服务端的共享路径server: 10.1.60.22 #配置nfs服务器地址 编辑pvc配置文件
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: nexus-data-pvcnamespace: nexus
spec:accessModes:- ReadWriteOnceresources:requests:storage: 30GistorageClassName: nexus
编辑service配置文件
apiVersion: v1
kind: Service
metadata:name: nexusnamespace: nexuslabels:app: nexus
spec:selector:app: nexustype: NodePortports:- name: webprotocol: TCPport: 8081targetPort: 8081nodePort: 30001
编辑deployment配置文件
apiVersion: apps/v1
kind: Deployment
metadata:labels:app: nexusname: nexusnamespace: nexus
spec:replicas: 1progressDeadlineSeconds: 600minReadySeconds: 30strategy:rollingUpdate:maxSurge: 1maxUnavailable: 0type: RollingUpdateselector:matchLabels:app: nexustemplate:metadata:labels:app: nexusspec:containers:- name: nexusimage: sonatype/nexus3:3.28.0imagePullPolicy: IfNotPresentports:- containerPort: 8081name: webprotocol: TCPlivenessProbe:httpGet:path: /port: 8081initialDelaySeconds: 70periodSeconds: 30failureThreshold: 6readinessProbe:httpGet:path: /port: 8081initialDelaySeconds: 60periodSeconds: 30failureThreshold: 6resources:limits:cpu: 1000mmemory: 2Girequests:cpu: 500mmemory: 512MivolumeMounts:- name: nexus-datamountPath: /nexus-datavolumes:- name: nexus-datapersistentVolumeClaim:claimName: nexus-data-pvc
创建yaml文件对应服务
kubectl apply -f pv.yaml
kubectl apply -f pvc.yaml
kubectl apply -f service.yaml
kubectl apply -f deployment.yaml
查询服务是否正常
kubectl get all -n nexus kubectl get pv
kubectl get pvc 服务启动正常后获取nexus初始的登录密码
kubectl exec -it nexus-6fcc7c4db9-np769 -n nexus cat /nexus-data/admin.password
通过service的nodeport端口访问nexus服务
http://10.1.60.14:30001/
默认用户admin 密码使用上面获取的初始密码即可