Kotal extended Kubernetes with
Network custom resource in the
ethereum.kotal.io/v1alpha1 group version.
Network controller creates Node resources from the network
|id||number||Network id used for p2p communcations between network nodes|
|join||string||Public network name to join, like |
|consensus||string||Network consensus algorithm name, like |
|highlyAvailable||boolean||Ethereum nodes will be scheduled on different kubernetes nodes|
|topologyKey||string||kubernetes node label key used to distribute ethereum nodes|
|genesis||object||Genesis block configuration|
|nodes||array||Array of node objects|
here's an example of a
id is the network id used for p2p communications between network nodes in private networks.
id is required in private networks.
id can't be provided while joining a public network.
id can't be updated (immutable).
join is the public network name to join, like
join can't be provided in private networks.
join can't be updated (immutable).
consensus is the network consensus algorithm name, like
consensus is required in private networks.
consensus possible values are
consensus can't be updated (immutable).
highlyAvailable controls if Ethereum nodes will be scheduled on different Kubernetes nodes.
topologyKey is Kubernetes node label key used to distribute ethereum nodes pods on different kubernetes nodes.
genesis is the genesis block configuration.
genesis block is required in private networks.
genesis can't be updated (immutable).
For extensive details, check genesis reference.
nodes is the Network nodes.
nodes is required, at least one node must be specified.
nodes in the network
.spec.nodes are named nodes, require a
topologyKey will override node values, so don't specify these values in the
.spec.nodes because they won't take effect.
For extensive details, check node reference.