Beacon Node

Kotal extended Kubernetes with BeaconNode custom resource in the ethereum2.kotal.io/v1alpha1 group version.

apiVersion: ethereum2.kotal.io/v1alpha1
kind: BeaconNode
metadata:
name: teku-beacon-node
spec:
join: pyrmont
client: teku
rest: true
SyntaxTypeDescriptionDefault
joinstringNetwork to join
clientstringEthereum 2.0 client to useteku
eth1EndpointsarrayEthereum 1 JSON RPC endpoints
restboolEnable REST API serverfalse
restHoststringREST API server host0.0.0.0
restPortnumberREST API server port5051
rpcboolEnables JSON RPC serverfalse
rpcHoststringJSON RPC server host0.0.0.0
rpcPortnumberJSON RPC server port4000
grpcboolGRPC gateway serverfalse
grpcHoststringGRPC gateway server host0.0.0.0
grpcPortnumberGRPC gateway server port3500
p2pPortnumberp2p and discovery port9000
resourcesobjectNode compute and storage resources

join#

join is Ethereum 2.0 network to join and sync its beacon chain.

client#

client is the Ethereum 2.0 client to use.

client possible values are teku,prysm,lighthouse, and nimbus.

eth1 endpoints#

eth1Endpoints is array of Ethereum 1 JSON RPC endpoints.

Multiple Ethereum 1 JSON RPC Support

prysm, and lighthouse clients support multiple eth1Endpoints.

teku, and nimbus clients support only 1 eth1Endpoints.

rest#

rest enables REST API server.

info

REST API server is only supported by teku and lighthouse.

rest host#

restHost is the REST API server host.

rest port#

restPort is the REST API server port.

rpc#

rpc enables JSON RPC server.

info

JSON RPC server is only supported by nimbus and prysm.

rpc host#

rpcHost is the JSON RPC server host.

rpc port#

rpcPort is the JSON RPC server port.

grpc#

grpc enables GRPC gateway server.

info

GRPC gateway is only supported by prysm client.

grpc host#

grpcHost is the GRPC gateway server host.

grpc port#

grpcPort is the GRPC gateway server port.

p2p port#

p2pPort is the p2p and discovery port.

resources#

resources allocates compute and storage resources to the node.

resources object has the following fields:

SyntaxTypeDescriptionDefalt
cpustringnumber of cpu cores this node requires4
cpuLimitstringnumber of cpu cores this node is limited to8
memorystringmemory this node requires8Gi
memoryLimitstringmemory this node is limited to16Gi
storagestringdisk space this node requires200Gi

memory and storage requests and limits must use the pattern ^[1-9][0-9]*[KMGTPE]i$ for example 1500Mi, 30Gi, and 1Ti.

cpu requests and limits must use the pattern ^[1-9][0-9]*m?$ for example 1000m (which is equal to 1 core), 1500m which is 1.5 core, 2 cores, and 4 cores.

cpuLimit can't be less than cpu.

memoryLimit can't be less than memory.