How to Deploy an Application on Vultr Kubernetes Engine Cluster

Updated on 10 September, 2025

A guide explaining how to deploy applications on your Vultr Kubernetes Engine cluster.


Vultr Kubernetes Engine (VKE) provides a streamlined way to deploy pre-configured applications such as AMD Device Config, AMD GPU Operator, Cert-Manager, Vultr Webhook, Exascaler CSI, kube-state-metrics, Kube AI Models, Kubernetes Dashboard, Longhorn, and Rook Ceph. These applications extend cluster functionality by enabling features like GPU acceleration, certificate management, storage integration, autoscaling, and monitoring. You can deploy these applications with default settings or customize them using YAML configurations to meet specific requirements.

Follow this guide to deploy a pre-configured application on your Vultr Kubernetes Engine cluster in your Vultr account using the Vultr Customer Portal or Terraform.

  • Vultr Customer Portal
  • Terraform
  1. Navigate to Products and click Kubernetes.
  2. Click your target VKE cluster to open its management page.
  3. Click Applications.
  4. Select an application from the list.
  5. Optional: In Advanced Configuration, enter custom YAML values or leave the field blank to use the application's default settings.
  6. Click Deploy Now to deploy the application.
  1. Ensure the Terraform Kubernetes provider is configured using your VKE kubeconfig.

    terraform
    provider "kubernetes" {
        config_path = "./kubeconfig.yaml"  # from VKE cluster configuration
    }
    
  2. Define a simple Deployment (or use Helm) and apply.

    terraform
    resource "kubernetes_namespace" "apps" {
        metadata { name = "apps" }
    }
    
    resource "kubernetes_deployment" "nginx" {
        metadata {
            name      = "nginx"
            namespace = kubernetes_namespace.apps.metadata[0].name
            labels    = { app = "nginx" }
        }
        spec {
            replicas = 1
            selector { match_labels = { app = "nginx" } }
            template {
                metadata { labels = { app = "nginx" } }
                spec {
                    container {
                        name  = "nginx"
                        image = "nginx:1.25"
                        port { container_port = 80 }
                    }
                }
            }
        }
    }
    
  3. Apply the configuration and observe the following output:

    Apply complete! Resources: 2 added, 0 changed, 0 destroyed.

Comments

No comments yet.