Skip to main content

Ethereum Kubernetes Deployment

Ethereum should not be modeled as a single generic container. Post-Merge operation requires an execution client and a consensus client connected through Engine API with a shared JWT secret. The public chart provides that split explicitly.

Chart source

charts/ethereum-node/
values.yaml
templates/all.yaml
examples/public-values.yaml

Concrete chart model

ComponentPublic chart defaultOfficial basis
Execution clientethereum/client-go:stableGeth publishes official Docker tags including stable.
Execution data path/root/.ethereumGeth Docker docs mount this path for persistent data.
Execution P2P30303/TCP, 30303/UDPGeth Docker/security docs list these for peering and discovery.
Execution RPC8545 HTTP, 8546 WebSocketGeth JSON-RPC docs list these defaults; private/gatewayed only.
Engine API8551Execution/consensus communication; private namespace-local surface.
Execution metrics6060, /debug/metrics/prometheusGeth metrics docs.
Consensus clientsigp/lighthouse:latestLighthouse official Docker image.
Consensus data path/root/.lighthouseLighthouse Docker docs.
Consensus P2P9000/TCP, 9000/UDP, 9001/UDPLighthouse Docker docs.
Beacon API5052Lighthouse HTTP API option; private/gatewayed only.
Consensus metrics5054, /metricsLighthouse metrics docs.

Render

helm template eth charts/ethereum-node \
-f charts/ethereum-node/examples/public-values.yaml

Required private values

ValueReason
jwt.existingSecretShared Engine API JWT secret mounted into execution and consensus pods.
consensus.checkpointSyncUrlFaster, safer consensus startup through a trusted checkpoint source.
storage classes/sizesMust match operator retention and performance policy.

Exposure policy

  • P2P can be public after network/firewall review.
  • JSON-RPC, WebSocket, Beacon API, Engine API, and metrics are private by default.
  • Public RPC requires gateway, TLS termination, rate limiting, namespace filtering, and monitoring.