YAML 설치 방법 (참고)
apiVersion: v1
metadata:
name: pv0001
labels:
type: local
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: /data/postgresql/
#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
apiVersion: v1
kind: Service
metadata:
labels:
name: sonar-postgres
name: sonar-postgres
spec:
ports:
- port: 5432
selector:
name: sonar-postgres
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: claim-postgres
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
apiVersion: v1
kind: Secret
metadata:
name: postgres-pwd
type: Opaque
data:
password: mypassword
#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
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
참고