欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

KubernetesPV在Retain策略Released狀態(tài)下重新分配到PVC恢復(fù)數(shù)據(jù)

Kubernetes PV在Retain策略Released狀態(tài)下重新分配到PVC恢復(fù)數(shù)據(jù)

[TOC]

在泉港等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),成都全網(wǎng)營(yíng)銷,外貿(mào)網(wǎng)站建設(shè),泉港網(wǎng)站建設(shè)費(fèi)用合理。

1. 實(shí)驗(yàn)?zāi)康暮铜h(huán)境說(shuō)明

原由:在使用helm update stable/sonatype-nexus從1.6版本更新到1.13版本后,出現(xiàn)PVC刪除,重新創(chuàng)建PVC的情況,好在原來(lái)PV為Retain。故研究下Retain的PV怎么恢復(fù)數(shù)據(jù)。

實(shí)驗(yàn)?zāi)康模篜VC刪除后,PV因Retain策略,狀態(tài)為Released,將PV內(nèi)數(shù)據(jù)恢復(fù)成PVC,掛載到POD內(nèi),達(dá)到數(shù)據(jù)恢復(fù)。

環(huán)境說(shuō)明:

  • Kubernetes: 1.12.1
  • StorageClass: ceph-rbd
  • OS: CentOS7

2. 實(shí)驗(yàn)過(guò)程

準(zhǔn)備yaml文件:

pvc.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-test
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: ceph-rbd 
  resources:
    requests:
      storage: 1Gi

nginx.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx-rbd
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: nginx
    spec:
      containers:
        - name: nginx
          image: nginx
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 80
          volumeMounts:
            - name: ceph-rbd-volume
              mountPath: "/usr/share/nginx/html"
      volumes:
      - name: ceph-rbd-volume
        persistentVolumeClaim:
          claimName: pvc-test

新建pvc、deployment、寫(xiě)入數(shù)據(jù)并刪除pvc操作過(guò)程:

[root@lab1 test]# ll
total 8
-rw-r--r-- 1 root root 533 Oct 24 17:54 nginx.yaml
-rw-r--r-- 1 root root 187 Oct 24 17:55 pvc.yaml
[root@lab1 test]# kubectl apply -f pvc.yaml 
persistentvolumeclaim/pvc-test created
[root@lab1 test]# kubectl get pvc 
NAME               STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc-test           Bound    pvc-069c4486-d773-11e8-bd12-000c2931d938   1Gi        RWO            ceph-rbd       7s
[root@lab1 test]# kubectl apply -f nginx.yaml 
deployment.extensions/nginx-rbd created
[root@lab1 test]# kubectl get pod |grep nginx-rbd
nginx-rbd-7c6449886-thv25           1/1     Running   0          33s
[root@lab1 test]# kubectl exec -it nginx-rbd-7c6449886-thv25 -- /bin/bash -c 'echo ygqygq2 > /usr/share/nginx/html/ygqygq2.html'        
[root@lab1 test]# kubectl exec -it nginx-rbd-7c6449886-thv25 -- cat /usr/share/nginx/html/ygqygq2.html
ygqygq2
[root@lab1 test]# kubectl delete -f nginx.yaml 
deployment.extensions "nginx-rbd" deleted
[root@lab1 test]# kubectl get pvc pvc-test     
NAME       STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc-test   Bound    pvc-069c4486-d773-11e8-bd12-000c2931d938   1Gi        RWO            ceph-rbd       4m10s
[root@lab1 test]# kubectl delete pvc pvc-test  # 刪除PVC
persistentvolumeclaim "pvc-test" deleted
[root@lab1 test]# kubectl get pv pvc-069c4486-d773-11e8-bd12-000c2931d938
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS     CLAIM              STORAGECLASS   REASON   AGE
pvc-069c4486-d773-11e8-bd12-000c2931d938   1Gi        RWO            Retain           Released   default/pvc-test   ceph-rbd                4m33s
[root@lab1 test]# kubectl get pv pvc-069c4486-d773-11e8-bd12-000c2931d938 -o yaml > /tmp/pvc-069c4486-d773-11e8-bd12-000c2931d938.yaml  # 保留備用

從上面可以看到,pvc刪除后,pv變成Released狀態(tài)。

再次創(chuàng)建同名PVC,查看是否分配原來(lái)PV操作過(guò)程:

[root@lab1 test]# kubectl apply -f pvc.yaml 
persistentvolumeclaim/pvc-test created
[root@lab1 test]# kubectl get pvc  # 查看新建的PVC              
NAME               STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc-test           Bound    pvc-f2df48ea-d773-11e8-b6c8-000c29ea3e30   1Gi        RWO            ceph-rbd       19s
[root@lab1 test]# kubectl get pv pvc-069c4486-d773-11e8-bd12-000c2931d938  # 查看原來(lái)的PV
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS     CLAIM              STORAGECLASS   REASON   AGE
pvc-069c4486-d773-11e8-bd12-000c2931d938   1Gi        RWO            Retain           Released   default/pvc-test   ceph-rbd                7m18s
[root@lab1 test]# 

從上面可以看到,PVC分配的是新的PV,因?yàn)镻V狀態(tài)不是Available。

那怎么才能讓PV狀態(tài)變成Available呢?我們來(lái)查看之前的PV:

[root@lab1 test]# cat /tmp/pvc-069c4486-d773-11e8-bd12-000c2931d938.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  annotations:
    pv.kubernetes.io/provisioned-by: ceph.com/rbd
    rbdProvisionerIdentity: ceph.com/rbd
  creationTimestamp: 2018-10-24T09:56:06Z
  finalizers:
  - kubernetes.io/pv-protection
  name: pvc-069c4486-d773-11e8-bd12-000c2931d938
  resourceVersion: "11752758"
  selfLink: /api/v1/persistentvolumes/pvc-069c4486-d773-11e8-bd12-000c2931d938
  uid: 06b57ef7-d773-11e8-bd12-000c2931d938
spec:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 1Gi
  claimRef:
    apiVersion: v1
    kind: PersistentVolumeClaim
    name: pvc-test
    namespace: default
    resourceVersion: "11751559"
    uid: 069c4486-d773-11e8-bd12-000c2931d938
  persistentVolumeReclaimPolicy: Retain
  rbd:
    fsType: ext4
    image: kubernetes-dynamic-pvc-06a25bd3-d773-11e8-8c3e-0a580af400d5
    keyring: /etc/ceph/keyring
    monitors:
    - 192.168.105.92:6789
    - 192.168.105.93:6789
    - 192.168.105.94:6789
    pool: kube
    secretRef:
      name: ceph-secret
      namespace: kube-system
    user: kube
  storageClassName: ceph-rbd
status:
  phase: Released

從上面可以看到,spec.claimRef這段,仍保留之前的PVC信息。

我們大膽刪除spec.claimRef這段。再次查看PV:

kubectl edit pv pvc-069c4486-d773-11e8-bd12-000c2931d938

[root@lab1 test]# kubectl get pv pvc-069c4486-d773-11e8-bd12-000c2931d938 
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
pvc-069c4486-d773-11e8-bd12-000c2931d938   1Gi        RWO            Retain           Available           ceph-rbd                10m

從上面可以看到,之前的PV pvc-069c4486-d773-11e8-bd12-000c2931d938已經(jīng)變?yōu)锳vailable。

再次創(chuàng)建PVC、deployment,并查看數(shù)據(jù):

new_pvc.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-test-new
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: ceph-rbd 
  resources:
    requests:
      storage: 1Gi

new_nginx.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx-rbd
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: nginx
    spec:
      containers:
        - name: nginx
          image: nginx
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 80
          volumeMounts:
            - name: ceph-rbd-volume
              mountPath: "/usr/share/nginx/html"
      volumes:
      - name: ceph-rbd-volume
        persistentVolumeClaim:
          claimName: pvc-test-new

操作過(guò)程:

[root@lab1 test]# kubectl apply -f new_pvc.yaml 
persistentvolumeclaim/pvc-test-new created
[root@lab1 test]# kubectl get pvc 
NAME               STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc-test           Bound    pvc-f2df48ea-d773-11e8-b6c8-000c29ea3e30   1Gi        RWO            ceph-rbd       31m
pvc-test-new       Bound    pvc-069c4486-d773-11e8-bd12-000c2931d938   1Gi        RWO            ceph-rbd       27m
[root@lab1 test]# kubectl apply -f new_nginx.yaml 
[root@lab1 test]# kubectl get pod|grep nginx-rbd
nginx-rbd-79bb766b6c-mv2h8          1/1     Running   0          20m
[root@lab1 test]# kubectl exec -it nginx-rbd-79bb766b6c-mv2h8 -- ls /usr/share/nginx/html
lost+found  ygqygq2.html
[root@lab1 test]# kubectl exec -it nginx-rbd-79bb766b6c-mv2h8 -- cat /usr/share/nginx/html/ygqygq2.html
ygqygq2

從上面可以看到,新的PVC分配到的是原來(lái)的PV pvc-069c4486-d773-11e8-bd12-000c2931d938,并且數(shù)據(jù)完全還在。

3. 小結(jié)

當(dāng)前版本Kubernetes PVC存儲(chǔ)大小是唯一能被設(shè)置或請(qǐng)求的資源,因我們沒(méi)有修改PVC的大小,在PV的Available狀態(tài)下,有PVC請(qǐng)求分配相同大小時(shí),PV會(huì)被分配出去并綁定成功。
在PV變成Available過(guò)程中,最關(guān)鍵的是PV的spec.claimRef字段,該字段記錄著原來(lái)PVC的綁定信息,刪除綁定信息,即可重新釋放PV從而達(dá)到Available。

參考資料:
[1] https://kubernetes.io/docs/concepts/storage/persistent-volumes/
[2] https://kubernetes.io/docs/concepts/storage/storage-classes/
[3] http://dockone.io/article/2082
[4] http://dockone.io/article/2087

文章題目:KubernetesPV在Retain策略Released狀態(tài)下重新分配到PVC恢復(fù)數(shù)據(jù)
標(biāo)題網(wǎng)址:http://aaarwkj.com/article16/pccggg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)網(wǎng)站排名、標(biāo)簽優(yōu)化、靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
成人av男人天堂东京热| 亚洲免费av一区二区| 少妇高潮毛片免费看高潮| 五月婷久久精品国产亚洲av| 手机在线观看午夜小视频| 蜜臀国产午夜在线视频| 亚洲黄色成人免费观看| 99国产精品的热久久| 青青草网站在线观看视频| av资源中文字幕在线天堂| 色综合久久综合香梨网| 日韩视频专区一区二区| 日本一区二区三区电影播放| 97国产超碰在线观看| 欧美黄片网站免费观看| 国产精品自拍国产精品| 免费人成黄页网站在线播放国产| 亚洲中文字幕一二区日韩| 欧美性大片一区二区三区| 99热精品这里只有精品| 亚洲第一中文字幕久久| 黑人爆操中国女孩在线观看| 亚洲中文字幕少妇熟女美妇| 日本在线高清精品人妻| 三级视频一区二区三区| 天堂av在线一区二区三区| 国产91在线一区精品| 亚洲女同成人在线观看| 日本大片一区二区免费看| 国内一级黄色片免费观看| 免费特黄特黄的欧美大片| 欧美日韩在线观看不卡视频| 老湿机午夜十分钟视频| 亚洲欧美日韩一区中文天国| 亚洲天堂av日韩在线| 欧美精品欧美激情免费区| 亚洲精品国产高清久久| 欧美人与性禽动交情品| 日韩中文字幕欧美国产| 四虎影院成人精品久久| 久久久国产精品9999综合|