我在GCE上有两个带有kubernetes自安装的VM实例(使用以下https://medium.com/edureka/install-kubernetes-on-ubuntu-5cd1f770c9e4)。
我正在尝试创建音量并在我的pod中使用它。
我已经创建了以下磁盘:
gcloud compute disks create --type=pd-ssd --size=10GB manual-disk-1
并创建以下yaml文件
pv_manual.yaml:
apiVersion: v1
kind: PersistentVolume
metadata:
name: manually-created-pv
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 10Gi
persistentVolumeReclaimPolicy: Retain
gcePersistentDisk:
pdName: manual-disk-1
pvc_manual.yaml:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mypvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
pod.yaml:
apiVersion: v1
kind: Pod
metadata:
name: sleppypod
spec:
volumes:
- name: data
persistentVolumeClaim:
claimName: mypvc
containers:
- name: sleppycontainer
image: gcr.op/google_containers/busybox
command:
- sleep
- "5000"
volumeMounts:
- name: data
mountPath: /data
readOnly: false
当我试图创建pod时,pode的状态为ContainerCreating
,在kubectl get events
上,我看到:
7s警告失败AttachVolume AttachVolume.NewAttacher对卷失败:无法获取GCE GCECloudProvider,错误为
我使用具有计算实例管理员角色的ServiceAccount运行我的两个实例(根据Kubernetes:Failed to get GCE GCECloudProvider,error<nil>(,并且我的kubelet
使用--cloud-provider=gce
运行
我该如何解决?
您需要创建一个存储类
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
annotations:
storageclass.kubernetes.io/is-default-class: "true"
name: standard
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-standard
fstype: ext4
replication-type: none
有关GCE的详细信息,请点击
您也可以在这里阅读GCE文档