Deploy Your First App
In this tutorial you'll deploy a sample web app into your CloudSpace, check on it, change its configuration, scale it, and roll back a bad change. These are the operations you'll use every day.
Time: about 15 minutes · You'll need: a tenant account with a Ready CloudSpace (see Customer onboarding).
We'll use podinfo, a tiny web app built for Kubernetes demos.
Step 1 — Open the Deploy Application wizard
- In the sidebar, open Resources → Workloads.
- Make sure your CloudSpace is selected in the top bar.
- Select Deploy Application.
Step 2 — Describe the app
Fill in the wizard:
| Field | Value |
|---|---|
| Name | hello |
| Source | Container image — ghcr.io/stefanprodan/podinfo:6.7.0 |
| Port | 9898 |
| Resources | CPU 100m / 250m, memory 64Mi / 128Mi |
| Autoscaling | Off (we'll scale by hand later) |
| TLS | On |
Select Deploy.
Choose GitHub repository as the source, pick your repository, and set the Dockerfile path. KubeOpera builds the image and creates a pipeline you can follow. Everything else in this tutorial works the same way.
Step 3 — Watch it go live
The wizard shows four stages:
- Creating — your app's configuration is saved and manifests are generated and committed to Git.
- Syncing — Flux in your vCluster applies them.
- Starting — the pods start and become ready.
- Verifying — KubeOpera checks your app actually answers over HTTPS.
When it's done, select View live app. Your app is at https://hello-<your-cloudspace>.apps.kubeopera.io, with a valid certificate. (The first deploy takes a few minutes, mostly for the certificate.)
Step 4 — Check on it
Open Workloads → hello. You'll see:
- Status — replicas ready, from the live state of your vCluster.
- Pods — each pod, its status and restarts.
- Logs — live logs from your pods. Try refreshing your app's page and watch requests appear.
- Events — what Kubernetes has done with your app.
- Metrics and cost — resource use and what the app costs.
Step 5 — Change the configuration
Let's give the app a custom message.
- Select Edit.
- Add an environment variable
PODINFO_UI_MESSAGE=Hello from KubeOpera. - Select Save and deploy.
The change goes through Git like the first deploy, creating a new revision. Reload your app — it shows your message.