Skip to content

Commit bbfb08c

Browse files
authored
feat: Add k8s deployment files (CyanAsterisk#136)
* Create K8s * Add files via upload * Delete K8s * Delete ingress.yaml * Delete sc.yaml * Delete test.yaml * Update Makefile
1 parent b47701b commit bbfb08c

27 files changed

+778
-0
lines changed

deployment/freecar-k8s/Makefile

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
generate:
2+
kubectl apply -f $(basic).yaml
3+
4+
ingress:
5+
make basic=ingress generate
6+
7+
dashboard:
8+
make basic=dashboard generate
9+
make basic=auth generate
10+
11+
all:
12+
make dashboard
13+
make -C consul make
14+
make -C minio make
15+
make -C mongodb make
16+
make -C mysql make
17+
make -C rabbitmq make
18+
make -C redis make

deployment/freecar-k8s/auth.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRoleBinding
3+
metadata:
4+
name: service-controller-cluster-admin
5+
subjects:
6+
- kind: ServiceAccount
7+
name: service-controller
8+
namespace: kube-system
9+
roleRef:
10+
kind: ClusterRole
11+
name: cluster-admin
12+
apiGroup: rbac.authorization.k8s.io
+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
make:
2+
kubectl apply -f pv.yaml
3+
kubectl apply -f pvc.yaml
4+
kubectl apply -f consul.yaml
+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: consul
5+
spec:
6+
replicas: 1
7+
selector:
8+
matchLabels:
9+
app: consul
10+
template:
11+
metadata:
12+
labels:
13+
app: consul
14+
spec:
15+
containers:
16+
- name: consul
17+
image: consul:latest
18+
ports:
19+
- containerPort: 8500
20+
name: http
21+
volumeMounts:
22+
- name: consul-data
23+
mountPath: /consul/data
24+
env:
25+
- name: CONSUL_BIND_INTERFACE
26+
value: eth0
27+
- name: CONSUL_LOCAL_CONFIG
28+
value: |
29+
{
30+
"datacenter": "dc1",
31+
"server": true,
32+
"ui": true,
33+
"bootstrap_expect": 1,
34+
"retry_join": ["provider=k8s label_selector=\"app=consul\""]
35+
}
36+
volumes:
37+
- name: consul-data
38+
persistentVolumeClaim:
39+
claimName: consul-data
40+
41+
---
42+
apiVersion: v1
43+
kind: Service
44+
metadata:
45+
name: consul
46+
spec:
47+
selector:
48+
app: consul
49+
ports:
50+
- port: 8500
51+
targetPort: 8500
52+
protocol: TCP
53+
nodePort: 30088
54+
type: NodePort
55+

deployment/freecar-k8s/consul/pv.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: v1
2+
kind: PersistentVolume
3+
metadata:
4+
name: consul-data
5+
spec:
6+
capacity:
7+
storage: 1Gi
8+
accessModes:
9+
- ReadWriteOnce
10+
persistentVolumeReclaimPolicy: Retain
11+
hostPath:
12+
path: /mnt/data/consul
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
apiVersion: v1
2+
kind: PersistentVolumeClaim
3+
metadata:
4+
name: consul-data
5+
spec:
6+
accessModes:
7+
- ReadWriteOnce
8+
resources:
9+
requests:
10+
storage: 1Gi

0 commit comments

Comments
 (0)