2017-03-15 31 views
1

我在kubernetes上设置Jenkins。我现在的部署是这样的:在Kubernetes中用于持久性数据的正确卷类型是什么?

spec: 
     containers: 
      - name: jenkins-master 
       image: jenkins:1.0 
       ports: 
        - containerPort: 8080 
        name: http 
       volumeMounts: 
        - mountPath: /var/jenkins_home 
        name: jenkins-home 
     volumes: 
      - name: jenkins-home 
       emptyDir: {} 

它工作正常,但如果吊舱被破坏,因为詹金斯用来存储数据的文件夹安装为emptyDir,这意味着数据的数据消失的生活,只要随着荚的生活。

这显然不是一个最佳的方案,因为该吊舱甚至可以在正常操作期间被破坏的原因有很多。我知道我必须用其他东西替换emptyDir,但是,我不确定我应该使用什么。我可以配置一个GCE磁盘,但是,如果您配置一个200GB以下的磁盘,则会发出警告,说明您的磁盘将被限制。由于GCE磁盘当时只能由一位作者声明,因此看起来过于夸张,如果我为每个需要保存持久数据的服务使用GCE磁盘,那么我们最终会付出昂贵的费用。

为了概括问题:

你kubernetes运行的若干服务,那需要保存持久的磁盘上,数据量小。你提供什么样的存储空间?

+0

你可以定义少量? –

+0

约5-10千兆字节 –

回答

1

您要查找的内容是Persistent Volumes,它基本上将基础持久性卷(称为AWS EBS或OpenStack Cinder卷)建模为资源。

此资源,只需PersistentVolume命名定义规范的体积,包括例如其大小和名称。要真正使用它,你需要添加PersistentVolumeClaim到它定义了哪些部署预计从要重视它持久音量部署阳明 - 它可能有多个匹配持久卷,每一个要求,就像它是可能的将不会有任何数量可以索赔,这就是为什么存在这种差别。

相关问题