반응형
SonarQube on Kubernetes
Azure에서 쿠버네티스를 기반으로 SonarQube를 적용해보자.
PersistentVolumeClaim 생성
data와 plugin 저장을 위한 2개 PVC 생성
<sonar-data.yaml>
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: sonar-data
spec:
accessModes:
- ReadWriteOnce
storageClassName: default
resources:
requests:
storage: 31Gi
<sonar-extension.yaml>
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: sonar-extensions
spec:
accessModes:
- ReadWriteOnce
storageClassName: default
resources:
requests:
storage: 31Gi
시크릿 생성
PostgreSQL 패스워드 저장을 위한 Secret 생성
<sonar-secret.yaml>
apiVersion: v1
kind: Secret
metadata:
name: postgres
type: Opaque
data:
password: aHVuZ3Bvc3RncmVz
디플로이먼트 생성
<sonar-deployment.yaml>
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: sonarqube
name: sonarqube
spec:
replicas: 1
selector:
matchLabels:
app: sonarqube
template:
metadata:
labels:
app: sonarqube
spec:
containers:
- name: sonarqube
image: sonarqube:latest
volumeMounts:
- mountPath: "/opt/sonarqube/data/"
name: sonar-data
- mountPath: "/opt/sonarqube/extensions/"
name: sonar-extensions
env:
- name: "SONARQUBE_JDBC_USERNAME"
value: "hung"
- name: "SONARUQBE_JDBC_URL"
value: jdbc:postgresql://sonar-postgres:5432/sonar
- name: "SONARQUBE_JDBC_PASSWORD"
valueFrom:
secretKeyRef:
name: postgres
key: password
ports:
- containerPort: 9000
protocol: TCP
volumes:
- name: sonar-data
persistentVolumeClaim:
claimName: sonar-data
- name: sonar-extensions
persistentVolumeClaim:
claimName: sonar-extensions
서비스 생성
<sonar-svc.yaml>
apiVersion: v1
kind: Service
metadata:
labels:
app: sonarqube
name: sonarqube
spec:
ports:
- name: sonar
port: 80
protocol: TCP
targetPort: 9000
selector:
app: sonarqube
type: LoadBalancer
위 external-ip로 서비스 접속 확인
References:
https://medium.com/@akamenev/running-sonarqube-on-azure-kubernetes-92a1b9051120
반응형
'DevOps > Kubernetes' 카테고리의 다른 글
Kubernetes Architecture (0) | 2022.07.10 |
---|---|
쿠버네티스 (Kubernetes) 배포를 위한 고급 설정 (0) | 2022.06.26 |
쿠버네티스 워커노드 초기화 (0) | 2022.06.12 |
쿠버네티스(Kubernetes) PV, PVC (0) | 2022.05.20 |
[troubleshooting] [ERROR CRI]: container runtime is not running (0) | 2022.05.16 |