erigon-pulse/k8s/base/statefulset.yaml
Mark Shields 1bcf162bf2
feat: add base kubernetes manifests (#5664)
Adds bare minimum, base kubernetes manifests for running erigon in
kubernetes.

Does not include crucial beacon chain, persistent volumes, etc.

I currently use this as a base for 5 erigon Pods, each with an erigon
execution node and prysm beacon node, along with 10 rpcdaemon pods, a
TLS-terminated Ingress with a cert-manager issued TLS certificate. I
would like to give back to the community then use this as an upstream
kustomized base. See: https://kustomize.io
2022-10-07 21:43:42 +01:00

81 lines
2.0 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: erigon
name: erigon
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: erigon
serviceName: erigon
template:
metadata:
labels:
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
command:
- erigon
image: erigon-image
livenessProbe:
initialDelaySeconds: 1800
periodSeconds: 20
tcpSocket:
port: 9090
name: erigon
ports:
- containerPort: 9090
name: private-api
- containerPort: 8551
name: engine
- containerPort: 30303
name: eth66-pr-tcp
protocol: TCP
- containerPort: 30303
name: eth66-pr-udp
protocol: UDP
- containerPort: 6060
name: metrics
- containerPort: 6070
name: pprof
- containerPort: 42069
name: snap-sync-tcp
protocol: TCP
- containerPort: 42069
name: snap-sync-udp
protocol: UDP
readinessProbe:
initialDelaySeconds: 1800
periodSeconds: 20
tcpSocket:
port: 9090
resources:
requests:
cpu: 2462m
memory: 16Gi
securityContext:
allowPrivilegeEscalation: false
runAsGroup: 1000
runAsUser: 1000
volumeMounts: []
initContainers: []
volumes: []
volumeClaimTemplates: []