This gist shows how to deploy a security gateway on OpenShift Virtualization via a DataVolume with a URL source.
oc create -f config-chkp-gw-00.yamloc create -f chkp-gw-00-dv.yamloc create -f chkp-gw-00.yaml
| apiVersion: cdi.kubevirt.io/v1beta1 | |
| kind: DataVolume | |
| metadata: | |
| name: chkp-gw-00-dv | |
| spec: | |
| source: | |
| http: | |
| url: "https://<your_host_and_path>/qcow2/chkp-r82.qcow2" | |
| pvc: | |
| volumeMode: Block | |
| storageClassName: lvms-vg1 | |
| accessModes: | |
| - ReadWriteOnce | |
| resources: | |
| requests: | |
| storage: 128Gi # Adjust size as needed |
| apiVersion: kubevirt.io/v1 | |
| kind: VirtualMachine | |
| metadata: | |
| name: chkp-gw-00 | |
| namespace: chkp-cloudguard-network | |
| spec: | |
| runStrategy: Always | |
| template: | |
| metadata: | |
| labels: | |
| kubevirt.io/vm: chkp-gw-00 | |
| spec: | |
| networks: | |
| - name: primary | |
| pod: {} | |
| - name: cudn-chkp-interface | |
| multus: | |
| networkName: cluster-udn-chkp | |
| domain: | |
| cpu: | |
| cores: 4 | |
| memory: | |
| guest: 16Gi | |
| devices: | |
| interfaces: | |
| - binding: | |
| name: l2bridge | |
| name: primary | |
| - binding: | |
| name: l2bridge | |
| name: cudn-chkp-interface | |
| disks: | |
| - name: rootdisk | |
| bootOrder: 1 | |
| disk: | |
| bus: virtio | |
| - name: cloudinitdisk | |
| cdrom: | |
| bus: sata | |
| volumes: | |
| - name: rootdisk | |
| persistentVolumeClaim: | |
| claimName: chkp-gw-00-dv | |
| - name: cloudinitdisk | |
| dataVolume: | |
| name: config-chkp-gw-00-dv |
| apiVersion: cdi.kubevirt.io/v1beta1 | |
| kind: DataVolume | |
| metadata: | |
| name: config-chkp-gw-00-dv | |
| spec: | |
| source: | |
| http: | |
| url: "https://<your_host_and_path>/cloud-init/chkp-gw-00.iso" | |
| pvc: | |
| storageClassName: lvms-vg1 | |
| accessModes: | |
| - ReadWriteOnce | |
| resources: | |
| requests: | |
| storage: 300Mi # Adjust size as needed |