Skip to content

Commit d596338

Browse files
committed
k8s manifests
1 parent 9a7da19 commit d596338

File tree

7 files changed

+207
-0
lines changed

7 files changed

+207
-0
lines changed

kubernetes/app-dep.yaml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
name: demoapp
6+
labels:
7+
app: demoapp
8+
spec:
9+
replicas: 1
10+
selector:
11+
matchLabels:
12+
app: demoapp
13+
template:
14+
metadata:
15+
labels:
16+
app: demoapp
17+
spec:
18+
containers:
19+
- name: demoapp
20+
image: ghcr.io/junior/springbootdemo:1.0.0
21+
imagePullPolicy: Never
22+
env:
23+
- name: MYSQL_HOST
24+
value: mysql
25+
- name: MYSQL_PORT
26+
value: "3306"
27+
- name: MYSQL_EXTRAS
28+
value: "?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false"
29+
- name: MYSQL_DATABASE
30+
valueFrom:
31+
secretKeyRef:
32+
name: mysql-secrets
33+
key: database
34+
- name: MYSQL_USER
35+
valueFrom:
36+
secretKeyRef:
37+
name: mysql-secrets
38+
key: username
39+
- name: MYSQL_PASSWORD
40+
valueFrom:
41+
secretKeyRef:
42+
name: mysql-secrets
43+
key: password
44+
- name: JAVA_OPTS
45+
value: -Xms512m -Xmx1024m -XX:+UseG1GC -Djava.security.egd=file:/dev/urandom
46+
ports:
47+
- name: http
48+
containerPort: 8081
49+
resources:
50+
limits:
51+
cpu: 800m
52+
memory: 2048Mi
53+
requests:
54+
cpu: 500m
55+
memory: 1024Mi
56+
# livenessProbe:
57+
# httpGet:
58+
# path: /
59+
# port: http
60+
# readinessProbe:
61+
# httpGet:
62+
# path: /
63+
# port: http
64+
# imagePullSecrets:
65+
# - name: ocirsecrets

kubernetes/app-hpa.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
apiVersion: autoscaling/v2beta2
3+
kind: HorizontalPodAutoscaler
4+
metadata:
5+
name: demoapp
6+
spec:
7+
scaleTargetRef:
8+
apiVersion: apps/v1
9+
kind: Deployment
10+
name: demoapp
11+
minReplicas: 1
12+
maxReplicas: 10
13+
metrics:
14+
- type: Resource
15+
resource:
16+
name: cpu
17+
target:
18+
type: Utilization
19+
averageUtilization: 30

kubernetes/app-svc.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
apiVersion: v1
3+
kind: Service
4+
metadata:
5+
labels:
6+
app: demoapp
7+
name: demoapp
8+
spec:
9+
type: LoadBalancer
10+
ports:
11+
- port: 80
12+
targetPort: 8081
13+
protocol: TCP
14+
selector:
15+
app: demoapp

kubernetes/mysql-dep.yaml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
name: mysql
6+
spec:
7+
selector:
8+
matchLabels:
9+
app: mysql
10+
strategy:
11+
type: Recreate
12+
template:
13+
metadata:
14+
labels:
15+
app: mysql
16+
spec:
17+
containers:
18+
- image: mysql:5.7
19+
name: mysql
20+
env:
21+
- name: MYSQL_ROOT_PASSWORD
22+
valueFrom:
23+
secretKeyRef:
24+
name: mysql-secrets
25+
key: rootpassword
26+
- name: MYSQL_DATABASE
27+
valueFrom:
28+
secretKeyRef:
29+
name: mysql-secrets
30+
key: database
31+
- name: MYSQL_USER
32+
valueFrom:
33+
secretKeyRef:
34+
name: mysql-secrets
35+
key: username
36+
- name: MYSQL_PASSWORD
37+
valueFrom:
38+
secretKeyRef:
39+
name: mysql-secrets
40+
key: password
41+
ports:
42+
- containerPort: 3306
43+
name: mysql
44+
volumeMounts:
45+
- name: mysql-persistent-storage
46+
mountPath: /var/lib/mysql
47+
resources:
48+
limits:
49+
cpu: 300m
50+
memory: 1024Mi
51+
requests:
52+
cpu: 100m
53+
memory: 512Mi
54+
volumes:
55+
- name: mysql-persistent-storage
56+
persistentVolumeClaim:
57+
claimName: mysql-pvc-manual

kubernetes/mysql-pv-manual.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
apiVersion: v1
3+
kind: PersistentVolume
4+
metadata:
5+
name: mysql-pv-manual
6+
labels:
7+
type: local
8+
spec:
9+
storageClassName: manual
10+
capacity:
11+
storage: 100Mi
12+
accessModes:
13+
- ReadWriteOnce
14+
hostPath:
15+
path: "/mnt/data"
16+
---
17+
apiVersion: v1
18+
kind: PersistentVolumeClaim
19+
metadata:
20+
name: mysql-pvc-manual
21+
spec:
22+
storageClassName: manual
23+
accessModes:
24+
- ReadWriteOnce
25+
resources:
26+
requests:
27+
storage: 100Mi

kubernetes/mysql-pvc-oci-bv.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
apiVersion: v1
3+
kind: PersistentVolumeClaim
4+
metadata:
5+
name: mysql-pvc-oci-bv
6+
spec:
7+
storageClassName: oci-bv
8+
accessModes:
9+
- ReadWriteOnce
10+
resources:
11+
requests:
12+
storage: 50Gi

kubernetes/mysql-svc.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
apiVersion: v1
3+
kind: Service
4+
metadata:
5+
name: mysql
6+
spec:
7+
ports:
8+
- port: 3306
9+
selector:
10+
app: mysql
11+
clusterIP: None
12+
type: ClusterIP

0 commit comments

Comments
 (0)