Architecture
Review the standard and hybrid Virtual Appliance architecture, communication paths, and port requirements.
Standard Deployment
The following image displays the communication between components in the Standard deployment:
| Connection | Source and Destination | Traffic | Protocol | Default Ports |
|---|---|---|---|---|
|
|
|
UI Calls and Responses | HTTPS | 443 |
|
|
Agents → Ingress Controller | APM Reported Data | HTTPS | 443 |
Hybrid Deployment
In hybrid deployment, agents connect through the Virtual Appliance; application-server data is routed to the standalone Controller, while Secure Application data is routed to Secure Application pods in the Virtual Appliance.
The following image displays the communication between components in the Hybrid deployment:
- Standalone Controller
-
- Controller HA with Virtual IP
-
- Controller HA without Virtual IP
-
| Connection | Source and Destination | Traffic | Protocol | Default Ports |
|---|---|---|---|---|
|
|
|
UI Calls and Responses | HTTPS | 443 |
|
|
Agents → Ingress Controller in Kubernetes | - | HTTPS | 443 |
|
|
MySQL Service → MySQL Database of the standalone Controller |
Controller database calls | HTTPS |
3388 |
|
Note:
|
||||
|
|
Standalone Controller → Kafka Service in Kubernetes | Kafka calls for Anomaly Detection and Root Cause Analysis | HTTPS | 32101, 32102, and 32103 |
Port Requirements
Ensure the following ports are open for communication in the Virtual Appliance:
| Port | Protocol | Service | Scope / Interface | Description |
|---|---|---|---|---|
| 22 | TCP | OpenSSH | 0.0.0.0 |
This port enables the exchange of encryption configurations and Helm values between peers during scale-out and upgrade tasks. |
| 16443 | TCP | MicroK8s kube-apiserver (kubelite) | - | Used by the kubelet, controller, scheduler, and Helm on each node. |
| 19001 | TCP | k8s-dqlite | Node Internal IP address only | Used for Raft consensus between the three dqlite voters; this port supersedes etcd ports 2379 and 2380. |
| 25000 | TCP | MicroK8s cluster-agent | - | Used for node registration, configuration synchronization, and certificate distribution. |
| 10250 | TCP | kubelet (kubelite) | - |
Enables communication from the API server to the |
| 10257 | TCP | kube-controller-manager (kubelite) | - | Used for high availability leader election. |
| 10259 | TCP | kube-scheduler (kubelite) | - | Used for high availability leader election. |
| 8443 | TCP | appd-os admin UI (appdos.bin) | - | Used for platform admin UI on every node. |
| 4789 | UDP | Calico VXLAN overlay | kernel vxlan.calico |
Handles all pod-to-pod traffic; consolidates communication into a single UDP port and eliminates the need to open multiple application-specific ports. |
| 30000–32767 | TCP and UDP | Kubernetes NodePort range | NAT |
The |