We’ve created an application - how do we get it into our Kubernetes cluster?
Developers often like to use command line tools to deploy applications. We’ll build a command line tool locally.
Our first step is to clone the Git repository containing the app locally.
git clone https://github.com/jaxxstorm/ploy.git
Change into this directory now ready to build our application:
This repo contains Pulumi code which uses the Automation API. A lot of the code is used to build a CLI application using popular the Go package Cobra
However, if you examine the code in
pkg/program/program.go you’ll notice a Go function
This is a Pulumi component which encapulates a set of Pulumi resources.
In order to deploy our application to our Kubernetes cluster, we’ll need:
All of this is done via the command line tool.
We could also write a Pulumi program that uses the same logic, but this CLI tool can be used with no underlying knowledge of Pulumi.
It might be the case that you’re unable to build the binary on the Cloud9 instance. If you’re struggling to build it, you can download a pre-built binary from here: https://github.com/jaxxstorm/ploy/releases/download/v0.0.2-alpha/ploy-v0.0.2-alpha-linux-amd64.tar.gz
We’ll need to build the binary so we can use it. You can do this using the
go build command:
go build -o ploy ./cmd/ploy/main.go
The EC2 Cloud9 instance comes with several Docker Images on it that might mean you run out of space. If this happens, clear out these images - you won’t need them:
docker rmi $(docker images -q)
You should be able to run the
ploy command now locally:
./ploy Deploy your applications Usage: ploy [command] Available Commands: destroy Remove your application get Get all ploy deployed applications help Help about any command up Deploy your application Flags: --debug Enable debug logging -h, --help help for ploy -o, --org string Pulumi org to use for your stack -r, --region string AWS Region to use (default "us-west-2") Use "ploy [command] --help" for more information about a command.