Build an Akash Node quickly and simply with a deployment onto your Kubernetes cluster via a ready to use Helm Chart.
The Akash Node build detailed takes advantage of “state sync” which allows rapid activation. State Sync allows a new node to join a network by fetching a snapshot of the state at a recent height instead of fetching and replaying all historical blocks. This can reduce the time needed to sync with the network from hours to minutes.
In this section we will create necessary Kubernetes labels, install Helm, and ensure the necessary Helm repositories are available.
Create Necessary Kubernetes Labels
Create the akash-services label if not done so prior
Install Helm
Install Helm for Kubernetes package management if not done so prior
Execute on these steps on a Kubernetes control plane node
Update the Akash Helm Repo
Akash Node Installation
Uninstall Any Prior Node Instances
NOTE - if no previous Akash node instances are found the following message will be received and is expected
`Error: uninstall: Release not loaded: akash-node: release: not found`
Install Akash Node as a Kubernetes Pod
Expected/Sample Output
Node Verifications
View Helm Chart Values
Utilize this step to ensure the installed Helm Chart user supplied variables are correct
The values were defined when we executed the helm install command with specified parameters
Expected/Sample Output
If custom values were included with the helm install command the following output is expected (example)
If no custom values were included with the helm install command the following output is expected
Verify Akash Node Pod Status
Confirm that the Akash Node pod is in a pristine state
Expected/Sample Output
Verify Akash Node Sync via Logs
Ensure that the Akash Node pod has errors of concerns in logs and that the blockchain sync is progressing
Replace the name-of-pod variable with akash-node pod name displayed in the previous step
Expected/Sample Output
Akash Node Status
Access Pod Shell
Access the Kubernetes shell of the Akash Node deployment to view sync status
Verify Node Status
Expected/Sample Output
Note the following expected values:
catching_up - should be false once your Node is in sync with the blockchain
latest_block_height - compare this block height with the latest height on a block explorer as another method of validating if the node is in sync or if not in sync how close to completing that process the node may be
Additional Node Verification
STEP 1 - From the K8s Control-Plane Node
STEP 2 - From a Remote Address (Outside the K8s Network)
Use kubectl port-forward for forwarding the akash node (RPC) port 26657/tcp to your local station.
Forward 26657 to 127.0.0.1:26657
Expected/Example Output
Put the kubectl port-forward Process into Background