我在阿里云上使用托管k8s隔离。我创建了storageClass,例如:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: alicloud-pv-class
parameters:
type: cloud_ssd
regionid: cn-beijing
zoneid: cn-beijing-g
provisioner: alicloud/disk
reclaimPolicy: Retain
volumeBindingMode: Immediate
当我尝试创建聚氯乙烯:
apiVersion: v1
kind: List
items:
- kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: node-pv
spec:
accessModes:
- ReadWriteOnce
storageClassName: alicloud-pv-class
resources:
requests:
storage: 8Gi
我得到:
Name: node-pv
Namespace: default
StorageClass: alicloud-pv-class
Status: Pending
Volume:
Labels: <none>
Annotations: volume.beta.kubernetes.io/storage-provisioner: alicloud/disk
Finalizers: [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode: Filesystem
Mounted By: <none>
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ExternalProvisioning 11s (x6 over 75s) persistentvolume-controller waiting for a volume to be created, either by external provisioner "alicloud/disk" or manually created by system administrator
尽管我手动创建了pvc并将其绑定到pv,并为zookeeper安装了helm图表,但我从pod中得到了:
mkdir: cannot create directory '/bitnami/zookeeper/data': Permission denied
有什么想法吗?
我没能解决这个问题,但我遇到的问题与阿里云托管无服务器K8有关。就连阿里云支持也承认,这样的配置很难。他们没有提供任何解决方案。我们决定使用托管K8(无服务(。我们使用Terraform脚本。一切正常开箱即用,包括Ingress、LogTrail、PvC,这些都是无服务器托管K8的真正痛苦。
重点是,如果你需要日志和pvc,不要浪费时间使用Managed Servless K8。这不起作用——至少对我们没有起作用,也没有得到阿里云在这件事上的支持。
如果您使用的是alicloud ASKhttps://github.com/AliyunContainerService/serverless-k8s-examples/blob/master/volumes/alicloud-disk-controller.yaml正在为我工作。
要使自动配置工作("等待由外部配置程序"alicloud/disk"或由系统管理员手动创建卷"(,您可能需要安装csi-provisioner
加载项和/或使用配置程序diskplugin.csi.alibabacloud.com
。文档位于https://www.alibabacloud.com/help/en/ack/serverless-kubernetes/user-guide/storage-csi/#title-4sj-fr4-u1a