I’m thrilled to release production ready Helm Charts to operate Cardano nodes in Kubernetes. I put a ton of security and container experience to release the best possible Helm charts ever!
Unfortunately, I can’t comment (thread locked?) in 47906
I would be interested to get your feedback @tomdx Thomas, in particular in the area of peer-to-peer topology updates. I’ve been incubating something new in this area similar to your initial idea to use on-chain data in order to find registered relays information.
Currently I deploy my cardano services with docker compose. Although I have K8S scripts, I don’t use them because they’d create an unnecessary overhead, especially on the RaspberryPi4. On Helm charts, I can’t comment unfortunately - never used them.
I would be open to combining efforts and having a single repository that can be community maintained. SPOs are going to play bigger roles in the upcoming infrastructure updates and I would like to add support for Mithril when it’s ready.
github/cardano-community is sadly a user’s account.
I have github/cardano-spos as an organization. Let me know if anyone is interested!!!
Hey, many thanks for the links. I will have a look
You can submit contributions, they are welcome!
Ps: I can’t move things to an organisation repo at this time. I need a public portfolio of things I’m doing and this Azure contribution falls in this category.
More news I have just updated the Helm Chart to use the Alonzo version (docker image tag 1.30.1).
Wait, there is more. Now you can find a Terraform folder. It makes it super simple to roll-out all required resources at once in Azure!
You can get a full-node deployed in five minutes on the testnet. Final steps, such as loading keys in the Azure Key Vault, and registering the node on the blockchain shall still be done manually for security reasons.
I’m still not pleased with the time (hours!) it takes to sync the Cardano blockchain initially. My next step is to improve this significantly. I want terraform apply to create a full node from scratch and synced at 100% in less than ten minutes, either on testnet or mainnet.
I ran some tests today, now the whole process takes 11 minutes to get a brand new Cardano cluster running in AKS and fully synced with the (testnet) blockchain.
Very useful for testing and cost-saving since Cardano clusters can now be created in minutes with a single command (terraform apply -auto-approve), and destroyed in minutes with a single command too!
Updates in the git repo will be coming soon. with a new Helm Chart version.
It now takes 20 minutes to create a brand new full node on mainnet, fully synchronized (epoch 306) with the blockchain. This is the best I manage to get. If there is room for improvement , let me know!
Here is how the 20 minutes are spent:
7 minutes in the pod Init container to download and extract a 14GB mainnet tar.gz file (it’s 22 GB uncompressed, so my PV in Azure is 64 GB in size)
13 minutes in the cardano-node pod container to open the ‘immutable db’
few seconds to open the other dbs and then start fetching new blocks from other peers
Stay tuned, I will clean up the code and commit to helm-charts repo tomorrow night
Terraform is an interesting twist to extend ease of deploy beyond helm charts. The idea of abstracting away infrastructure requirements for Cardano relay/passive node deployments within cloud services could allow more decentralization and easier management of node pools for dapp development so we aren’t all relying on blockfrost as a bottleneck! It goes hand-in hand with what you were already working on previously. I think anyone who subscribes to the k8s kool-aid or at least knows the basics like me would be able to figure out how to use KMS or other solutions to key management easily enough.
Hey @DinoDude thanks! To follow-up on your feedback:
I opened 93828 to discuss the dApp development process and understand the basic requirements.
I also opened 93830 to start a discussion on decentralisation and the basic stuff that appears to be missing in Cardano. I believe we, as a community, must have high expectations on decentralisation and raise our concerns if things are not headed in the right direction.
hello @beardedgeek and welcome, thank you for this first post.
will I update it?
Yes. Waiting for the 1.35 dust to settle and for the Vasil fork to complete. Docker images published lately by IOHK have been very confusing and I do not want to get lost in this.
moving it to community repo?
I included the CONTRIBUTING.md file in the git repository. Follow contributions guidelines and submit pull-requests if you want to. I will make sure to test and do the code review. I will also attend the next Cardano event in Lausanne, CH, and look forward to discussions that will happen there.
hey, happy new year and merry Christmas to all Kubernetes and Cardano fans!
I have excellent, and more excellent news: I updated the Helm charts to support the latest Cardano image along with simplifications and extra. Credits to @_2072 for the memory optimization tips! (avg. memory for mainnet relay pod 8.5G, same for the producer pod).
With this release, you can get a testnet (preprod) node fully synced in 3 minutes from scratch, mainnet fully synced in 15 minutes. Preview testnet is also an option, via a simple configuration flag.