k3s/examples/iscsi
Jeff Lowdermilk 553f9f822b Add ga-beacon analytics to gendocs scripts
hack/run-gendocs.sh puts ga-beacon analytics link into all md files,
hack/verify-gendocs.sh verifies presence of link.
2015-05-15 18:56:38 -07:00
..
README.md Add ga-beacon analytics to gendocs scripts 2015-05-15 18:56:38 -07:00
iscsi.json update example/iscsi to v1beta3; 2015-05-13 09:41:33 -07:00

README.md

Step 1. Setting up iSCSI target and iSCSI initiator

Setup A. On Fedora 21 nodes

If you use Fedora 21 on Kubernetes node, then first install iSCSI initiator on the node:

# yum -y install iscsi-initiator-utils

then edit /etc/iscsi/initiatorname.iscsi and /etc/iscsi/iscsid.conf to match your iSCSI target configuration.

I mostly followed these instructions to setup iSCSI initiator and these instructions to setup iSCSI target.

Setup B. On Unbuntu 12.04 and Debian 7 nodes on GCE

GCE does not provide preconfigured Fedora 21 image, so I set up the iSCSI target on a preconfigured Ubuntu 12.04 image, mostly following these instructions. My Kubernetes cluster on GCE was running Debian 7 images, so I followed these instructions to set up the iSCSI initiator.

##Step 2. Creating the pod with iSCSI persistent storage Once you have installed iSCSI initiator and new Kubernetes, you can create a pod based on my example iscsi.json. In the pod JSON, you need to provide targetPortal (the iSCSI target's IP address and port if not the default port 3260), target's iqn, lun, and the type of the filesystem that has been created on the lun, and readOnly boolean.

Once your pod is created, run it on the Kubernetes master:

#cluster/kubectl.sh create -f your_new_pod.json

Here is my command and output:

# cluster/kubectl.sh create -f examples/iscsi/iscsi.json
# cluster/kubectl.sh get pods
POD       IP            CONTAINER(S)   IMAGE(S)           HOST                                    LABELS    STATUS    CREATED         MESSAGE
iscsipd   10.244.3.14                                     kubernetes-minion-bz1p/104.154.61.231   <none>    Running   About an hour   
                        iscsipd-rw     kubernetes/pause                                                     Running   About an hour   
                        iscsipd-ro     kubernetes/pause                                                     Running   About an hour   

On the Kubernetes node, I got these in mount output

# mount |grep kub
/dev/sdb on /var/lib/kubelet/plugins/kubernetes.io/iscsi/iscsi/10.240.205.13:3260-iqn-iqn.2014-12.world.server:storage.target1-lun-0 type ext4 (ro,relatime,data=ordered)
/dev/sdb on /var/lib/kubelet/pods/e36158ce-f8d8-11e4-9ae7-42010af01964/volumes/kubernetes.io~iscsi/iscsipd-ro type ext4 (ro,relatime,data=ordered)
/dev/sdc on /var/lib/kubelet/plugins/kubernetes.io/iscsi/iscsi/10.240.205.13:3260-iqn-iqn.2014-12.world.server:storage.target1-lun-1 type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sdc on /var/lib/kubelet/pods/e36158ce-f8d8-11e4-9ae7-42010af01964/volumes/kubernetes.io~iscsi/iscsipd-rw type xfs (rw,relatime,attr2,inode64,noquota)

If you ssh to that machine, you can run docker ps to see the actual pod.

# docker ps
CONTAINER ID        IMAGE                                                COMMAND                CREATED             STATUS              PORTS               NAMES
cc051196e7af        kubernetes/pause:latest                              "/pause"               About an hour ago   Up About an hour                        k8s_iscsipd-rw.ff2d2e9f_iscsipd_default_e36158ce-f8d8-11e4-9ae7-42010af01964_26f3a457                                               
8aa981443cf4        kubernetes/pause:latest                              "/pause"               About an hour ago   Up About an hour                        k8s_iscsipd-ro.d7752e8f_iscsipd_default_e36158ce-f8d8-11e4-9ae7-42010af01964_4939633d    

Run docker inspect and I found the Containers mounted the host directory into the their /mnt/iscsipd directory.

# docker inspect --format '{{index .Volumes "/mnt/iscsipd"}}' cc051196e7af
/var/lib/kubelet/pods/75e0af2b-f8e8-11e4-9ae7-42010af01964/volumes/kubernetes.io~iscsi/iscsipd-rw

Analytics