From 5fd1735c6828a9694e78097dceb999d7504dcd2b Mon Sep 17 00:00:00 2001 From: Pawan Date: Tue, 21 Jul 2020 19:43:47 +0530 Subject: [PATCH] chore(doc): adding supported features doc for each k8s version Signed-off-by: Pawan --- README.md | 34 +++++++++++++++++++++++++++++++++- docs/features.md | 8 ++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 docs/features.md diff --git a/README.md b/README.md index d30ddd2..89fd520 100644 --- a/README.md +++ b/README.md @@ -32,10 +32,12 @@ must meet the following prerequisites: K8S : 1.14+ -OS : ubuntu 18.04 +OS : Ubuntu 18.04, Ubuntu 16.04, CentOS 7, CentOS 8 ZFS : 0.7, 0.8 +Check the [features](./docs/features.md) supported for each k8s version. + ### Setup All the node should have zfsutils-linux installed. We should go to the @@ -46,6 +48,36 @@ $ apt-get install zfsutils-linux Go to each node and create the ZFS Pool, which will be used for provisioning the volumes. You can create the Pool of your choice, it can be striped, mirrored or raidz pool. +If you have the disk(say /dev/sdb) then you can use the below command to create a striped pool: + +``` +zpool create zfspv-pool /dev/sdb +``` +You can also create mirror or raidz pool as per your need. Check https://github.com/openzfs/zfs for more information. + + +If you don't have the disk, then you can create the zpool on the loopback device which is backed by a sparse file. Use this for testing purpose only. +``` +truncate -s 100G /tmp/disk.img +zpool create zfspv-pool `sudo losetup -f /tmp/disk.img --show` +``` + +Once the ZFS Pool is created, verify the pool via `zpool status` command, you should see something like this : + +``` +$ sudo zpool status + pool: zfspv-pool + state: ONLINE + scan: none requested +config: + + NAME STATE READ WRITE CKSUM + zfspv-pool ONLINE 0 0 0 + sdb ONLINE 0 0 0 + +errors: No known data errors +``` + Configure the custom topology keys (if needed). This can be used for many purposes like if we want to create the PV on nodes in a particuler zone or building. We can label the nodes accordingly and use that key in the storageclass for taking the scheduling decesion: https://github.com/openebs/zfs-localpv/blob/master/docs/faq.md#6-how-to-add-custom-topology-key diff --git a/docs/features.md b/docs/features.md new file mode 100644 index 0000000..cb39ec6 --- /dev/null +++ b/docs/features.md @@ -0,0 +1,8 @@ +### Features + +| k8s | Features | +| :--- | :--- | +| 1.14 | Volume Provisioning, Volume Deprovisioning, ZFS Property Update, Raw Block Volume | +| 1.15 | Volume Provisioning, Volume Deprovisioning, ZFS Property Update, Raw Block Volume, Resize | +| 1.16 | Volume Provisioning, Volume Deprovisioning, ZFS Property Update, Raw Block Volume, Resize, Snapshot | +| 1.17 and later releases | Volume Provisioning, Volume Deprovisioning, ZFS Property Update, Raw Block Volume, Resize, Snapshot, Clone |