我试图通过kubernetes 1.3.4新的alpha功能设置Cassandra集群 - Petset。按照yaml文件发布在这里: http://blog.kubernetes.io/2016/07/thousand-instances-of-cassandra-using-kubernetes-pet-set.html
我的kubernetes集群基于1.3.4裸机环境,拥有10台强大的物理机器。但是,在我创建了Petset之后,我无法从kubectl获取pv。
运行kubectl get pvc,我得到以下内容:
名称状态音量容量访问模式年龄 cass-volume-cassandra-0等待4小时 cass-volume-cassandra-1等待4小时 cass-volume-cassandra-2等待4小时
如果kubenetes在asw,gce或Cinder上运行,则会自动创建持久卷。想知道我可以在裸机环境中创建这样的持久音量和pvc吗?
另一个问题:只要我在aws中的几台EC2机器上运行kubernetes集群,就会在yaml文件中使用这些子句自动创建来自aws EBS的持久卷?或者我必须先分配EBS?
volumeClaimTemplates:
- metadata:
name: cassandra-data
annotations:
volume.alpha.kubernetes.io/storage-class: anything
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 380Gi
答案 0 :(得分:2)
使用动态卷配置的petset,这意味着如果存储可用pvc绑定和pod(petset)正在运行,那么volumeClaimTemplates在petset定义请求中存储来自kubernetes!但目前kubernetes仅支持云提供商中的“动态卷配置”,如gce或aws。
如果您在裸机群集中使用kubernetes,其他方式是使用网络存储,如ceph或gluster,需要在群集中设置网络存储。
如果要使用裸机硬盘,则存在解决方案是使用hostPath类型的持久卷。
答案 1 :(得分:1)
默认情况下,false
中的主机路径配置器设置为cluster/local-up-cluster.sh
。您可以通过运行ENABLE_HOSTPATH_PROVISIONER=true cluster/local-up-cluster.sh
启用它。这样就可以创建配置器和PV。