DevOps DevOps
产品简介
产品安装
快速入门
使用指南
开发指南
FAQ
  • Dependency Track
  • Namespace
  • PV 和 PVC
  • Deployment
  • Service

# Dependency Track

# Namespace

$ kubectl create namespace devops

# PV 和 PVC

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: dtrack-pv
spec:
  capacity:          
    storage: 15Gi
  accessModes:       
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  nfs:            
    path: /backup/data/dtrack   
    server: 10.16.16.41
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: dependency-track-data 
  namespace: devops
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 15Gi  

设置挂载目录权限

chown -R 1000:1000 /backup/data/dtrack 

# Deployment

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dependency-track-bundled
  namespace: devops
spec:
  replicas: 1
  selector:
    matchLabels:
      app: dependency-track-bundled
  template:
    metadata:
      labels:
        app: dependency-track-bundled
    spec:
      securityContext:
        fsGroup: 1000
      containers:
      - name: dependency-track-bundled
        image: dependencytrack/bundled:4.10.0
        imagePullPolicy: IfNotPresent
        securityContext:
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          runAsUser: 1000
          runAsGroup: 1000
        env:
        # https://docs.dependencytrack.org/getting-started/database-support/
        # 数据库连接相关信息
        - name: ALPINE_DATABASE_MODE
          value: external
        - name: ALPINE_DATABASE_URL
          value: jdbc:postgresql://pgsql:5432/dtrack
        - name: ALPINE_DATABASE_DRIVER
          value: org.postgresql.Driver
        - name: ALPINE_DATABASE_USERNAME
          value: dtrack
        - name: ALPINE_DATABASE_PASSWORD
          value: password
        - name: TZ
          value: Asia/Shanghai
        ports:
        - name: api
          containerPort: 8080
          protocol: TCP
        livenessProbe:
          httpGet:
            port: api
            path: "/api/version"
          initialDelaySeconds: 60
          periodSeconds: 10
          timeoutSeconds: 2
          successThreshold: 1
          failureThreshold: 3
        readinessProbe:
          httpGet:
            port: api
            path: "/"
          initialDelaySeconds: 60
          periodSeconds: 10
          timeoutSeconds: 2
          successThreshold: 1
          failureThreshold: 3
        resources:
        # https://docs.dependencytrack.org/getting-started/deploy-docker/
          limits:
            cpu: 4
            memory: 16Gi
          requests:
            cpu: 2
            memory: 4608Mi
        volumeMounts:
        - name: data
          mountPath: /data
        - name: tmp
          mountPath: /tmp
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: dependency-track-data 
      - name: tmp
        emptyDir: {}

# Service

---
apiVersion: v1
kind: Service
metadata:
  name: dependency-track-bundled
  namespace: devops
  labels:
    app: dependency-track-bundled
spec:
  selector:
    app: dependency-track-bundled
  type: NodePort
  ports:
  - name: api
    port: 80
    targetPort: api
    nodePort: 32571

← SonarQube DevOps →