sonaqube 설치 (kubernetes )

푸르둥개·2025년 11월 20일

YAML 설치 방법 (참고)

  • soanr-pv-postgres.yaml
apiVersion: v1
metadata:
  name: pv0001
  labels:
    type: local
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: /data/postgresql/
  • sonar-postgres-deployment.yaml
#apiVersion: extensions/v1beta1
apiVersion: apps/v1
kind: Deployment
metadata:
  name: sonar-postpres
  labels:
    app: sonar-postpres
spec:
  selector:
    matchLabels:
      app: sonar-postpres
  template:
    metadata:
      labels:
        app: sonar-postpres
    spec:
      containers:
        - image: postgres:latest
          name: sonar-postgres
          env:
            - name: POSTGRES_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: postgres-pwd
                  key: password
            - name: POSTGRES_USER
              value: sonar
          ports:
            - containerPort: 5432
              name: postgresport
          volumeMounts:
            # This name must match the volumes.name below.
            - name: data-disk
              mountPath: /var/lib/postgresql/data
      volumes:
        - name: data-disk
          persistentVolumeClaim:
            claimName: claim-postgres
  • sonar-postgres-service.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    name: sonar-postgres
  name: sonar-postgres
spec:
  ports:
    - port: 5432
  selector:
    name: sonar-postgres
  • sonar-pvc-postgres.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: claim-postgres
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 8Gi
  • sonar-secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: postgres-pwd
type: Opaque
data:
  password: mypassword
  • sonarqube-deployment.yaml
#apiVersion: extensions/v1beta1
apiVersion: apps/v1
kind: Deployment
metadata:
  name: sonarqube
  labels:
    app: sonarqube
spec:
  selector:
    matchLabels:
      app: sonarqube
  template:
    metadata:
      labels:
        app: sonarqube
    spec:
      containers:
        - image: sonarqube:latest
          args:
            - -Dsonar.web.context=/sonar
          name: sonarqube
          env:
            - name: SONARQUBE_JDBC_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: postgres-pwd
                  key: password
            - name: SONARQUBE_JDBC_URL
              value: jdbc:postgresql://sonar-postgres:5432/sonar
          ports:
            - containerPort: 9000
              name: sonarqube
  • sonarqube-service.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    name: sonar
  name: sonar
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 9000
      nodePort: 30002
      name: sonarport
  selector:
    name: sonarqube

참고

profile
DevOps, 개발팀과 운영팀이 알아두면 좋은 정보를 공유합니다.

0개의 댓글