container image | status |
---|---|
ovirt-flexvolume-driver | |
ovirt-volume-provisioner | |
ovirt-cloud-provider | |
ovirt-flexvolume-driver-apb | |
ovirt-openshift-installer |
Make oVirt the a prefered platform for openshift installation. The main components this project will ship are:
A kubernetes controller that creates/deletes persistent volumes, and allocates disks \ in ovirt as a result. This is the first part for providing volumes from oVirt.
A kubernetes node plugin that attaches/detaches a volume to a container. \ It attaches the oVirt disk to the kube node (which is an oVirt VM). It identifies the disk device on the os, \ prepares a filesystem, then mounts it so it is ready as a volume mount for a container.
An out-of-tree implementation of a cloudprovider. \ A controller that manages the admission of new nodes for openshift, from oVirt VMs. \
version | ovirt version | openshift version |
---|---|---|
\<= v0.3.1 | >= 4.2 | 3.9, 3.10 |
>= v0.3.2 | >= 4.2 | 3.10, 3.11 |
Pre-requisite:
From the repo:
$ make apb_build apb_push
make sure oc
command is configured and has access to your cluster, e.g. run oc status
use a cluster admin user to deploy, or grant permission to one
$ oc login -u system:admin
$ oc adm policy add-cluster-role-to-user cluster-admin developer
Run on a master (replace the input with yours):
docker run \
-it \
--rm \
--net=host \
-v $HOME/.kube:/opt/apb/.kube:z \
-u $UID quay.io/rgolangh/ovirt-flexvolume-driver-apb \
provision -e \
'{
"admin_user":"developer",
"admin_password":"YOURPASS",
"cluster":"openshift",
"namespace":"default",
"engine_username":"admin@internal",
"engine_password":"YOURPASS",
"engine_url":"https://ENGINE-FQDN/ovirt-engine/api",
}'
If it's the first time deploying the image then it should take few moments to download it. To customize the images to be deployed, provide these environment variables to the container invocation:
Example: docker run -e FLEX_REGISTRY=registry.example.com ...
Upon completion you have these components running:
$ oc get ds -n default ovirt-flexvolume-driver
name desired current ready up-to-date available node selector age
ovirt-flexvolume-driver 1 1 1 1 1 <none> 15m
$ oc get deployment -n default ovirt-volume-provisioner
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
ovirt-volume-provisioner 1 1 1 1 17m
For topics not covered in this Readme, see the project documentation.
Feedback is most welcome, if you have an idea, proposal, fix, or want to chat \ you'll find the details here:
Blog post in ovirt: https://www.ovirt.org/blog/2018/02/your-container-volumes-served-by-ovirt/
Youtube Demo: https://youtu.be/_E9pUVrI0hs