docker - 无法登录 kubernetes 集群中 docker 容器中的 iSCSI 启动器

标签 docker kubernetes iscsi

无法登录在 kubernetes 集群内运行的 docker 容器中的 iSCSI 启动器

我已经安装了open-iscsi在 kubeminion 内以特权模式打包在 docker ubuntu 容器中。 iscsi 目标正在运行,并且 iscsi 启动器发现返回正确的启动器名称 iqn。当我尝试登录时,我得到了这个:

ERROR : iscsiadm: got read error (0/111), daemon died? iscsiadm: Could not login to [iface: default, target: iqn.2016-09.com.abcdefg.xyza:name, portal: 10.102.83.21,3260]. iscsiadm: initiator reported error (18 - could not communicate to iscsid) iscsiadm: Could not log into all portals



我试过service iscsid restart并使用 iscsid -d 8 -f 进行调试命令,还是登录不成功

最佳答案

在集群中运行 docker 时添加 --net=host 标志和 --privileged 标志,iscsi discover 和 login 都会成功。 iscsi 期望主机的网络服务以特权访问运行。命令应该是, docker run -it --privileged --net=host name:tag 将网络设置为主机后,容器将共享主机的网络堆栈,并且主机的所有接口(interface)都可用于容器。容器的主机名将与主机系统上的主机名匹配。

有关更多详细信息,请参阅文档:
https://docs.docker.com/engine/reference/run/#network-settings

注意:标志 --net 适用于较旧和最新版本的 docker,--network 仅适用于最新的 docker 版本。

关于docker - 无法登录 kubernetes 集群中 docker 容器中的 iSCSI 启动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46981558/

相关文章:

docker - Jenkins docker pipeline 未传递退出代码

windows - 如何配置Docker CLI从Git-Bash上的minikube访问docker服务器?

docker - 如何限制Kubernetes容器查看主机(K8s Minion)操作系统上的 block 设备列表?

ssl - 无法针对 tls 安全 etcd 设置 kubernetes

docker - Kubernetes Pod 分布

Docker - [内部] 加载构建上下文 : when try to build an Image

docker - 使用--network主机时无法访问容器

php 获取 iscsi 输出 Linux

linux - iscsiadm : Login I/O error, 接收 PDU 失败