kubernetes:在裸露的金属环境中使用Petset

时间:2016-08-11 05:06:04

标签: amazon-web-services cassandra kubernetes

我试图通过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小时

在此阅读自述文件:https://github.com/kubernetes/kubernetes/blob/b829d4d4ef68e64b9b7ae42b46877ee75bb2bfd9/examples/experimental/persistent-volume-provisioning/README.md

如果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

2 个答案:

答案 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。