Mainnet8 Provider Upgrade Procedure
This is a comprehensive guide that covers the steps necessary to upgrade from Mainnet5 to Mainnet6 of Akash Network and Akash Provider components in a Kubernetes cluster.
Praetor providers should wait for further upgrade instructions from Praetor team!
provider-servicesis the main binary of the
akashis the main binary of the
This step is crucial to prevent unexpected behavior during the upgrade.
NOTE: The Akash Deployments will continue to run as usual while
akash-providerservice is stopped. The only impact is that users won't be able to perform
lease-<shell|events|logs>against their deployments nor deploy/update or terminate them.
kubectl -n akash-services scale statefulsets akash-provider --replicas=0
Follow these steps to upgrade various Helm charts. Make sure you've backed up your existing Helm chart configurations.
Helm charts to be upgraded are:
akash-node(aka RPC node),
helm repo update akash
Verify you can see the correct chart/app versions:
# helm search repo akash
NAME CHART VERSION APP VERSION DESCRIPTION
akash/akash-hostname-operator 8.0.0 0.4.8 An operator to map Ingress objects to Akash dep...
akash/akash-inventory-operator 8.0.0 0.4.8 An operator required for persistent storage (op...
akash/akash-ip-operator 8.0.0 0.4.8 An operator required for ip marketplace (optional)
akash/akash-node 8.0.0 0.28.2 Installs an Akash RPC node (required)
akash/provider 8.0.0 0.4.8 Installs an Akash provider (required)
Take the current
helm -n akash-services get values akash-node | grep -v '^USER-SUPPLIED VALUES' > akash-node-values.yml
helm upgrade akash-node akash/akash-node -n akash-services -f akash-node-values.yml
Take the current
helm -n akash-services get values akash-provider | grep -v '^USER-SUPPLIED VALUES' > provider.yaml
helm upgrade akash-provider akash/provider -n akash-services -f provider.yaml
IMPORTANT: Make sure your provider is using the latest bid price script! Here is the guide that tells you how you can set it for your akash-provider chart. https://docs.akash.network/providers/build-a-cloud-provider/akash-cloud-provider-build-with-helm-charts/step-6-provider-bid-customization
helm upgrade akash-hostname-operator akash/akash-hostname-operator -n akash-services
Skip this section if your provider does not provide persistent storage.
Note: This is not a typo, we are installing the inventory-operator without the akash- prefix.
helm upgrade inventory-operator akash/akash-inventory-operator -n akash-services
Skip this section if your provider does not provide IP leasing.
Take the current akash-ip-operator chart values:
helm -n akash-services get values akash-ip-operator | grep -v '^USER-SUPPLIED VALUES' > akash-ip-operator-values.yml
helm upgrade akash-ip-operator akash/akash-ip-operator -n akash-services -f akash-ip-operator-values.yml
Perform these checks to ensure the upgrade was successful.
Run this command to check the pods and their versions within the
kubectl -n akash-services get pods -o custom-columns='NAME:.metadata.name,IMAGE:.spec.containers[*].image'
The charts upgrade went well, if you are seeing these images and versions:
- provider and operator image is:
- node image is:
# kubectl -n akash-services get pods -o custom-columns='NAME:.metadata.name,IMAGE:.spec.containers[*].image'
Make sure to update your local
provider-servicesbinary (aka the Akash client) if you had it installed.
Verify the version and the location using these two commands:
type -p provider-services