Cluster Profiles
Profile Structure
The edge-vmo cluster uses a layered profile approach in Palette:
graph TB
subgraph Infra["VMO-RA-Infra-Agent-PXKE-Portworx-PureFA (1.8.0)"]
OS["edge-native-byoi 2.1.0<br/>(OS Layer)"]
K8S["edge-k8s 1.33.6<br/>(K8s Layer - PXKE)"]
CNI["cni-cilium-oss 1.18.4<br/>(CNI Layer)"]
PX["portworx-add-on 3.4.1<br/>(Add-on)"]
end
subgraph Core["VMO-RA-Core-PXKE-Agent (1.8.0)"]
MLB["lb-metallb-helm 0.15.2"]
NGX["nginx 1.14.1"]
PROM["prometheus-operator 80.4.2"]
VMO["virtual-machine-orchestrator 4.8.9"]
end
subgraph Addons["Additional Profiles"]
PXE["VMO-RA-Portworx-AddOn"]
MIG["vm-migration-assistant"]
TPL["VMO-RA-Templates"]
end
OS --> K8S --> CNI --> PX
PX -.-> MLB
Profile UIDs
| Profile | UID | Version | Type |
|---|---|---|---|
| VMO-RA-Infra-Agent-PXKE-Portworx-PureFA | 698e434f56d5433423e3ee5a |
1.8.0-pxstorev2 | cluster |
| VMO-RA-Core-PXKE-Agent | 698e43979f639727243be3e8 |
1.8.0-pwx | add-on |
Pack UIDs (1.8.0)
Core Profile Packs
| Pack | Pack UID | Tag |
|---|---|---|
| lb-metallb-helm | 687bd4787f1abbedbd0f8fb7 |
0.15.2 |
| nginx | 696d0eedef11f7533c19975e |
1.14.1 |
| prometheus-operator | 696d0ee7ef11f75312694c58 |
80.4.2 |
| virtual-machine-orchestrator | 696d69f63463b326869682c6 |
4.8.9 |
Infra Profile Packs
| Pack | Pack UID | Tag |
|---|---|---|
| edge-native-byoi | 675f1171e0153f3d34d22d13 |
2.1.0 |
| edge-k8s | 696d0ee4ef11f75302dbdaff |
1.33.6 |
| cni-cilium-oss | 696d0eebef11f75330bc6fc2 |
1.18.4 |
| portworx-add-on | 6904daf95571a488b4da783a |
3.4.1 |
Critical Customizations
These customizations must be carried forward during any profile upgrade. They differ from the RA defaults:
Core Profile
| Pack | Customization | RA Default | Our Value | Why |
|---|---|---|---|---|
| lb-metallb-helm | autoAssign |
true |
false |
Prevent random IP assignment to LB services |
| nginx | loadBalancerIP |
"" |
"10.0.12.36" |
Fixed ingress IP |
| virtual-machine-orchestrator | Feature gates | No SMM | SMM added | Required for SecureBoot VMs |
Infra Profile
| Pack | Customization | RA Default | Our Value | Why |
|---|---|---|---|---|
| cni-cilium-oss | clusterPoolIPv4PodCIDRList |
["10.0.0.0/8"] |
["{{ .spectro.var.K8sPodCIDR }}"] |
Use Palette variable for consistency |
| portworx-add-on | Storage class name | spectro-storage-class |
portworx-block |
Standard naming |
| portworx-add-on | Storage class annotations | none | storageclass.kubevirt.io/is-default-virt-class: "true" |
KubeVirt default |
| portworx-add-on | Storage class parameters | empty | repl:2, io_profile:auto_journal, priority_io:high, nodiscard:true |
Production settings |
| portworx-add-on | storageCluster annotations | misc-args only | + run-on-master, pvc-controller-port, pvc-controller-secure-port |
Required for 3-node control-plane-only |
| portworx-add-on | Node placement | none | nodeAffinity for control-plane + px/enabled | Run on all control-plane nodes |
| portworx-add-on | License activation | true |
false |
Manual activation |
VMO Feature Gates
The full list of enabled feature gates in the VMO pack:
additionalFeatureGates:
- LiveMigration
- HotplugVolumes
- Snapshot
- VMExport
- ExpandDisks
- HotplugNICs
- VMLiveUpdateFeatures
- VMPersistentState
- VolumesUpdateStrategy
- VolumeMigration
- CPUManager
- HypervStrictCheck
- SMM
SMM Feature Gate
The SMM feature gate is not in the RA defaults. It must be manually added during upgrades. Without it, VMs migrated from vSphere with EFI SecureBoot enabled will fail to start.
Palette Variables
These Palette variables are referenced in pack configurations:
| Variable | Used By | Purpose |
|---|---|---|
{{ .spectro.var.K8sPodCIDR }} |
Cilium | Pod network CIDR |
{{ .spectro.var.metallbIpRange }} |
MetalLB | IP address pool range |
{{ .spectro.var.PortworxDataInterface }} |
Portworx | Data network interface |
{{ .spectro.var.PortworxMgmtInterface }} |
Portworx | Management network interface |
{{ .spectro.var.PortworxMaxStorageNodes }} |
Portworx | Max nodes with storage |
{{ .spectro.var.PortworxCloudDriveSize }} |
Portworx | Cloud drive size |
{{ .spectro.system.cluster.uid }} |
Portworx | Cluster UID (system var) |
{{ .spectro.system.cluster.name }} |
Portworx | Cluster name (system var) |