Skip to content

Quickstart

This guide takes you from an empty account to a cluster running a workload you can reach from the internet.

You need:

  • A Hyperkub account with a payment method registered.
  • kubectl installed locally.

If the Kubernetes vocabulary below is unfamiliar, skim the glossary first.

  1. Open the control plane and go to Clusters → Create cluster.
  2. Pick a region. Choose the one closest to your users.
  3. Give the cluster a name. Lowercase letters, digits and hyphens.
  4. Accept the default Kubernetes version unless you need a specific one.
  5. Select a node pool size. One small pool is fine to start; you can add pools later.
  6. Confirm.

The cluster appears with status provisioning while the control plane and the first nodes are built. It is ready when the status turns running.

Doing the same thing over the API
Terminal window
curl -X POST https://api.hyperkub.com/v1/clusters \
-H "X-Tess-Token: $HYPERKUB_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "quickstart",
"region_id": "sto1"
}'

The response carries the new cluster’s id and status. Poll GET /v1/clusters/{id} until status is running.

To talk to the cluster you need a kubeconfig.

  1. Open the cluster and go to Credentials.
  2. Choose Create credential, then download the file.
  3. Save it as ~/.kube/hyperkub-quickstart.yaml.

Point kubectl at it and confirm the nodes are up:

Terminal window
export KUBECONFIG=~/.kube/hyperkub-quickstart.yaml
kubectl get nodes

You should see one row per node in your pool, each Ready. If not, see Connecting with kubectl.

Deploy a container and expose it inside the cluster:

Terminal window
kubectl create deployment hello \
--image=nginxdemos/hello:plain-text
kubectl expose deployment hello \
--port=80 --target-port=80

Check that the pod is running:

Terminal window
kubectl get pods

Forward the Service to a local port:

Terminal window
kubectl port-forward service/hello 8080:80

Open http://localhost:8080. You should get a response from the container.

Delete the resources so they stop costing money:

Terminal window
kubectl delete service hello
kubectl delete deployment hello

To remove the cluster entirely, use Clusters → … → Delete. This destroys every node in it and cannot be undone.