OpenShift Virtualization (CNV/KubeVirt)
My lab environment
build with hetzner-ocp4
Containerized Data Importer (CDI) / DataVolume
| apiVersion: cdi.kubevirt.io/v1alpha1
kind: DataVolume
metadata:
name: registry-image-datavolume
spec:
pvc:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
source:
registry:
url: docker://image-registry.openshift-image-registry.svc:5000/cnv-demo/build-vm-image-container:latest
certConfigMap: "tls-certs"
|
Source: cdi-examples
OpenShift Virtualization & Container Storage
Recommended storage settings:
| $ oc edit cm kubevirt-storage-class-defaults -n openshift-cnv
accessMode: ReadWriteMany
ocs-storagecluster-ceph-rbd.accessMode: ReadWriteMany
ocs-storagecluster-ceph-rbd.volumeMode: Block
ocs-storagecluster-cephfs.accessMode: ReadWriteMany
ocs-storagecluster-cephfs.volumeMode: Filesystem
volumeMode: Block
|
Build container image with OS disk
| oc new-build --name cirros \
--build-arg image_url=http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img \
https://github.com/openshift-examples/cnv-container-disk-build.git
|
Local IIS build in my lab
| qemu-img convert -f raw -O qcow2 disk.img iis.qcow2
cat - > Dockerfile <<EOF
FROM scratch
LABEL maintainer="Robert Bohne <robert.bohne@redhat.com>"
ADD iis.qcow2 /disk/rhel.qcow2
EOF
oc create is iis -n cnv
export REGISTRY=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')
export REGISTRY_TOKEN=$(oc whoami -t)
podman login -u $(oc whoami) -p $REGISTRY_TOKEN --tls-verify=false $HOST
podman build -t ${REGISTRY}/cnv/iis:latest .
podman push ${REGISTRY}/cnv/iis:latest
# Deploy template
oc apply -f https://raw.githubusercontent.com/openshift-examples/web/master/content/kubevirt/iis-template.yaml
|
Resources and useful articles
2021-05-18
2019-10-08
Contributors: