# Nexus
# Namespace
$ kubectl create namespace devops
# PV 和 PVC
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: nexus-pv
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
path: /backup/data/nexus
server: 10.16.16.41
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: nexus-data
namespace: devops
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
设置挂载目录权限
chown -R 200:200 /backup/data/nexus
# Deployment
nexus-deployment.yml
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nexus
namespace: devops
spec:
replicas: 1
selector:
matchLabels:
app: nexus
template:
metadata:
labels:
app: nexus
spec:
containers:
- name: nexus
image: hub.c.primeton.com/devops-pro/primeton/nexus3:3.61.0-02
imagePullPolicy: IfNotPresent
securityContext:
runAsUser: 200
ports:
- containerPort: 8081
name: http
protocol: TCP
resources:
limits:
cpu: 4
memory: 8Gi
requests:
cpu: 2
memory: 4Gi
volumeMounts:
- name: data
mountPath: /nexus-data # Nexus数据存储目录
volumes:
- name: data
persistentVolumeClaim:
claimName: nexus-data
# 服务暴漏
nexus-svc.yml
---
apiVersion: v1
kind: Service
metadata:
name: nexus
namespace: devops
labels:
app: nexus
spec:
selector:
app: nexus
type: NodePort
ports:
- name: http
port: 8081
targetPort: http
nodePort: 30077