This tutorial walks through the first practical kcore path: install and approve your first node,
register an operator SSH key, create a Debian 12 VM, discover its IP using describe,
then SSH into that VM.
We also published new user documentation in the kcore repo: kcorehypervisor.com/docs/user.
Asciinema walkthrough
Prerequisites
Before running the commands below:
- One machine booted into the kcore node environment and reachable as
<NEW_NODE_IP>:9091. - A running controller reachable at
<CTRL1_IP>:9090(plus optional secondary controller). - Operator machine with
kctlandkcore-kctlconfigured for your cluster context. - An operator SSH public key, usually from
~/.ssh/id_ed25519.pub.
1) Install and approve the first node
kctl --node <NEW_NODE_IP>:9091 node disks
kctl --node <NEW_NODE_IP>:9091 node nics
kctl --node <NEW_NODE_IP>:9091 node install \
--os-disk /dev/sda \
--join-controller <CTRL1_IP>:9090 \
--join-controller <CTRL2_IP>:9090 \
--dc-id DC1
kctl get nodes
kctl node approve <NODE_ID>
kctl get nodes
After approval, the node becomes schedulable for VM placement.
2) Add the operator SSH key
kcore-kctl ssh-key create operator-key \
--public-key "$(cat ~/.ssh/id_ed25519.pub)"
This stores the public key as a named object so you can reference it with --ssh-key operator-key
during VM creation.
3) Create a Debian 12 VM on that node
kcore-kctl create vm debian12-01 \
--target-node <NODE_ID> \
--image https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2 \
--image-sha256 <DEBIAN12_QCOW2_SHA256> \
--network default \
--storage-backend filesystem \
--storage-size-bytes 42949672960 \
--ssh-key operator-key \
--wait \
--wait-timeout-seconds 300
4) Find the VM IP with describe
kcore-kctl describe vm debian12-01
Use the Network (and SSH port, if shown) from the describe output.
5) SSH into the VM
ssh -i ~/.ssh/id_ed25519 <username>@<vm-ip>
If you use a different keypair, pass the matching private key with -i.
For more variants and flags, see
VM creation modes.