kubernetes使用iscsi卷创建pod

kubernetes使用iscsi卷创建pod,kubernetes,iscsi,Kubernetes,Iscsi,我是K8s的新手,现在我一直在使用iscsi卷创建pod 我使用openfiler作为iscsi目标,为K8s主机节点提供一个LUN。 我可以通过“multipath-l”查看磁盘: 或“cat/proc/scsi/scsi” 我的部署yaml文件: apiVersion: apps/v1 kind: Deployment metadata: name: mysql-test labels: tier: db system: test name: mysql sp

我是K8s的新手,现在我一直在使用iscsi卷创建pod 我使用openfiler作为iscsi目标,为K8s主机节点提供一个LUN。 我可以通过“multipath-l”查看磁盘:

或“cat/proc/scsi/scsi”

我的部署yaml文件:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql-test
  labels:
    tier: db
    system: test
    name: mysql
spec:
  replicas: 1
  template:
    metadata:
      name: mysql
      labels:
        name: mysql
        tier: db
    spec:
      containers:
        - name: mysql
          image: linhnm/lab:linhnm-wp
          volumeMounts:
            - mountPath: /var/lib/mysql
              name: pv-sql
      volumes:
        - name: pv-sql
          iscsi:
            targetPortal: 172.20.30.76:3260
            iqn: iqn.2006-01.com.openfiler:tsn.11934dc96acf
            lun: 0
            fsType: ext4
            readOnly: false
  selector:
    matchLabels:
      tier: db
      name: mysql
我的K8s集群无法创建pod,下面是描述pod命令中的事件:

Events:
  Type     Reason                  Age               From                     Message
  ----     ------                  ----              ----                     -------
  Normal   Scheduled               3m                default-scheduler        Successfully assigned mysql-test-7f5d55b8d8-tdxkk to worker1
  Normal   SuccessfulAttachVolume  3m                attachdetach-controller  AttachVolume.Attach succeeded for volume "pv-sql"
  Normal   SuccessfulMountVolume   3m                kubelet, worker1         MountVolume.SetUp succeeded for volume "default-token-wqhhj"
  Warning  FailedMount             1m                kubelet, worker1         Unable to mount volumes for pod "mysql-test-7f5d55b8d8-tdxkk_default(bef99831-8cc9-11e8-a98d-00505695a133)": timeout expired waiting for volumes to attach or mount for pod "default"/"mysql-test-7f5d55b8d8-tdxkk". list of unmounted volumes=[pv-sql]. list of unattached volumes=[pv-sql default-token-wqhhj]
  Warning  FailedMount             43s (x8 over 2m)  kubelet, worker1         MountVolume.WaitForAttach failed for volume "pv-sql" : failed to get any path for iscsi disk, last err seen:
Could not attach disk: Timeout after 10s

有人能告诉我应该调整我的实验室吗?或者我应该读什么材料来解决这个问题?谢谢

最后,我想我找到了问题的原因。它可能是我的openfiler iscsi服务器。在使用targetd创建另一台linux iscsi服务器并将我的卷清单更改为新的卷清单属性后,K8s群集可以创建pod,然后顺利连接卷

实际上,这似乎很好。您是否遵循了一些教程或使用了此示例?如果是,我认为这是一个错误。试着在github上感受一下这个问题:嗨,Aurelius,我以前读过这个链接,但没有任何帮助。事实上,我不认为这是一个错误,可能是我在某个地方错了。说明很清楚,你的yaml似乎很好。如果这不起作用,可能意味着这是一个bug,我建议在github上发布一个问题,并让我们不断更新。
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql-test
  labels:
    tier: db
    system: test
    name: mysql
spec:
  replicas: 1
  template:
    metadata:
      name: mysql
      labels:
        name: mysql
        tier: db
    spec:
      containers:
        - name: mysql
          image: linhnm/lab:linhnm-wp
          volumeMounts:
            - mountPath: /var/lib/mysql
              name: pv-sql
      volumes:
        - name: pv-sql
          iscsi:
            targetPortal: 172.20.30.76:3260
            iqn: iqn.2006-01.com.openfiler:tsn.11934dc96acf
            lun: 0
            fsType: ext4
            readOnly: false
  selector:
    matchLabels:
      tier: db
      name: mysql
Events:
  Type     Reason                  Age               From                     Message
  ----     ------                  ----              ----                     -------
  Normal   Scheduled               3m                default-scheduler        Successfully assigned mysql-test-7f5d55b8d8-tdxkk to worker1
  Normal   SuccessfulAttachVolume  3m                attachdetach-controller  AttachVolume.Attach succeeded for volume "pv-sql"
  Normal   SuccessfulMountVolume   3m                kubelet, worker1         MountVolume.SetUp succeeded for volume "default-token-wqhhj"
  Warning  FailedMount             1m                kubelet, worker1         Unable to mount volumes for pod "mysql-test-7f5d55b8d8-tdxkk_default(bef99831-8cc9-11e8-a98d-00505695a133)": timeout expired waiting for volumes to attach or mount for pod "default"/"mysql-test-7f5d55b8d8-tdxkk". list of unmounted volumes=[pv-sql]. list of unattached volumes=[pv-sql default-token-wqhhj]
  Warning  FailedMount             43s (x8 over 2m)  kubelet, worker1         MountVolume.WaitForAttach failed for volume "pv-sql" : failed to get any path for iscsi disk, last err seen:
Could not attach disk: Timeout after 10s