Skip to content

Commit 77a6d9b

Browse files
committed
expose etcd pod's number to client
1 parent 729fffb commit 77a6d9b

File tree

6 files changed

+27
-2
lines changed

6 files changed

+27
-2
lines changed

coordinator/gscoordinator/cluster.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ def __init__(
161161
gie_graph_manager_image=None,
162162
coordinator_name=None,
163163
coordinator_service_name=None,
164+
etcd_num_pods=None,
164165
etcd_cpu=None,
165166
etcd_mem=None,
166167
zookeeper_cpu=None,
@@ -231,6 +232,7 @@ def __init__(
231232

232233
# etcd pod info
233234
self._etcd_image = etcd_image
235+
self._etcd_num_pods = etcd_num_pods
234236
self._etcd_cpu = etcd_cpu
235237
self._etcd_mem = etcd_mem
236238

@@ -390,7 +392,7 @@ def _create_etcd(self):
390392

391393
time.sleep(1)
392394

393-
# create distributed etcd with 3 pods
395+
# create etcd cluster
394396
etcd_builder = self._gs_etcd_builder_cls(
395397
name_prefix=self._etcd_name,
396398
container_name=self._etcd_container_name,
@@ -401,7 +403,7 @@ def _create_etcd(self):
401403
preemptive=self._preemptive,
402404
labels=labels,
403405
image_pull_policy=self._image_pull_policy,
404-
num_pods=3,
406+
num_pods=self._etcd_num_pods,
405407
restart_policy="Always",
406408
image_pull_secrets=self._image_pull_secrets,
407409
listen_peer_service_port=self._random_etcd_listen_peer_service_port,

coordinator/gscoordinator/coordinator.py

+7
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,12 @@ def parse_sys_args():
831831
default="256Mi",
832832
help="Memory of engine container, suffix with ['Mi', 'Gi', 'Ti'].",
833833
)
834+
parser.add_argument(
835+
"--k8s_etcd_num_pods",
836+
type=int,
837+
default=3,
838+
help="The number of etcd pods.",
839+
)
834840
parser.add_argument(
835841
"--k8s_etcd_cpu",
836842
type=float,
@@ -918,6 +924,7 @@ def launch_graphscope():
918924
gie_graph_manager_image=args.k8s_gie_graph_manager_image,
919925
coordinator_name=args.k8s_coordinator_name,
920926
coordinator_service_name=args.k8s_coordinator_service_name,
927+
etcd_num_pods=args.k8s_etcd_num_pods,
921928
etcd_cpu=args.k8s_etcd_cpu,
922929
etcd_mem=args.k8s_etcd_mem,
923930
zookeeper_cpu=args.k8s_zookeeper_cpu,

python/graphscope/client/session.py

+5
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ def __init__(
158158
k8s_image_pull_secrets=gs_config.k8s_image_pull_secrets,
159159
k8s_coordinator_cpu=gs_config.k8s_coordinator_cpu,
160160
k8s_coordinator_mem=gs_config.k8s_coordinator_mem,
161+
k8s_etcd_num_pods=gs_config.k8s_etcd_num_pods,
161162
k8s_etcd_cpu=gs_config.k8s_etcd_cpu,
162163
k8s_etcd_mem=gs_config.k8s_etcd_mem,
163164
k8s_zookeeper_cpu=gs_config.k8s_zookeeper_cpu,
@@ -228,6 +229,8 @@ def __init__(
228229
229230
k8s_coordinator_mem (str, optional): Minimum number of memory request for coordinator pod. Defaults to '4Gi'.
230231
232+
k8s_etcd_num_pods (int, optional): The number of etcd pods. Defaults to 3.
233+
231234
k8s_etcd_cpu (float, optional): Minimum number of CPU cores request for etcd pod. Defaults to 0.5.
232235
233236
k8s_etcd_mem (str, optional): Minimum number of memory request for etcd pod. Defaults to '128Mi'.
@@ -341,6 +344,7 @@ def __init__(
341344
"k8s_zookeeper_image",
342345
"k8s_coordinator_cpu",
343346
"k8s_coordinator_mem",
347+
"k8s_etcd_num_pods",
344348
"k8s_etcd_cpu",
345349
"k8s_etcd_mem",
346350
"k8s_zookeeper_cpu",
@@ -726,6 +730,7 @@ def _connect(self):
726730
vineyard_cpu=self._config_params["k8s_vineyard_cpu"],
727731
vineyard_mem=self._config_params["k8s_vineyard_mem"],
728732
vineyard_shared_mem=self._config_params["k8s_vineyard_shared_mem"],
733+
etcd_num_pods=self._config_params["k8s_etcd_num_pods"],
729734
etcd_cpu=self._config_params["k8s_etcd_cpu"],
730735
etcd_mem=self._config_params["k8s_etcd_mem"],
731736
zookeeper_cpu=self._config_params["k8s_zookeeper_cpu"],

python/graphscope/config.py

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ class GSConfig(object):
4747
k8s_coordinator_mem = "4Gi"
4848

4949
# etcd resource configuration
50+
k8s_etcd_num_pods = 3
5051
k8s_etcd_cpu = 0.5
5152
k8s_etcd_mem = "128Mi"
5253

python/graphscope/deploy/kubernetes/cluster.py

+6
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,9 @@ class KubernetesCluster(object):
8989
image_pull_secrets: list of str, optional
9090
A list of secret name used to pulling image. Defaults to None.
9191
92+
etcd_num_pods: int
93+
The number of etcd pods.
94+
9295
etcd_cpu: float
9396
Minimum number of CPU cores request for etcd pod.
9497
@@ -178,6 +181,7 @@ def __init__(
178181
engine_mem=None,
179182
coordinator_cpu=None,
180183
coordinator_mem=None,
184+
etcd_num_pods=None,
181185
etcd_cpu=None,
182186
etcd_mem=None,
183187
zookeeper_cpu=None,
@@ -211,6 +215,7 @@ def __init__(
211215
elif not isinstance(self._image_pull_secrets, list):
212216
self._image_pull_secrets = [self._image_pull_secrets]
213217

218+
self._etcd_num_pods = etcd_num_pods
214219
self._etcd_cpu = etcd_cpu
215220
self._etcd_mem = etcd_mem
216221
self._zookeeper_cpu = zookeeper_cpu
@@ -452,6 +457,7 @@ def _create_coordinator(self):
452457
coordinator_cpu=self._coordinator_cpu,
453458
coordinator_mem=self._coordinator_mem,
454459
coordinator_service_name=self._coordinator_service_name,
460+
etcd_num_pods=self._etcd_num_pods,
455461
etcd_cpu=self._etcd_cpu,
456462
etcd_mem=self._etcd_mem,
457463
zookeeper_cpu=self._zookeeper_cpu,

python/graphscope/deploy/kubernetes/resource_builder.py

+4
Original file line numberDiff line numberDiff line change
@@ -1049,6 +1049,7 @@ def add_coordinator_container(
10491049
coordinator_cpu,
10501050
coordinator_mem,
10511051
coordinator_service_name,
1052+
etcd_num_pods,
10521053
etcd_cpu,
10531054
etcd_mem,
10541055
zookeeper_cpu,
@@ -1083,6 +1084,7 @@ def add_coordinator_container(
10831084
self._coordinator_cpu = coordinator_cpu
10841085
self._coordinator_mem = coordinator_mem
10851086
self._coordinator_service_name = coordinator_service_name
1087+
self._etcd_num_pods = etcd_num_pods
10861088
self._etcd_cpu = etcd_cpu
10871089
self._etcd_mem = etcd_mem
10881090
self._zookeeper_cpu = zookeeper_cpu
@@ -1184,6 +1186,8 @@ def build_container_command(self):
11841186
self._coordinator_name,
11851187
"--k8s_coordinator_service_name",
11861188
self._coordinator_service_name,
1189+
"--k8s_etcd_num_pods",
1190+
str(self._etcd_num_pods),
11871191
"--k8s_etcd_cpu",
11881192
str(self._etcd_cpu),
11891193
"--k8s_etcd_mem",

0 commit comments

Comments
 (0)