<p>I'm trying to start kubernetes with an iscsi plugin inside rkt on CoreOS using the <a href="https://coreos.com/kubernetes/docs/latest/kubelet-wrapper.html#customizing-rkt-options" rel="nofollow">instruction here</a>. The problem is the iscsi daemon can't start, so I'm getting an error and can't mount the volume to the pod.</p>

<pre><code>iscsi_util.go:112] iscsi: failed to sendtargets to portal 156.64.48.59:3260 
    error: iscsiadm: Failed to load module tcp: No such file
iscsiadm: Could not load transport tcp.Dropping interface default.
[disk_manager.go:50] failed to attach disk 
iscsi: failed to setup
kubelet.go:1780] Unable to mount volumes for pod ...
</code></pre>

<p>I tried to mount the whole /dev/ inside the rkt container, but it doesn't help me.</p>

SerCe
<p>It doesn't look like they'll add it default into CoreOS but you can add it in the ignition config.  The <code>iscsid-initiatorname.service</code> will create the name for you.</p>

<pre><code>  "storage": {
    "files": [{
      "filesystem": "root",
      "path": "/etc/modules-load.d/iscsi_tcp.conf",
      "contents": { "source": "data:iscsi_tcp" },
      "mode": 420
    }]
  },
  "systemd": {
    "units": [{
        "enable": true,
        "name": "iscsid-initiatorname.service"
    }]
  }
</code></pre>

<p>This only works on a fresh install or fresh root disk so create the file, do <code>modprode iscsi_tcp</code>,  and do <code>systemctl start iscsid-initiatorname.service</code> if you don't want to start with clean root.</p>

<p>Then if you're using kubernetes just setup the volume mappings:</p>

<pre><code>  kubelet:
    extra_args:
      feature-gates: MountPropagation=true

    extra_binds:
      - /usr/sbin/iscsiadm:/usr/sbin/iscsiadm
      - /usr/sbin/iscsid:/usr/sbin/iscsid
      - /etc/iscsi/:/etc/iscsi/
</code></pre>

<p>This got OpenEBS working on my baremetal CoreOS cluster.</p>
