kubernetes使用iscsi卷创建pod
我是K8s的新手,现在我一直在使用iscsi卷创建pod 我使用openfiler作为iscsi目标,为K8s主机节点提供一个LUN。 我可以通过“multipath-l”查看磁盘: 或“cat/proc/scsi/scsi” 我的部署yaml文件: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
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