Deploy Scalable Tezos Nodes in the Cloud

medium.com4m ago

Pulumi produces a graph consisting of all the resources that will be created. Some are AWS objects deployed by the AWS provider, some are Kubernetes objects deployed by the Kubernetes provider. Notice the AWS VPC for example. Pulumi will automatically create all the necessary resources that go along with it, like subnets and nat gateways. The EKS cluster will contain 2 EC2 nodes as specified in our code. Notice similarly the k8s TezosK8sHelmChart resource. It will create a rolling-node statefulset amongst other things. Once you are done with the tutorial, you can tear down all of these resources as explained below

For the sake of this tutorial you don’t need to be familiar with all of these resources, in terms of what they do and where they can be found in the AWS console or inside the k8s cluster. Still, it is important to keep in mind that what we are doing isn’t magic, and knowledge of AWS, k8s, and Pulumi is important to maintain and develop your infra.

Getting back to your terminal, you may select the details option to get a more in depth view of what Pulumi will do when it deploys.

Only after selecting yes will Pulumi do the actual deployment. Initial deployment (that creates a VPC and EKS cluster) can typically take 15–20 minutes or so to complete.

Pulumi will display a url that you can navigate to view the status of your deployment on the Pulumi web console. This is in addition to watching it in your terminal:

A successful deployment will finish with output that looks similar to this:

FYI this screenshot is output from a different cluster but the output is still similar.

You can see in index.ts that these output values are exported.