Docker仓库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: sonar
name: sonar
namespace: public-service
spec:
selector:
matchLabels:
app: sonar
template:
metadata:
labels:
app: sonar
spec:
containers:
- env:
- name: crowd.application
value: sonar
- name: crowd.password
value: ***
- name: crowd.url
value: https://***.com/crowd/
- name: ldap.bindDn
value: cn=admin,dc=***,dc=com
- name: ldap.bindPassword
value: ***
- name: ldap.group.baseDn
value: ou=group,dc=***,dc=com
- name: ldap.realm
value: dc=***,dc=com
- name: ldap.url
value: ldap://openldap:389
- name: ldap.user.baseDn
value: ou=people,dc=***,dc=com
- name: ldap.user.emailAttribute
value: mail
- name: ldap.user.realNameAttribute
value: sn
- name: sonar.jdbc.password
value: ***
- name: sonar.jdbc.url
value: jdbc:postgresql://***:1433/sonarqube
- name: sonar.jdbc.username
value: sonarqube
- name: sonar.security.realm
value: Crowd
image: sonarqube:8.3.1-community
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
httpGet:
path: /api/system/status
port: 9000
scheme: HTTP
initialDelaySeconds: 60
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 30
name: sonar
ports:
- containerPort: 9000
name: http
protocol: TCP
volumeMounts:
- mountPath: /opt/sonarqube/data
name: sonarqube-data
subPath: sonarqube/data/
- mountPath: /opt/sonarqube/logs
name: sonarqube-logs
subPath: sonarqube/logs/
- mountPath: /opt/sonarqube/extensions
name: sonarqube-extensions
subPath: sonarqube/extensions/
- mountPath: /opt/sonarqube/conf/sonar.properties
name: sonar-config
subPath: sonar.properties
volumes:
- flexVolume:
driver: alicloud/nas
options:
options: nolock,tcp,noresvport
path: /share
server: nfs-server
vers: "3"
name: sonarqube-data
- flexVolume:
driver: alicloud/nas
options:
options: nolock,tcp,noresvport
path: /share
server: nfs-server
vers: "3"
name: sonarqube-logs
- flexVolume:
driver: alicloud/nas
options:
options: nolock,tcp,noresvport
path: /share
server: nfs-server
vers: "3"
name: sonarqube-extensions
- configMap:
defaultMode: 420
name: sonar-config
optional: false
name: sonar-config
---
apiVersion: v1
kind: Service
metadata:
labels:
app: sonar
name: sonar
namespace: public-service
spec:
ports:
- name: http
port: 9000
protocol: TCP
targetPort: 9000
selector:
app: sonar
type: ClusterIP
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
nginx.ingress.kubernetes.io/proxy-body-size: 200m
nginx.ingress.kubernetes.io/ssl-redirect: "true"
name: sonar
namespace: public-service
spec:
rules:
- host: ***.com
http:
paths:
- backend:
serviceName: sonar
servicePort: 9000
path: /
tls:
- secretName: ***.com