-
Notifications
You must be signed in to change notification settings - Fork 4
/
deploy.yml
143 lines (141 loc) · 3.33 KB
/
deploy.yml
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
---
apiVersion: v1
kind: Service
metadata:
name: hamster-aline
spec:
selector:
app: hamster-aline
type: NodePort
ports:
- protocol: TCP
port: 8080
targetPort: 8080
nodePort: 30302
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: hamster-aline
labels:
app: hamster-aline
spec:
replicas: 1
selector:
matchLabels:
app: hamster-aline
template:
metadata:
labels:
app: hamster-aline
spec:
containers:
- name: hamster-aline
image: hamstershare/hamster-develop:${PIPELINE_ID}
imagePullPolicy: Always
env:
- name: DB_HOST
value: mysql
- name: DB_PASSWORD
valueFrom:
configMapKeyRef:
name: hamster-aline
key: db_password
- name: DOCKER_HOST
value: tcp://docker:2376
- name: DOCKER_CERT_PATH
value: /certs/client
- name: DOCKER_TLS_VERIFY
value: "1"
ports:
- containerPort: 8080
volumeMounts:
- mountPath: /root/pipelines
name: aline-pipelines
- mountPath: /root/workdir
name: aline-workdir
- mountPath: /certs
name: docker-tls
readOnly: true
- name: kubeconfig
mountPath: "/root/.kube"
readOnly: true
volumes:
- name: aline-pipelines
persistentVolumeClaim:
claimName: aline-pipelines
- name: aline-workdir
persistentVolumeClaim:
claimName: aline-workdir
- name: docker-tls
persistentVolumeClaim:
claimName: docker-tls
- name: kubeconfig
configMap:
# Provide the name of the ConfigMap you want to mount.
name: kubeconfig
# An array of keys from the ConfigMap to create as files
items:
- key: "kubeconfig"
path: "config"
---
apiVersion: v1
kind: Service
metadata:
name: docker
spec:
selector:
app: docker
type: ClusterIP
ports:
- protocol: TCP
port: 2376
targetPort: 2376
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: docker
labels:
app: docker
spec:
replicas: 1
selector:
matchLabels:
app: docker
template:
metadata:
labels:
app: docker
spec:
containers:
- name: docker
image: docker:dind
imagePullPolicy: IfNotPresent
args:
- --storage-driver
- overlay2
env:
- name: DOCKER_TLS_CERTDIR
value: /certs
ports:
- containerPort: 2376
volumeMounts:
- mountPath: /root/pipelines
name: aline-pipelines
- mountPath: /root/workdir
name: aline-workdir
- mountPath: /certs
name: docker-tls
securityContext:
privileged: true
volumes:
- name: aline-pipelines
persistentVolumeClaim:
claimName: aline-pipelines
- name: aline-workdir
persistentVolumeClaim:
claimName: aline-workdir
- name: docker-tls
persistentVolumeClaim:
claimName: docker-tls