2017-03-15 35 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到它定義了哪些部署預計從要重視它持久音量部署陽明 - 它可能有多個匹配持久卷,每一個要求,就像它是可能的將不會有任何數量可以索賠,這就是爲什麼存在這種差別。

相關問題