mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2024-12-22 03:30:37 +00:00
feat(k8s): base with google-kubernetes-engine overlay example (#6041)
re: https://discord.com/channels/687972960811745322/738982866670714901/1041381487754354689 Introduces a more modular base with a google-kubernetes-engine overlay example.
This commit is contained in:
parent
874d96fb47
commit
0d854fea6e
@ -1,8 +1,3 @@
|
||||
---
|
||||
resources:
|
||||
- eth66-peering-tcp.yaml
|
||||
- eth66-peering-udp.yaml
|
||||
- http.yaml
|
||||
- metrics.yaml
|
||||
- snap-sync-tcp.yaml
|
||||
- snap-sync-udp.yaml
|
||||
- statefulset.yaml
|
@ -1,3 +1,4 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
@ -1,3 +1,4 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
@ -1,3 +1,4 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
8
k8s/base/services/kustomization.yaml
Normal file
8
k8s/base/services/kustomization.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
resources:
|
||||
- eth66-peering-tcp.yaml
|
||||
- eth66-peering-udp.yaml
|
||||
- http.yaml
|
||||
- metrics.yaml
|
||||
- snap-sync-tcp.yaml
|
||||
- snap-sync-udp.yaml
|
@ -1,3 +1,4 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
@ -1,3 +1,4 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
@ -1,3 +1,4 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
@ -1,3 +1,4 @@
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
@ -17,29 +18,11 @@ spec:
|
||||
app: erigon
|
||||
spec:
|
||||
containers:
|
||||
- args:
|
||||
- '--authrpc.vhosts=*'
|
||||
- '--datadir=/home/erigon/.local/share/erigon'
|
||||
- '--healthcheck'
|
||||
- '--log.json'
|
||||
- '--metrics'
|
||||
- '--metrics.addr=0.0.0.0'
|
||||
- '--metrics.port=6060'
|
||||
- '--nat=none'
|
||||
- '--private.api.ratelimit=50000'
|
||||
- '--private.api.addr=0.0.0.0:9090'
|
||||
- '--torrent.download.rate=3000mb'
|
||||
- '--torrent.download.slots=200'
|
||||
- '--verbosity=3'
|
||||
- —-batchSize=8000M
|
||||
- args: []
|
||||
command:
|
||||
- erigon
|
||||
image: erigon-image
|
||||
livenessProbe:
|
||||
initialDelaySeconds: 1800
|
||||
periodSeconds: 20
|
||||
tcpSocket:
|
||||
port: 9090
|
||||
env: []
|
||||
image: thorax/erigon
|
||||
name: erigon
|
||||
ports:
|
||||
- containerPort: 9090
|
||||
@ -52,6 +35,9 @@ spec:
|
||||
- containerPort: 30303
|
||||
name: eth66-pr-udp
|
||||
protocol: UDP
|
||||
- containerPort: 8545
|
||||
name: http
|
||||
protocol: TCP
|
||||
- containerPort: 6060
|
||||
name: metrics
|
||||
- containerPort: 6070
|
||||
@ -63,10 +49,8 @@ spec:
|
||||
name: snap-sync-udp
|
||||
protocol: UDP
|
||||
readinessProbe:
|
||||
initialDelaySeconds: 1800
|
||||
periodSeconds: 20
|
||||
tcpSocket:
|
||||
port: 9090
|
||||
port: 8545
|
||||
resources:
|
||||
requests:
|
||||
cpu: 2462m
|
||||
|
12
k8s/google-kubernetes-engine/kustomization.yaml
Normal file
12
k8s/google-kubernetes-engine/kustomization.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
patchesJson6902:
|
||||
- path: statefulset-erigon-patch.yaml
|
||||
target:
|
||||
group: apps
|
||||
kind: StatefulSet
|
||||
name: erigon
|
||||
version: v1
|
||||
resources:
|
||||
- ../base
|
||||
- ../base/services
|
||||
- podmonitoring.yaml
|
13
k8s/google-kubernetes-engine/podmonitoring.yaml
Normal file
13
k8s/google-kubernetes-engine/podmonitoring.yaml
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
apiVersion: monitoring.googleapis.com/v1
|
||||
kind: PodMonitoring
|
||||
metadata:
|
||||
name: erigon
|
||||
spec:
|
||||
endpoints:
|
||||
- interval: 30s
|
||||
path: /debug/metrics/prometheus
|
||||
port: metrics
|
||||
selector:
|
||||
matchLabels:
|
||||
app: erigon
|
70
k8s/google-kubernetes-engine/statefulset-erigon-patch.yaml
Normal file
70
k8s/google-kubernetes-engine/statefulset-erigon-patch.yaml
Normal file
@ -0,0 +1,70 @@
|
||||
---
|
||||
- op: replace
|
||||
path: /spec/replicas
|
||||
value: 3
|
||||
- op: add
|
||||
path: /spec/template/spec/containers/0/resources/limits
|
||||
value:
|
||||
cpu: '9'
|
||||
memory: 110Gi
|
||||
- op: replace
|
||||
path: /spec/template/spec/containers/0/resources/requests/cpu
|
||||
value: '9'
|
||||
- op: replace
|
||||
path: /spec/template/spec/containers/0/resources/requests/memory
|
||||
value: 110Gi
|
||||
- op: replace
|
||||
path: /spec/template/spec/containers/0/args
|
||||
value:
|
||||
- '--chain=mainnet'
|
||||
- '--datadir=/home/erigon/.local/share/erigon'
|
||||
- '--db.pagesize=64KB'
|
||||
- '--healthcheck'
|
||||
- '--http'
|
||||
- '--http.addr=0.0.0.0'
|
||||
- '--http.api=eth,erigon,web3,net,debug,ots,trace,txpool'
|
||||
- '--http.corsdomain=*'
|
||||
- '--http.vhosts=*'
|
||||
- '--log.console.verbosity=1'
|
||||
- '--log.json'
|
||||
- '--metrics'
|
||||
- '--metrics.addr=0.0.0.0'
|
||||
- '--metrics.port=6060'
|
||||
- '--nat=none'
|
||||
- '--torrent.download.rate=3000mb'
|
||||
- '--torrent.download.slots=200'
|
||||
- '--ws'
|
||||
- '--ws.compression'
|
||||
- op: replace
|
||||
path: /spec/template/spec/containers/0/volumeMounts
|
||||
value:
|
||||
- mountPath: /home/erigon/.local/share/erigon
|
||||
name: mainnet
|
||||
- op: add
|
||||
path: /spec/template/spec/initContainers/-
|
||||
value:
|
||||
command:
|
||||
- sh
|
||||
- '-c'
|
||||
- chown 1000 -R /home/erigon/.local/share/erigon
|
||||
image: busybox
|
||||
name: chown-datadir
|
||||
securityContext:
|
||||
capabilities:
|
||||
add:
|
||||
- CHOWN
|
||||
volumeMounts:
|
||||
- mountPath: /home/erigon/.local/share/erigon
|
||||
name: mainnet
|
||||
- op: add
|
||||
path: /spec/volumeClaimTemplates/-
|
||||
value:
|
||||
metadata:
|
||||
name: mainnet
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 3000Gi
|
||||
storageClassName: premium-rwo
|
21
k8s/google-kubernetes-engine/tls/certificate.yaml
Normal file
21
k8s/google-kubernetes-engine/tls/certificate.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: mainnet
|
||||
spec:
|
||||
commonName: ""
|
||||
dnsNames:
|
||||
- ""
|
||||
duration: 24h0m0s
|
||||
issuerRef:
|
||||
kind: ClusterIssuer
|
||||
name: ""
|
||||
renewBefore: 8h0m0s
|
||||
secretName: ""
|
||||
subject:
|
||||
organizations:
|
||||
- ""
|
||||
usages:
|
||||
- server auth
|
||||
- client auth
|
21
k8s/google-kubernetes-engine/tls/ingress.yaml
Normal file
21
k8s/google-kubernetes-engine/tls/ingress.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: mainnet
|
||||
spec:
|
||||
rules:
|
||||
- host: ""
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: http
|
||||
port:
|
||||
number: 8545
|
||||
path: /
|
||||
pathType: Prefix
|
||||
tls:
|
||||
- hosts:
|
||||
- ""
|
||||
secretName: ""
|
4
k8s/google-kubernetes-engine/tls/kustomization.yaml
Normal file
4
k8s/google-kubernetes-engine/tls/kustomization.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
resources:
|
||||
- certificate.yaml
|
||||
- ingress.yaml
|
Loading…
Reference in New Issue
Block a user