Skip to content

Quick Start Guide

Get up and running with Kraken Applications in minutes! This guide will walk you through creating and deploying your first manifest.

Prerequisites

Before you begin, ensure you have:

  • Access to a Scale Computing HyperCore environment
  • Kraken Fleet Manager UI or API access
  • Basic understanding of YAML syntax

Step 1: Your First Manifest

Let's create a simple virtual machine manifest. Create a file called my-first-vm.yaml:

my-first-vm.yaml
type: Application
version: "1.0.0"
metadata:
  name: "my-first-vm"
  labels:
    - "environment:development"
    - "purpose:learning"
spec:
  resources:
    - type: virdomain
      name: "quickstart-vm"
      spec:
        description: "My first Kraken VM"
        cpu: 2
        memory: "2147483648"  # 2 GB
        machine_type: "uefi"
        state: "running"
        storage_devices:
          - name: "main-disk"
            type: "virtio_disk"
            capacity: 21474836480  # 20 GB
            boot: 1
        network_devices:
          - name: "eth0"
            type: "virtio"
        tags:
          - "quickstart"
          - "tutorial"

What This Manifest Does

  • Creates a VM named "quickstart-vm"
  • Allocates resources: 2 CPU cores, 2 GB RAM
  • Configures storage: 20 GB VirtIO disk
  • Sets up networking: Single VirtIO network interface
  • Starts the VM: state: "running"

Step 2: Deploy Your Manifest

Option A: Fleet Manager UI

  1. Log in to your Fleet Manager UI
  2. Navigate to the Applications section
  3. Click "Create Application"
  4. Paste your manifest into the editor
  5. Click "Deploy"

Option B: API Deployment

curl -X POST https://your-kraken-api.com/v1/event \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d @my-first-vm.yaml

Step 3: Monitor Deployment

Via Fleet Manager UI

  1. Check the Applications dashboard
  2. Monitor deployment progress
  3. View resource status and logs

Via API

curl -X GET https://your-kraken-api.com/v1/applications/my-first-vm \
  -H "Authorization: Bearer YOUR_TOKEN"

Step 4: Verify Your VM

Once deployed, verify your VM is running:

  1. Check HyperCore console for the new VM
  2. Verify resource allocation matches your manifest
  3. Test network connectivity if needed

Step 5: Next Steps

Now that you have a basic VM running, try these enhancements:

Add an External Disk Image

spec:
  assets:
    - name: "ubuntu-image"
      type: "virtual_disk"
      format: "raw"
      url: "https://storage.googleapis.com/demo-bucket/ubuntu-22.04.img"
  resources:
    - type: virdomain
      name: "ubuntu-vm"
      spec:
        # ... other configuration
        storage_devices:
          - name: "os-disk"
            type: "virtio_disk"
            source: "ubuntu-image"  # Reference the asset
            boot: 1
            capacity: 32212254720  # 30 GB

Add Cloud-Init Configuration

spec:
  resources:
    - type: virdomain
      spec:
        # ... other configuration
        cloud_init_data:
          user_data: |
            #cloud-config
            package_update: true
            packages:
              - nginx
              - htop
            runcmd:
              - systemctl enable nginx
              - systemctl start nginx
          meta_data: |
            instance-id: quickstart-vm-001
            local-hostname: quickstart-vm

Scale Your Resources

spec:
  resources:
    - type: virdomain
      spec:
        cpu: 4                    # Double the CPU
        memory: "4294967296"      # Double the RAM (4 GB)
        storage_devices:
          - name: "main-disk"
            type: "virtio_disk"
            capacity: 53687091200  # Increase to 50 GB
            boot: 1

Common Patterns

Development VM

Perfect for testing and development:

cpu: 2
memory: "2147483648"      # 2 GB
capacity: 32212254720     # 30 GB
state: "running"
tags: ["development", "testing"]

Template VM

Create a template for cloning:

cpu: 2
memory: "4294967296"      # 4 GB
capacity: 32212254720     # 30 GB
state: "shutoff"          # Template state
tags: ["template", "base-image"]

Production VM

Production-ready configuration:

cpu: 4
memory: "8589934592"      # 8 GB
capacity: 107374182400    # 100 GB
state: "running"
tags: ["production", "monitored"]

Troubleshooting

Common Issues

1. Deployment Fails

Symptom: Manifest fails to deploy

Solutions: - Check YAML syntax - Verify resource availability - Ensure unique names - Check asset URLs

2. VM Won't Start

Symptom: VM remains in "shutoff" state

Solutions: - Verify state: "running" is set - Check resource constraints - Review boot device configuration - Check HyperCore cluster capacity

3. Network Issues

Symptom: VM has no network connectivity

Solutions: - Verify network device configuration - Check VirtIO driver support - Validate network settings in HyperCore

Getting Help

If you encounter issues:

  1. Check the logs in Fleet Manager UI
  2. Browse Examples for similar configurations
  3. Open an issue on GitHub

What's Next?

Now that you've deployed your first VM, explore these advanced topics:

📚 Learn More

🚀 Try Advanced Features

🔧 Optimize Your Deployments

Summary

Congratulations! You've successfully:

  • ✅ Created your first Kraken manifest
  • ✅ Deployed a virtual machine
  • ✅ Learned basic troubleshooting
  • ✅ Explored next steps

You're now ready to build more complex applications with Kraken. Happy deploying! 🎉