Prepare the Virtual Appliance
Prepare certificates, keys, and environment requirements before installing a hybrid deployment.
Prepare certificates, keys, and environment requirements.
Create a Three-Node Cluster
Create a three-node Virtual Appliance cluster from the primary node.
- Log in to every node and verify the boot services.
- On the primary node, initialize the cluster using the two peer IP addresses.
- Verify that every member is ready, schedulable, and running.
CODE
# Run on every node appdctl show bootEvery boot service reports
Succeeded; all three nodes reportREADY=true,SCHEDULABLE=true, andRUNNING=trueSample Output:CODENAME | STATUS | ERROR -------------------+-----------+------- firewall-setup | Succeeded | -- hostname | Succeeded | -- netplan | Succeeded | -- ssh-setup | Succeeded | -- storage-setup | Succeeded | -- cert-setup | Succeeded | -- enable-time-sync | Succeeded | -- microk8s-setup | Succeeded | -- cloud-init-config | Succeeded | -- - Run this command on a primary node.
CODE
# Run on the primary node cd /home/appduser appdctl cluster init <NODE_2_IP> <NODE_3_IP> appdctl show cluster microk8s statusWarning: Keep at least two nodes active. If two nodes are unavailable, the cluster can lose data. If MicroK8s reports insufficient permissions, log out and back in before retrying.Sample Output:CODENODE | INTERNAL IP | K8S ROLE | HA ROLE | READY | SCHEDULABLE ------------------+---------------+---------------+---------+-------+------------- ip-10-115-84-215 | 10.115.84.215 | control-plane | voter | true | true ip-10-115-85-239 | 10.115.85.239 | control-plane | voter | true | true ip-10-115-87-4 | 10.115.87.4 | control-plane | voter | true | true
Configure and Validate DNS
Configure DNS entries required for hybrid deployment communication.
- Log in to you primary node and open the
/var/appd/config/globals.yaml.gotmplfile. - Set
dnsDomainto the Virtual Appliance URL.CODEdnsDomain: <VA-Domain-Name> - Ensure
dnsNamescontainslocalhost, the ingress domain, and every Virtual Appliance node name used in certificates. - Run the supplied DNS checker.
CODE
cd /var/appd/config vi globals.yaml.gotmpl bash /home/appduser/appd-charts/utils/check-dns.shExample dnsNames configuration
CODEdnsDomain: va.example.com dnsNames: &dnsNames - localhost - va.example.com - va-node-1.example.com - va-node-2.example.com - va-node-3.example.comNote: If registered names are not available, the source allows<node-ip>.nip.io. Some network policies block these names; use corporate DNS or an approved/etc/hostsmapping in that case. - Optional: Replace the Virtual Appliance Ingress self-signed certificates.
- Generate the required SAN list.
- Obtain a certificate whose SANs include every configured DNS name.
- Copy the PEM key and ordered certificate bundle to the primary node.
CODEbash /home/appduser/appd-charts/utils/list-ingress-sans.shNote:ingress.crtmust contain the leaf/server certificate, intermediate CA certificate(s), then root CA certificate.- If a load balancer terminates TLS, retrieve and trust the certificate chain presented by the load balancer, not the backend Controller.
- For a custom Kafka certificate, include all three VA node IP addresses in its SANs.
DNS verification completed: 0 unresolved host(s).