Using harpoon

Registration

Linking a Cloud Service Provider Account

See Amazon Web Services (AWS) See Azure See Google Cloud Platform (GCP)

Starting a cluster

Once you’ve linked your cloud service provider account, you just click the “start” button on the cluster controller element in the workspace. That’s it. No, really! The node elements will turn yellow and provide a little spinny wheel to entertain you. When the cluster is running, the cloud will return and the element will glow a happy blue color.

Tearing down a cluster

Don’t need your cluster running all the time? No problem! Hit the “shutdown” button on the cluster controller element in the workspace. This will automatically tear down all the infrastructure harpoon was using in your cloud service provider account

WARNING: This will really destroy all of the infrastructure in your cloud service provider account that was provisioned by harpoon. You can’t come back from this aside from starting over, so make sure you really do want to make everything go away.

Upgrading a cluster

Once you have a running cluster, you just click the “upgrade” button on the cluster controller element in the workspace. That’s it. No, really! The nodes will turn yellow and provide a little spinny wheel to entertain you. When the cluster is running, the cloud will return and the element will glow a happy blue color.

Scaling up a cluster

Once you’ve already started your cluster, scaling up is as easy as dragging another node element onto the graph. That’s it. No really! The cloud/node element will turn yellow and provide a little spinny wheel to entertain you. When the cluster has completed the scale up, the cloud will return and the element will glow a happy blue color. To get access to more nodes you will need to upgrade your harpoon account if you have not already.

Scaling down a cluster

Don’t need all the nodes in your cluster anymore? No problem! Just hit the “delete” button on the cloud/node element in your workspace. You can not delete the base node (the first node that was auto placed on registration) but every other node is able to be deleted/removed. Deleting a node will start the scale down process, no visual representaiton is shown becuase your cluster is still fully operational during this process.

WARNING: If you have any running containers or services attached to this node they will be destroyed. You can’t come back from this aside from starting over, so make sure you really do want to delete the node.

Enable auto scaling on node group

You can enable auto scaling on a node group by simply hitting the settings icon on the node group you are trying to update and enabling it inside the dialog. That’s it. No really! The node group will go into a creating state. When the cluster has completed the update, the cloud will return and the node group element will return to a running state. To get access to auto scaling you will need to upgrade your harpoon account if you have not already.

Deploying Containers

Deploying containers is as easy as hitting the deploy button. Github containers will require you to build the repository first. In order for harpoon to successfully build a GitHub repository, we currently require the repository to have a top-level Dockerfile, which is industry best practice. If the Dockerfile is there, once you click the “Build” button, harpoon will automatically find it and build a container image that gets pushed to a private container registry only harpoon has access to. After a successful build, the “Deploy” button will become enabled, and you can deploy the software directly.

Docker container deploy

Github container build

Github container deploy

Harbor container deploy

Helm chart deploy

Once you’ve already started your cluster, deploying a helm chart is as easy as hitting the deploy button.

Edit Helm chart values.yaml

Editing a helm charts values yaml is as easy as clicking on the edit values icon. This will open a code editor with the values yaml displayed and easily editable.

Enable HPA or VPA on deployment

Enabling HPA or VPA for a deployment is as simple as clicking on the deployment configuration button and selecting either horizontal or vertical.

Setting resource limits on deployments

Enabling resource limits for a deployment is as simple as clicking on the deployment configuration button and sliding either cpu or memory limits.

Container Logs

Getting a containers logs once it has been deployed is as easy as hitting the logs button located on the top right of the container.

Linking Elements

Linking container elements to volumes, ingress routes, secrets and config maps is as easy as hovering over the element and dragging a link to the intended target element.

Volume link

Ingress link

Secret link

Config Map link

Linking Container registry accounts

Linking your github and harbor accounts will allow you to search through your github repositories and harbor images.

Link Github Account

Link Harbor Account