kubernetes StorageClass動態(tài)PV

特性

動態(tài)卷供給是kubernetes獨有的功能,這一功能允許按需創(chuàng)建存儲建搓扯。在此之前介劫,集群管理員需要事先在集群外由存儲提供者或者云提供商創(chuàng)建存儲卷,
成功之后再創(chuàng)建PersistentVolume對象痢艺,才能夠在kubernetes中使用仓洼。動態(tài)卷供給能讓集群管理員不必進行預先創(chuàng)建存儲卷,而是隨著用戶需求進行創(chuàng)建
堤舒。在1.5版本提高了動態(tài)卷的彈性和可用性色建。

在此前1.4版本中加入了一個 新的 API 對象 StorageClass,可以定義多個 StorageClass 對象舌缤,并可以分別指定存儲插件箕戳、設置參數(shù),用于提供不同的
存儲卷国撵。這樣的設計讓集群管理員能夠在同一個集群內陵吸,定義和提供不同類型的、不同參數(shù)的卷(相同或者不同的存儲系統(tǒng))介牙。這樣的設計還確保了最終
用戶在無需了解太多的情況下壮虫,有能力選擇不同的存儲選項。

aws ebs使用示例

需要滿足以下條件方可使用EBS作為存儲提供者:

  • Pod運行的節(jié)點必須為AWS EC2實例
  • 這些示例需要和EBS在同一個區(qū)域和可用區(qū)域
  • EBS只支持一個EC2掛載一個卷
  • Node節(jié)點需要有EBS掛載/卸載權限环础。

1. 定義1個StorageClass對象(SSD盤)

vim fast-storage-class.yaml

    kind: StorageClass
    apiVersion: storage.k8s.io/v1beta1
    metadata:
      name: fast
    provisioner: kubernetes.io/aws-ebs
    parameters:
      type: io1
      zone: cn-north-1a
      iopsPerGB: "10"

這里我們創(chuàng)建了一個名為"fast"的StorageClass囚似。用于提供類似SSD的持久存儲剩拢。

  • type: EBS卷類型。io1, gp2, sc1, st1. See AWS docs for details. Default: gp2
  • zone: Aws區(qū)域谆构,如果未指定裸扶,則選擇與kubernetes集群節(jié)點相同的隨機區(qū)框都。
  • iopsPerGB: 僅適用于io1類型的卷搬素。IOPS/GB。
  • encrypted: EBS卷是否應該被加密魏保。有效值為"true" or "false"
  • kmsKeyId: 可選.加密卷時要使用的秘鑰的完整Amazon資源名稱熬尺。如果沒有提供秘鑰,AWS將生成秘鑰谓罗。

2.用戶請求,定義1個pvc

用戶在pvc中可以包含一個StorageClass申請動態(tài)提供存儲粱哼。需要額外使用annotations注解來指定特定的ClassStorage:volume.beta.kubernetes.io/storage-class.其值必須符合之前配置StorageClass名稱(比如fast)。

vim fast-pvc.yaml

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: myclaim
      annotations:
        volume.beta.kubernetes.io/storage-class: "fast"
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 8Gi
      selector:
        matchLabels:
          release: "stable"
        matchExpressions:
          - {key: environment, operator: In, values: [dev]}
  • accessModes:
    當pvc請求特定訪問模式的存儲時檩咱,聲明使用與pv卷相同的約定揭措。

  • Resources:
    類型Pod,可以請求特定數(shù)額的資源刻蚯。

  • Selector:

      支持標簽選擇器進一步篩選卷的集合绊含,只有與標簽選擇器匹配的卷才能綁定到pvc,選擇器由如下2個字段組成:
    
      - metchLabels
              卷必須帶有匹配的標簽炊汹,才能被綁定
      - matchExpressions
              支持標簽篩選擴展屬性,通過指定鍵躬充、值以及與鍵值相關的運算符所得結果的匹配列表。
    

通過我們pvc的描述讨便,名為fast的StorageClass會提供一個等效于SSD的持久盤充甚,當這個PVC被刪除,這個卷也隨之銷毀霸褒。

缺省StorageClass(DefaultStorageClass)

所有的 PVC 都可以在不使用 StorageClass 注解的情況下伴找,直接使用某個動態(tài)存儲。把一個StorageClass 對象標記為 “default” 就可以了废菱。StorageClass 用注解storageclass.beta.kubernetes.io/is-default-class: "true" 就可以成為缺省存儲技矮。

有了缺省的 StorageClass,用戶創(chuàng)建 PVC 就不用 storage-class 的注解了昙啄,1.4 起新加入的DefaultStorageClass 準入控制器會自動把這個標注指向缺省存儲類穆役。需要在準入控制插件添加缺省存儲插件:

            --admission-control=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,ResourceQuota

測試:

    動態(tài)卷:

    1. 創(chuàng)建pvc,掛載到單個Pod梳凛,遷移Pod耿币,日志會提示卷已被掛載到運行pod之前的ec2上,但幾分鐘依然會遷移成功韧拒,并且掛載卷成功.
    2. 創(chuàng)建pvc淹接,掛載到多個個Pod. 僅支持單個副本集十性。
    3. 正常使用下,刪除Pod塑悼,掛載pvc到新的Pod. 功能正常
    4.正常使用下劲适,刪除pvc,pv 回收策略為Delete(EBS的回收策略只支持Delete)厢蒜,狀態(tài)為Released霞势,Pod掛載的卷功能依然不受影響。然后斑鸦,刪除PV愕贡,Pod掛載的卷功能依然不受影響,此時AWS ebs卷改為available.此時若要繼續(xù)使用此卷,需要靜態(tài)PV指定EBS 卷ID巷屿。
    5. 創(chuàng)建pvc之后固以。刪除pv卷,此時pvc狀態(tài)為Lost,同時aws ebs卷依然為In-use嘱巾,未被卸載憨琳。
    6. 當刪除pvc時,pv reclaim 策略默認為delete。所以這個卷也隨之銷毀(自動刪除pv,自動刪除EBS這個卷),這個得注意.

PV自動擴容旬昭,目前不支持篙螟。

刪除說明

    ebs->pv->pvc->pod
  • 刪除pod,ebs->pv->pvc依然存活
  • 刪除pod,刪除pvc,將直接自動刪除pv及ebs存儲卷
  • 刪除pv或者刪除pvc稳懒,pod未刪除,ebs狀態(tài):in-use且不會被刪除闲擦,功能正常。其次刪除pod场梆,ebs狀態(tài):available墅冷。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市或油,隨后出現(xiàn)的幾起案子寞忿,更是在濱河造成了極大的恐慌,老刑警劉巖顶岸,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腔彰,死亡現(xiàn)場離奇詭異,居然都是意外死亡辖佣,警方通過查閱死者的電腦和手機霹抛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來卷谈,“玉大人杯拐,你說我怎么就攤上這事。” “怎么了端逼?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵朗兵,是天一觀的道長。 經常有香客問我顶滩,道長余掖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任礁鲁,我火速辦了婚禮盐欺,結果婚禮上,老公的妹妹穿的比我還像新娘救氯。我一直安慰自己找田,他們只是感情好歌憨,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布着憨。 她就那樣靜靜地躺著,像睡著了一般务嫡。 火紅的嫁衣襯著肌膚如雪甲抖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天心铃,我揣著相機與錄音准谚,去河邊找鬼。 笑死去扣,一個胖子當著我的面吹牛柱衔,可吹牛的內容都是我干的。 我是一名探鬼主播愉棱,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼唆铐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了奔滑?” 一聲冷哼從身側響起艾岂,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎朋其,沒想到半個月后王浴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡梅猿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年氓辣,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袱蚓。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡钞啸,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤鬼贱,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布简十,位于F島的核電站,受9級特大地震影響哨毁,放射性物質發(fā)生泄漏。R本人自食惡果不足惜源武,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一扼褪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧粱栖,春花似錦话浇、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至渣淤,卻和暖如春赏寇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背价认。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工嗅定, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人用踩。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓渠退,卻偏偏與公主長得像,于是被迫代替她去往敵國和親脐彩。 傳聞我的和親對象是個殘疾皇子碎乃,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內容

  • 1.1 Kubernetes是什么 首先,它是一個全新的基于容器技術的分布式架構領先方案丁屎; 其次荠锭,Kubernet...
    c84f3109853b閱讀 80,600評論 1 117
  • Kubernetes PV & pvc 介紹 PersistentVolume(pv)和PersistentVol...
    YichenWong閱讀 39,228評論 10 10
  • kubernetes 簡介 一個迅速過一遍kubernetes 非常不錯的資源:基于Kubernetes構建Doc...
    bradyjoestar閱讀 15,281評論 2 7
  • 獲取結尾兩個字符子串: let sessionId = "this is a test" let index = ...
    通哥閱讀 131評論 0 0
  • 已經想不起第幾次這樣惆悵了,就像你說的又矯情了那樣晨川。我又開始發(fā)呆了证九,又開始想說一些矯情的話。人越長大煩惱就越多共虑,但...
    68693689e4ae閱讀 377評論 0 0