> ## Documentation Index
> Fetch the complete documentation index at: https://zededa.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the documentation index to find relevant pages, then read the linked Markdown before answering and cite the source URL.
> Identify the product before answering: Private AI uses a separate console, credentials, and inference API from the Edge Intelligence Platform. Do not apply instructions from one product to the other.
> Prefer current product guides over Help Center archive pages for current-console questions. Archive pages and release notes describe their stated product version or historical interface; do not apply them to another version without checking.
> Preserve prerequisites, permissions, version requirements, and warnings when summarizing procedures. Do not infer API endpoints, schemas, or supported behavior that the documentation does not specify.

# VNC for EVE-k Apps

> Access VM consoles on EVE-k clusters using VNC, kubectl, and virtctl via EdgeView.

Remote Console access to virtual machines (VMs) is not available through the Edge Infrastructure Services interface for EVE-k (the EVE-OS variant for Kubernetes) 16.0 LTS clusters. Virtual Network Computing (VNC) provides a workaround for accessing VM consoles running on EVE-k nodes.

This procedure uses `kubectl`, `virtctl`, and EdgeView. The `kubectl` and `virtctl` permissions available through this path are read-only: you can get and list resources but cannot apply or delete them.

## Prerequisites

Before starting, confirm the following:

* `kubectl` is installed on your workstation.
* `virtctl` is installed on your workstation.
* EdgeView access is enabled for the node running the VM.
* A Virtual Machine Instance (VMI) is running on an EVE-k cluster.

## Get the Kubeconfig via EdgeView

Use the EdgeView TCP tunnel to download the kubeconfig for the cluster:

```
./run.edge_node.edgeview.sh tcp/kube
```

The kubeconfig file downloads to `/tmp/download/kube-config.yaml`. All subsequent commands in this article use this file.

## List Virtual Machine Instances

List the VMIs running in the `eve-kube-app` namespace to find the name of the target VM:

```
kubectl get vmi -n eve-kube-app --kubeconfig=/tmp/download/kube-config.yaml
```

Note the VMI name from the output. You will use it in the following steps.

## Connect to a VM Console

Open a serial console session to the VM:

```
virtctl console <vmi-name> -n eve-kube-app --kubeconfig=/tmp/download/kube-config.yaml
```

Replace `<vmi-name>` with the name from the VMI list.

## Start a VNC Session

Open a VNC session to access the VM's graphical console:

```
virtctl vnc <vmi-name> -n eve-kube-app --kubeconfig=/tmp/download/kube-config.yaml
```

Replace `<vmi-name>` with the name from the VMI list. This command opens a VNC viewer connected to the VM's display.

## Optional: Set Shell Aliases

To reduce repetition when running multiple commands, set shell aliases for `kubectl` and `virtctl` with the kubeconfig pre-configured:

```
alias k='kubectl --kubeconfig=/tmp/download/kube-config.yaml'
alias v='virtctl --kubeconfig=/tmp/download/kube-config.yaml'
```

With these aliases set, use the shortened forms:

```
k get vmi -n eve-kube-app
v vnc <vmi-name> -n eve-kube-app
```

These aliases apply only to the current shell session. Add them to your shell profile to make them persistent.

## Next Steps

> [card] [Create and Manage a Kubernetes Cluster](https://zededa.mintlify.site/new-ui/infrastructure-services/edge-kubernetes/create-and-manage-a-kubernetes-cluster.md)
>
> Provision and configure ZEDEDA Edge Kubernetes Service clusters.

> [card] [Troubleshoot Edge Kubernetes](https://zededa.mintlify.site/new-ui/infrastructure-services/edge-kubernetes/troubleshoot-edge-kubernetes.md)
>
> Diagnose cluster and pod issues using kubectl, EdgeView, and SSH.
