我有一个在AWS上运行的kubernetes集群。现在,当我试图将AWS EBS作为一个卷附加到一个吊舱上时,我遇到了一个“特殊设备不存在”的问题。
输出:挂载:不存在特殊设备/var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/vol-xxxxxxx
我做了一些研究,发现正确的AWS EBS设备路径应该是这样的格式:
/var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/aws/us-west-2a/vol-xxxxxxxx
我怀疑这可能是因为我根据这个教程设置了Kubernetes集群,并且没有设置云提供商,因此AWS设备“不退出”。我想知道我的怀疑是否正确,如果是,如何在集群运行之后设置云提供商。
发布于 2016-12-06 13:46:38
您需要设置云提供商来正确地挂载EBS卷。要在以下服务中设置事实集--cloud-provider=aws之后执行此操作:
重新启动所有内容,然后重新安装。
显式挂载EBS卷的示例pod可能如下所示:
apiVersion: v1
kind: Pod
metadata:
name: test-ebs
spec:
containers:
- image: gcr.io/google_containers/test-webserver
name: test-container
volumeMounts:
- mountPath: /test-ebs
name: test-volume
volumes:
- name: test-volume
# This AWS EBS volume must already exist.
awsElasticBlockStore:
volumeID: <volume-id>
fsType: ext4发布于 2016-12-02 14:39:56
库伯奈特版本是这里的一个重要因素。EBS坐骑在1.2.x是实验性的,我当时试过了,但没有成功。在上一个版本中,我再也没有尝试过,但是一定要检查k8s vm中的IAM角色,以确保它们有提供EBS磁盘的权限。
https://stackoverflow.com/questions/40887757
复制相似问题