Provide high quality multiarch docker images and k8s support

You will likely hit that brick wall - on the Pi as well as on a beefy AWS arm64 machine.

1 Like

Hi Tom, I have linked you github/gitbook to the Arming Cardano telegram channel Telegram: Join Group Chat, we are a channel of Stake pool operators running on rpis. Many of us have experience that may be beneficial. I want to THANK YOU again for everything you provide to Cardano dev community!!!

Status update …

For now, PR [#2456] is the fivth and last installment for this CIP

Now we have …

  • Preserved functionality via -e NETWORK
  • Node configuration through env vars, which is later needed for k8s integration
  • Deployment scripts for Kubernetes and Docker Compose
  • Integrated configurable topology update
  • Graceful shutdown on docker stop
  • Improved access to the CLI
  • Comprehensive documentation for Kubernetes & Compose

There is a README about this over here and a more verbose and user friendly GitBook over here.

PS: Once this is merged we’d need to cleanup a few links and perhaps find a better home for the docs.


Hey @tomdx I have only just come across all your hard work on this. I have been super busy with client projects and not had enough time to keep up to track. I also started a similar track of work, but you hare much future along. I will run through all your documentation and provide some feedback / updates.

When I have this working and in a stable condition I am happy to port to helm and GitOps with examples.

Thanks for this.

@wIvie happy to let you know that I’ll follow your advice and submit a catalyst proposal. They are asking me for a referral email - would you have one for me?

I am SUPER happy to hear this!

Yes, please use:

I am actually using your image right now :wink:

Do you have a pool id or website?

I will add it to my proposal on catalyst as well to bring you some recognition as well.

Great, thanks. ASTOR is linked to my profile
Ideascale is also asking for a payment address (see above) - I think they ask for that of the referral (i.e. yours instead of mine)

I’ve been watching this for a little while, and have implemented some basic Helm charts to deploy a Cardano cluster based on the nessusio/cardano-node container images.

It fires up a 3 relay + 1 producer cluster. It supports importing your keys as well. Still purely experimental, but it works. It is still very much a work in progress.


Hey @Bruce_Lee_Harrison thanks for the reference :slight_smile:

ASTOR is now paying dividends for loyalty.

Hi Thomas, thanks for sharing.
I’ve already setup my kubernetes nodes, and now I’m still confuse to choose the docker image from IOHK or from your nessus-cardano. The link

is invalid. Do you have another yaml file either for IOHK image or from your image? In the Github Repo from GitHub - tdiesler/nessus-cardano: A Cardano playground that explores various build/runtime aspects of the project. Something like an incubation space, before we are propose changes upstream. The initial focus is on "container first" for the Cardano node. I cannot find any yaml file for the deployment.


The PR has been waiting on IOHK for ages, so you won’t get it from them for now. The k8s stuff inthe incubator is here

Hey Tom, it looks like that link is also dead and the repo may have been moved. Do you have a link to the new location? Thanks a ton for all your effort, you’re truly doing great work.

The PR is here: [Part 5] - Provide high quality multiarch docker image and k8s support by tdiesler · Pull Request #2608 · input-output-hk/cardano-node · GitHub

Hi! What docker image do you recomend using with k8 and cardano? The official, or the image from nessus?

Currently, you would still want to use nessus. For upstream progress you can monitor PR #2608

1 Like

@tomdx , there is some grafana dashboard around there for nessus docker image?

Not as part of the nessusio project. In case you’d like to add it, you are welcome to create an associated issue + PR.

1 Like

All right. I’ll check some examples of dashboards and I’ll do it. I saw that not all the docker images provide the same metrics with node exporter.

Hello, in this file, that is suggested in the tutorial, you use two services to connect the realy node through a tcp connection to the outside world: relay-np and relay-clip. Do I need to define those services for a new relay node?

In this README you are using the stateful sets. I’m also using stateful set, so in this approach, this is the service you are using to connect relay nodes to the external world:

apiVersion: v1
kind: Service
  namespace: cardano
  name: relay-headless
  type: ClusterIP
  clusterIP: None
  sessionAffinity: None
  - port: 3001 # Port 3001 must be reachable for external ingress
    protocol: TCP
    targetPort: 3001
    app: cardano
    pod: relay

So the endpoints would be the pods which its name is relay. But why the clusterIP is none? And what is a service of type clusterIP?

And what means
# Port 3001 must be reachable for external ingress ?
Do I need to configure a firewall rule?