Skip to content

Commit 2b467b7

Browse files
authored
Merge pull request #3298 from keep-network/kube-keep-clients-announced
Set network properties for bootstrap nodes We need to configure bootstrap nodes with publicly exposed announced addresses and make the service use a static IP predefined in GCP DNS config.
2 parents a7934a4 + 2cc4928 commit 2b467b7

File tree

4 files changed

+115
-75
lines changed

4 files changed

+115
-75
lines changed

infrastructure/kube/keep-test/keep-client/gen/data.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22
---
33
clients:
44
- id: 0
5+
publicAnnouncedAddress: "bootstrap-0.test.keep.network"
6+
staticIP: "104.154.61.116"
57
- id: 1
68
networkPeers: /dns4/keep-client-0.default.svc.cluster.local/tcp/3919/ipfs/16Uiu2HAmCcfVpHwfBKNFbQuhvGuFXHVLQ65gB4sJm7HyrcZuLttH
9+
publicAnnouncedAddress: "bootstrap-1.test.keep.network"
10+
staticIP: "35.223.100.87"
711
- id: 2
812
networkPeers: /dns4/keep-client-1.default.svc.cluster.local/tcp/3919/ipfs/16Uiu2HAm3eJtyFKAttzJ85NLMromHuRg4yyum3CREMf6CHBBV6KY
913
- id: 3

infrastructure/kube/keep-test/keep-client/gen/schema.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ clients:
44
- id: 0
55
#@schema/nullable
66
networkPeers: ""
7+
#@schema/nullable
8+
publicAnnouncedAddress: ""
9+
#@schema/nullable
10+
staticIP: ""
711
stakeAmount: 800_000
812
initContainers:
913
- name: ""

infrastructure/kube/keep-test/keep-client/gen/template.yaml

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,14 @@ network: goerli
1616
#@ def account():
1717
#@ return "account-" + str(client.id)
1818
#@ end
19+
20+
#@ def announcedAddresses():
21+
#@ result = "/dns4/" + name() + ".default.svc.cluster.local/tcp/3919"
22+
#@ if client.publicAnnouncedAddress:
23+
#@ result += ",/dns4/" + client.publicAnnouncedAddress + "/tcp/3919"
24+
#@ end
25+
#@ return result
26+
#@ end
1927
---
2028
apiVersion: apps/v1
2129
kind: StatefulSet
@@ -55,9 +63,12 @@ spec:
5563
image: "gcr.io/keep-test-f3e0/keep-client:latest"
5664
imagePullPolicy: Always
5765
ports:
58-
- containerPort: 3919
59-
- containerPort: 9601
60-
- containerPort: 9701
66+
- name: network
67+
containerPort: 3919
68+
- name: metrics
69+
containerPort: 9601
70+
- name: diagnostics
71+
containerPort: 9701
6172
env:
6273
- name: KEEP_ETHEREUM_PASSWORD
6374
valueFrom:
@@ -90,7 +101,7 @@ spec:
90101
- "--network.port"
91102
- "3919"
92103
- "--network.announcedAddresses"
93-
- #@ "/dns4/" + name() + ".default.svc.cluster.local/tcp/3919"
104+
- #@ announcedAddresses()
94105
#@ if client.networkPeers:
95106
- "--network.peers"
96107
- #@ client.networkPeers
@@ -153,14 +164,15 @@ metadata:
153164
spec:
154165
type: LoadBalancer
155166
ports:
156-
- port: 3919
157-
targetPort: 3919
158-
name: network
159-
- port: 9601
160-
targetPort: 9601
161-
name: metrics
162-
- port: 9701
163-
targetPort: 9701
164-
name: diagnostics
167+
- name: network
168+
port: 3919
169+
targetPort: network
170+
- name: metrics
171+
port: 9601
172+
targetPort: metrics
173+
- name: diagnostics
174+
port: 9701
175+
targetPort: diagnostics
165176
selector: #@ labels()
177+
loadBalancerIP: #@ client.staticIP
166178
#@ end

infrastructure/kube/keep-test/keep-client/keep-clients.yaml

Lines changed: 82 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,12 @@ spec:
5050
image: gcr.io/keep-test-f3e0/keep-client:latest
5151
imagePullPolicy: Always
5252
ports:
53-
- containerPort: 3919
54-
- containerPort: 9601
55-
- containerPort: 9701
53+
- name: network
54+
containerPort: 3919
55+
- name: metrics
56+
containerPort: 9601
57+
- name: diagnostics
58+
containerPort: 9701
5659
env:
5760
- name: KEEP_ETHEREUM_PASSWORD
5861
valueFrom:
@@ -86,7 +89,7 @@ spec:
8689
- --network.port
8790
- "3919"
8891
- --network.announcedAddresses
89-
- /dns4/keep-client-0.default.svc.cluster.local/tcp/3919
92+
- /dns4/keep-client-0.default.svc.cluster.local/tcp/3919,/dns4/bootstrap-0.test.keep.network/tcp/3919
9093
- --metrics.port
9194
- "9601"
9295
- --diagnostics.port
@@ -186,20 +189,21 @@ metadata:
186189
spec:
187190
type: LoadBalancer
188191
ports:
189-
- port: 3919
190-
targetPort: 3919
191-
name: network
192-
- port: 9601
193-
targetPort: 9601
194-
name: metrics
195-
- port: 9701
196-
targetPort: 9701
197-
name: diagnostics
192+
- name: network
193+
port: 3919
194+
targetPort: network
195+
- name: metrics
196+
port: 9601
197+
targetPort: metrics
198+
- name: diagnostics
199+
port: 9701
200+
targetPort: diagnostics
198201
selector:
199202
app: keep
200203
type: client
201204
id: "0"
202205
network: goerli
206+
loadBalancerIP: 104.154.61.116
203207
---
204208
apiVersion: apps/v1
205209
kind: StatefulSet
@@ -252,9 +256,12 @@ spec:
252256
image: gcr.io/keep-test-f3e0/keep-client:latest
253257
imagePullPolicy: Always
254258
ports:
255-
- containerPort: 3919
256-
- containerPort: 9601
257-
- containerPort: 9701
259+
- name: network
260+
containerPort: 3919
261+
- name: metrics
262+
containerPort: 9601
263+
- name: diagnostics
264+
containerPort: 9701
258265
env:
259266
- name: KEEP_ETHEREUM_PASSWORD
260267
valueFrom:
@@ -288,7 +295,7 @@ spec:
288295
- --network.port
289296
- "3919"
290297
- --network.announcedAddresses
291-
- /dns4/keep-client-1.default.svc.cluster.local/tcp/3919
298+
- /dns4/keep-client-1.default.svc.cluster.local/tcp/3919,/dns4/bootstrap-1.test.keep.network/tcp/3919
292299
- --network.peers
293300
- /dns4/keep-client-0.default.svc.cluster.local/tcp/3919/ipfs/16Uiu2HAmCcfVpHwfBKNFbQuhvGuFXHVLQ65gB4sJm7HyrcZuLttH
294301
- --metrics.port
@@ -390,20 +397,21 @@ metadata:
390397
spec:
391398
type: LoadBalancer
392399
ports:
393-
- port: 3919
394-
targetPort: 3919
395-
name: network
396-
- port: 9601
397-
targetPort: 9601
398-
name: metrics
399-
- port: 9701
400-
targetPort: 9701
401-
name: diagnostics
400+
- name: network
401+
port: 3919
402+
targetPort: network
403+
- name: metrics
404+
port: 9601
405+
targetPort: metrics
406+
- name: diagnostics
407+
port: 9701
408+
targetPort: diagnostics
402409
selector:
403410
app: keep
404411
type: client
405412
id: "1"
406413
network: goerli
414+
loadBalancerIP: 35.223.100.87
407415
---
408416
apiVersion: apps/v1
409417
kind: StatefulSet
@@ -456,9 +464,12 @@ spec:
456464
image: gcr.io/keep-test-f3e0/keep-client:latest
457465
imagePullPolicy: Always
458466
ports:
459-
- containerPort: 3919
460-
- containerPort: 9601
461-
- containerPort: 9701
467+
- name: network
468+
containerPort: 3919
469+
- name: metrics
470+
containerPort: 9601
471+
- name: diagnostics
472+
containerPort: 9701
462473
env:
463474
- name: KEEP_ETHEREUM_PASSWORD
464475
valueFrom:
@@ -594,20 +605,21 @@ metadata:
594605
spec:
595606
type: LoadBalancer
596607
ports:
597-
- port: 3919
598-
targetPort: 3919
599-
name: network
600-
- port: 9601
601-
targetPort: 9601
602-
name: metrics
603-
- port: 9701
604-
targetPort: 9701
605-
name: diagnostics
608+
- name: network
609+
port: 3919
610+
targetPort: network
611+
- name: metrics
612+
port: 9601
613+
targetPort: metrics
614+
- name: diagnostics
615+
port: 9701
616+
targetPort: diagnostics
606617
selector:
607618
app: keep
608619
type: client
609620
id: "2"
610621
network: goerli
622+
loadBalancerIP: null
611623
---
612624
apiVersion: apps/v1
613625
kind: StatefulSet
@@ -660,9 +672,12 @@ spec:
660672
image: gcr.io/keep-test-f3e0/keep-client:latest
661673
imagePullPolicy: Always
662674
ports:
663-
- containerPort: 3919
664-
- containerPort: 9601
665-
- containerPort: 9701
675+
- name: network
676+
containerPort: 3919
677+
- name: metrics
678+
containerPort: 9601
679+
- name: diagnostics
680+
containerPort: 9701
666681
env:
667682
- name: KEEP_ETHEREUM_PASSWORD
668683
valueFrom:
@@ -798,20 +813,21 @@ metadata:
798813
spec:
799814
type: LoadBalancer
800815
ports:
801-
- port: 3919
802-
targetPort: 3919
803-
name: network
804-
- port: 9601
805-
targetPort: 9601
806-
name: metrics
807-
- port: 9701
808-
targetPort: 9701
809-
name: diagnostics
816+
- name: network
817+
port: 3919
818+
targetPort: network
819+
- name: metrics
820+
port: 9601
821+
targetPort: metrics
822+
- name: diagnostics
823+
port: 9701
824+
targetPort: diagnostics
810825
selector:
811826
app: keep
812827
type: client
813828
id: "3"
814829
network: goerli
830+
loadBalancerIP: null
815831
---
816832
apiVersion: apps/v1
817833
kind: StatefulSet
@@ -864,9 +880,12 @@ spec:
864880
image: gcr.io/keep-test-f3e0/keep-client:latest
865881
imagePullPolicy: Always
866882
ports:
867-
- containerPort: 3919
868-
- containerPort: 9601
869-
- containerPort: 9701
883+
- name: network
884+
containerPort: 3919
885+
- name: metrics
886+
containerPort: 9601
887+
- name: diagnostics
888+
containerPort: 9701
870889
env:
871890
- name: KEEP_ETHEREUM_PASSWORD
872891
valueFrom:
@@ -1002,17 +1021,18 @@ metadata:
10021021
spec:
10031022
type: LoadBalancer
10041023
ports:
1005-
- port: 3919
1006-
targetPort: 3919
1007-
name: network
1008-
- port: 9601
1009-
targetPort: 9601
1010-
name: metrics
1011-
- port: 9701
1012-
targetPort: 9701
1013-
name: diagnostics
1024+
- name: network
1025+
port: 3919
1026+
targetPort: network
1027+
- name: metrics
1028+
port: 9601
1029+
targetPort: metrics
1030+
- name: diagnostics
1031+
port: 9701
1032+
targetPort: diagnostics
10141033
selector:
10151034
app: keep
10161035
type: client
10171036
id: "4"
10181037
network: goerli
1038+
loadBalancerIP: null

0 commit comments

Comments
 (0)