Skip to content

Commit 113a83d

Browse files
committed
[Hotfix] fix etcd configuration for m1/arm64 minikube
1 parent 5756968 commit 113a83d

11 files changed

+40
-34
lines changed

README.md

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
# yorkie-kubernetes
22

3-
***WARNING: currently yorkie minikube cluster on `m1/arm64`***
4-
***is not working due to bitami/etcd have issues with `m1/arm64` architecture***
5-
63
Yorkie cluster on kubernetes
74

85
## Table of Contents
@@ -94,7 +91,7 @@ In minikube yorie cluster, there are:
9491
- `yorkie-ingress` : ingress (lb, gw) for routing yorkie related services
9592
- `envoy-service` -> `envoy pod` : envoy proxy for web connection & routing api, 1 replica exists
9693
- `yorkie-service` -> `yorkie pods` : yorkie api server, 3 replica exists
97-
- `etcd-service` -> `etcd stateful pod` : etcd for cluster mode, 1 replica exists
94+
- `etcd-service` -> `etcd stateful pod` : etcd for cluster mode, 2 replica exists
9895
- `mongo-service` -> `mongo stateful pod` : mongodb for nosql db, 1 replica exists
9996

10097
### About Yorkie

minikube/config/envoy-configmap.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v1
22
kind: ConfigMap
33
metadata:
4-
name: envoy-configmap
4+
name: envoy-config
55
namespace: yorkie
66
labels:
77
app: envoy
@@ -91,7 +91,7 @@ data:
9191
- endpoint:
9292
address:
9393
socket_address:
94-
address: yorkie-service
94+
address: yorkie
9595
port_value: 11101
9696
- name: admin_service
9797
connect_timeout: 0.25s
@@ -105,5 +105,5 @@ data:
105105
- endpoint:
106106
address:
107107
socket_address:
108-
address: yorkie-service
108+
address: yorkie
109109
port_value: 11103

minikube/deployment/envoy-deployment.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: apps/v1
22
kind: Deployment
33
metadata:
4-
name: envoy-deployment
4+
name: envoy
55
namespace: yorkie
66
labels:
77
app: envoy
@@ -16,7 +16,7 @@ spec:
1616
app: envoy
1717
spec:
1818
containers:
19-
- name: envoy-sidecar
19+
- name: envoy
2020
image: grpcweb/envoy
2121
ports:
2222
- containerPort: 8080
@@ -31,4 +31,4 @@ spec:
3131
volumes:
3232
- name: envoy-config
3333
configMap:
34-
name: envoy-configmap
34+
name: envoy-config

minikube/deployment/etcd-statefulset.yaml

+19-10
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
apiVersion: apps/v1
22
kind: StatefulSet
33
metadata:
4-
name: etcd-statefulset
4+
name: etcd
55
namespace: yorkie
66
labels:
77
app: etcd
88
spec:
9-
replicas: 1
9+
replicas: 2
1010
serviceName: etcd
1111
selector:
1212
matchLabels:
@@ -20,20 +20,29 @@ spec:
2020
terminationGracePeriodSeconds: 60
2121
containers:
2222
- name: etcd
23-
image: bitnami/etcd:latest
23+
image: quay.io/coreos/etcd:latest
24+
command:
25+
- /bin/sh
26+
- -c
27+
- |
28+
PEERS="etcd-0=http://etcd-0:2380,etcd-1=http://etcd-1:2380"
29+
exec etcd --name ${HOSTNAME} \
30+
--listen-peer-urls http://0.0.0.0:2380 \
31+
--listen-client-urls http://0.0.0.0:2379 \
32+
--advertise-client-urls http://${HOSTNAME}:2379 \
33+
--initial-advertise-peer-urls http://${HOSTNAME}:2380 \
34+
--initial-cluster-token etcd-cluster-1 \
35+
--initial-cluster ${PEERS} \
36+
--initial-cluster-state new \
37+
--data-dir /var/run/etcd/default.etcd \
38+
--auto-compaction-mode revision \
39+
--auto-compaction-retention 1000
2440
ports:
2541
- containerPort: 2379
2642
- containerPort: 2380
2743
volumeMounts:
2844
- name: etcd-persistent-storage
2945
mountPath: /var/run/etcd
30-
env:
31-
- name: ALLOW_NONE_AUTHENTICATION
32-
value: "yes"
33-
- name: ETCD_AUTO_COMPACTION_MODE
34-
value: "revision"
35-
- name: ETCD_AUTO_COMPACTION_RETENTION
36-
value: "1000"
3746
# resources will be configured in later updates
3847
# (need to load test to configure resource capacity)
3948
resources: {}

minikube/deployment/mongo-statefulset.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: apps/v1
22
kind: StatefulSet
33
metadata:
4-
name: mongo-statefulset
4+
name: mongo
55
namespace: yorkie
66
labels:
77
app: mongo

minikube/deployment/yorkie-server-deployment.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: apps/v1
22
kind: Deployment
33
metadata:
4-
name: yorkie-server-deployment
4+
name: yorkie-server
55
namespace: yorkie
66
labels:
77
app: yorkie-server
@@ -17,16 +17,16 @@ spec:
1717
spec:
1818
containers:
1919
- name: yorkie
20+
image: yorkieteam/yorkie:latest
2021
# env will be configured in later updates
2122
# (including secrets for certain variables)
2223
args:
2324
- server
2425
- --mongo-connection-uri
25-
- mongodb://mongo-service:27017
26+
- mongodb://mongo:27017
2627
- --etcd-endpoints
27-
- http://etcd-service:2379
28+
- http://etcd:2379
2829
- --enable-pprof
29-
image: yorkieteam/yorkie:latest
3030
ports:
3131
- containerPort: 11101
3232
- containerPort: 11102

minikube/networking/ingress/yorkie-ingress.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: networking.k8s.io/v1
22
kind: Ingress
33
metadata:
44
# using nginx ingress controller for minikube environment
5-
name: yorkie-ingress
5+
name: yorkie
66
namespace: yorkie
77
spec:
88
rules:
@@ -12,14 +12,14 @@ spec:
1212
pathType: Prefix
1313
backend:
1414
service:
15-
name: envoy-service
15+
name: envoy
1616
port:
1717
number: 8080
1818
- path: /yorkie.v1.AdminService
1919
pathType: Prefix
2020
backend:
2121
service:
22-
name: envoy-service
22+
name: envoy
2323
port:
2424
number: 9090
2525
# uncomment this section if you deployed monitoring manifests

minikube/service/envoy-service.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v1
22
kind: Service
33
metadata:
4-
name: envoy-service
4+
name: envoy
55
namespace: yorkie
66
labels:
77
app: envoy

minikube/service/etcd-service.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v1
22
kind: Service
33
metadata:
4-
name: etcd-service
4+
name: etcd
55
namespace: yorkie
66
labels:
77
app: etcd
@@ -10,9 +10,9 @@ spec:
1010
selector:
1111
app: etcd
1212
ports:
13-
- name: etcd-port
13+
- name: client-port
1414
port: 2379
1515
targetPort: 2379
16-
- name: etcd-second-port
16+
- name: peer-port
1717
port: 2380
1818
targetPort: 2380

minikube/service/mongo-service.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v1
22
kind: Service
33
metadata:
4-
name: mongo-service
4+
name: mongo
55
namespace: yorkie
66
labels:
77
app: mongo

minikube/service/yorkie-service.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v1
22
kind: Service
33
metadata:
4-
name: yorkie-service
4+
name: yorkie
55
namespace: yorkie
66
labels:
77
app: yorkie-server

0 commit comments

Comments
 (0)