Amazon web services Kubernetes未能在AWS-EBS上创建PersistentVolumeClaim
我使用Amazon web services Kubernetes未能在AWS-EBS上创建PersistentVolumeClaim,amazon-web-services,kubernetes,persistent-volumes,Amazon Web Services,Kubernetes,Persistent Volumes,我使用kubeadm设置了一个带有四个EC2实例的Kubernetes集群。Kubernetes集群工作正常,但在尝试创建一个PersistentVolumeClaim时失败 首先,我用下面的YAML创建了一个StorageClass,效果很好 kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: generic annotations: storageclass.kubernetes.io/is-def
kubeadm
设置了一个带有四个EC2实例的Kubernetes集群。Kubernetes集群工作正常,但在尝试创建一个PersistentVolumeClaim
时失败
首先,我用下面的YAML创建了一个StorageClass
,效果很好
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: generic
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2
encrypted: "false"
然后,我尝试使用以下YAML创建一个PersistentVolumeClaim
:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: slow
labels:
app: nginx
spec:
storageClassName: generic
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
其中获取了以下错误消息:
未能使用StorageClass“generic”配置卷:未能获取AWS云提供程序。改为返回GetCloudProvider
顺便说一下,似乎从未创建过PersistentVolume
kubectl get pv
No resources found.
有什么办法解决这个问题吗
谢谢。这是因为您在运行kubeadm init时没有使用选项
--cloud provider=aws
kubeadm --cloud-provider=aws init ...
或者,您应该将云提供商信息(cloudProvider)放入配置文件中,它将在初始化期间向api和controller manager添加云提供商标志:
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
etcd:
endpoints:
- "http://my-etcd1"
- "http://my-etcd2"
- "http://my-etcd3"
cloudProvider: aws
apiServerExtraArgs:
apiserver-count: 3
apiServerCertSANs:
- "my-master-hostname1"
- "my-master-hostname2"
- "my-master-hostname3"
- "10.10.0.50"
- "10.10.0.51"
- "10.10.0.52"
- "127.0.0.1"
token: "my-kube-token"
tokenTTL: "0"
更多信息:这是因为在运行kubeadm init时没有使用选项
--cloud provider=aws
kubeadm --cloud-provider=aws init ...
或者,您应该将云提供商信息(cloudProvider)放入配置文件中,它将在初始化期间向api和controller manager添加云提供商标志:
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
etcd:
endpoints:
- "http://my-etcd1"
- "http://my-etcd2"
- "http://my-etcd3"
cloudProvider: aws
apiServerExtraArgs:
apiserver-count: 3
apiServerCertSANs:
- "my-master-hostname1"
- "my-master-hostname2"
- "my-master-hostname3"
- "10.10.0.50"
- "10.10.0.51"
- "10.10.0.52"
- "127.0.0.1"
token: "my-kube-token"
tokenTTL: "0"
更多信息:您是否尝试在Internet上搜索“未能获取AWS云提供程序。GetCloudProvider返回了nil”。如果您尝试这些搜索结果中的某些内容,有什么帮助吗?您是否尝试在Internet上搜索“未能获取AWS云提供程序。GetCloudProvider返回了nil”。如果您尝试这些搜索结果中的某些内容,有什么帮助吗?如果我需要插入此功能以从我的Kubernetes连接到EBS卷,该功能已经启动并运行,该怎么办?我的平台已经有很多东西在运行,我不想拆掉它并重新初始化它。。。有没有办法将云提供商添加到其中?如果我需要插入此功能以从我的Kubernetes连接到EBS卷,该功能已经启动并运行,该怎么办?我的平台已经有很多东西在运行,我不想拆掉它并重新初始化它。。。有没有办法将云提供商添加到其中?