Skip to content

Commit 5a293c2

Browse files
committed
[K8s] configure complete minikube k8s manifests
1 parent d11796d commit 5a293c2

21 files changed

+1256
-175
lines changed
+108
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
name: envoy-configmap
5+
labels:
6+
app: envoy
7+
data:
8+
envoy.yaml: |
9+
admin:
10+
access_log_path: /tmp/admin_access.log
11+
address:
12+
socket_address: { address: 0.0.0.0, port_value: 9901 }
13+
14+
static_resources:
15+
listeners:
16+
- name: yorkie_listener
17+
address:
18+
socket_address: { address: 0.0.0.0, port_value: 8080 }
19+
filter_chains:
20+
- filters:
21+
- name: envoy.filters.network.http_connection_manager
22+
typed_config:
23+
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
24+
stat_prefix: ingress_http
25+
route_config:
26+
name: local_route
27+
virtual_hosts:
28+
- name: local_service
29+
domains: ["*"]
30+
routes:
31+
- match: { prefix: "/" }
32+
route:
33+
cluster: yorkie_service
34+
# https://github.com/grpc/grpc-web/issues/361
35+
max_stream_duration:
36+
grpc_timeout_header_max: 0s
37+
cors:
38+
allow_origin_string_match:
39+
- prefix: "*"
40+
allow_methods: GET, PUT, DELETE, POST, OPTIONS
41+
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout,authorization,x-api-key
42+
max_age: "1728000"
43+
expose_headers: custom-header-1,grpc-status,grpc-message, grpc-status-details-bin
44+
http_filters:
45+
- name: envoy.filters.http.grpc_web
46+
- name: envoy.filters.http.cors
47+
- name: envoy.filters.http.router
48+
- name: admin_listener
49+
address:
50+
socket_address: { address: 0.0.0.0, port_value: 9090 }
51+
filter_chains:
52+
- filters:
53+
- name: envoy.filters.network.http_connection_manager
54+
typed_config:
55+
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
56+
stat_prefix: ingress_http
57+
route_config:
58+
name: local_route
59+
virtual_hosts:
60+
- name: local_service
61+
domains: ["*"]
62+
routes:
63+
- match: { prefix: "/" }
64+
route:
65+
cluster: admin_service
66+
# https://github.com/grpc/grpc-web/issues/361
67+
max_stream_duration:
68+
grpc_timeout_header_max: 0s
69+
cors:
70+
allow_origin_string_match:
71+
- prefix: "*"
72+
allow_methods: GET, PUT, DELETE, POST, OPTIONS
73+
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout,authorization
74+
max_age: "1728000"
75+
expose_headers: custom-header-1,grpc-status,grpc-message, grpc-status-details-bin
76+
http_filters:
77+
- name: envoy.filters.http.grpc_web
78+
- name: envoy.filters.http.cors
79+
- name: envoy.filters.http.router
80+
clusters:
81+
- name: yorkie_service
82+
connect_timeout: 0.25s
83+
type: logical_dns
84+
http2_protocol_options: {}
85+
lb_policy: round_robin
86+
load_assignment:
87+
cluster_name: yorkie_cluster
88+
endpoints:
89+
- lb_endpoints:
90+
- endpoint:
91+
address:
92+
socket_address:
93+
address: yorkie-service
94+
port_value: 11101
95+
- name: admin_service
96+
connect_timeout: 0.25s
97+
type: logical_dns
98+
http2_protocol_options: {}
99+
lb_policy: round_robin
100+
load_assignment:
101+
cluster_name: admin_cluster
102+
endpoints:
103+
- lb_endpoints:
104+
- endpoint:
105+
address:
106+
socket_address:
107+
address: yorkie-service
108+
port_value: 11103

k8s/minikube/config/prometheus-configmap.yaml

+8-8
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ kind: ConfigMap
33
metadata:
44
name: prometheus-config
55
data:
6-
scrape_configs:
7-
- job_name: yorkie
8-
metrics_path: /metrics
9-
scrape_interval: 5s
10-
static_configs:
11-
- targets:
12-
# win/mac hosts: Use address: host.docker.internal instead of address: localhost in the line below
13-
- host.docker.internal:11102
6+
prometheus.yml: |
7+
scrape_configs:
8+
- job_name: yorkie
9+
metrics_path: /metrics
10+
scrape_interval: 5s
11+
static_configs:
12+
- targets:
13+
- yorkie-service:11102
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: envoy-deployment
5+
labels:
6+
app: envoy
7+
spec:
8+
replicas: 1
9+
selector:
10+
matchLabels:
11+
app: envoy
12+
template:
13+
metadata:
14+
labels:
15+
app: envoy
16+
spec:
17+
containers:
18+
- name: envoy-sidecar
19+
image: grpcweb/envoy
20+
ports:
21+
- containerPort: 8080
22+
- containerPort: 9090
23+
- containerPort: 9901
24+
resources: {}
25+
volumeMounts:
26+
- name: envoy-config
27+
mountPath: /etc/envoy
28+
volumes:
29+
- name: envoy-config
30+
configMap:
31+
name: envoy-configmap

k8s/minikube/deployment/etcd-deployment.yaml

-29
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
apiVersion: apps/v1
2+
kind: StatefulSet
3+
metadata:
4+
name: etcd-statefulset
5+
labels:
6+
app: etcd
7+
spec:
8+
replicas: 1
9+
serviceName: etcd
10+
selector:
11+
matchLabels:
12+
app: etcd
13+
template:
14+
metadata:
15+
labels:
16+
app: etcd
17+
spec:
18+
restartPolicy: Always
19+
terminationGracePeriodSeconds: 60
20+
containers:
21+
- name: etcd
22+
image: bitnami/etcd:latest
23+
ports:
24+
- containerPort: 2379
25+
- containerPort: 2380
26+
volumeMounts:
27+
- name: etcd-persistent-storage
28+
mountPath: /var/run/etcd
29+
env:
30+
- name: ALLOW_NONE_AUTHENTICATION
31+
value: "yes"
32+
# - name: ETCD_AUTO_COMPACTION_MODE
33+
# value: "revision"
34+
# - name: ETCD_AUTO_COMPACTION_RETENTION
35+
# value: "1000"
36+
volumeClaimTemplates:
37+
- metadata:
38+
name: etcd-persistent-storage
39+
spec:
40+
accessModes: ["ReadWriteOnce"]
41+
storageClassName: standard
42+
resources:
43+
requests:
44+
storage: 800Mi
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
11
apiVersion: apps/v1
22
kind: Deployment
33
metadata:
4-
name: yorkie-grafana-deployment
5-
namespace: yorkie
4+
name: grafana-deployment
65
labels:
7-
app: yorkie-grafana
6+
app: grafana
87
spec:
98
replicas: 1
109
selector:
1110
matchLabels:
12-
app: yorkie-grafana
11+
app: grafana
1312
template:
1413
metadata:
15-
annotations:
1614
labels:
17-
app: yorkie-grafana
15+
app: grafana
1816
spec:
1917
containers:
20-
- image: grafana/grafana:latest
21-
name: grafana
18+
- name: grafana
19+
image: grafana/grafana:latest
2220
ports:
2321
- containerPort: 3000
24-
restartPolicy: Always
22+
resources: {}

k8s/minikube/deployment/mongo-deployment.yaml

-33
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
apiVersion: apps/v1
2+
kind: StatefulSet
3+
metadata:
4+
name: mongo-statefulset
5+
labels:
6+
app: mongo
7+
spec:
8+
replicas: 1
9+
serviceName: mongo
10+
selector:
11+
matchLabels:
12+
app: mongo
13+
template:
14+
metadata:
15+
labels:
16+
app: mongo
17+
spec:
18+
restartPolicy: Always
19+
terminationGracePeriodSeconds: 60
20+
containers:
21+
- name: mongo
22+
image: mongo:latest
23+
ports:
24+
- containerPort: 27017
25+
volumeMounts:
26+
- name: mongo-persistent-storage
27+
mountPath: /data/db
28+
volumeClaimTemplates:
29+
- metadata:
30+
name: mongo-persistent-storage
31+
spec:
32+
accessModes: ["ReadWriteOnce"]
33+
storageClassName: standard
34+
resources:
35+
requests:
36+
storage: 1Gi

k8s/minikube/deployment/prometheus-deployment.yaml

-36
This file was deleted.

0 commit comments

Comments
 (0)