1. 程式人生 > >第九章 數據管理

第九章 數據管理

nts mount ntp args span lee pre bsp bus

9.1 Volume

  Pod是短暫的,Pod在銷毀時,保存在容器內部的文件系統各種的數據會被清除。

  為了持久化保存容器中的的數據,可以使用K8s Volume。

  9.1.1 emptyDir

  emptyDir: 最基礎的Volumne類型,是Host上的一個目錄。

  emptyDIr Volume: 對於容器來說是持久的,對於Pod不是。當Pod從節點刪除時,Volume的內容也會被刪除。但是如果只是容器被銷毀而Pod存在,則volume不受影響。也就是說:emptyDir Volume的生命周期與Pod一致。

  Pod中的所有容器都可以共享Volume,它們可以指定各自的mount路徑。

  如下Pod有兩個容器: producer 和 consumer,它們共享一個Volume. Producer 寫, consumer 讀。

apiVersion: v1
kind: Pod
metadata:
  name: producer-consumer
spec:
  containers:
  - image: busybox
    name: producer
    volumeMounts:                                    # 將shared-volume mount 到 producer_dir目錄
    - mountPath: /producer_dir
      name: shared
-volume args: # 將數據寫入到文件hello中 - /bin/sh - -c - echo "hello world" > /producer_dir/hello ; sleep 30000 - image: busybox name: consumer volumeMounts: # 將shared-volume mount 到 /consumer_dir - mountPath: /consumer_dir name: shared
-volume args: - /bin/sh - -c - cat /consumer_dir/hello ; sleep 30000 # 通過cat從文件hello讀數據 volumes: # 定義了一個emptyDir類型的Volume,名字是shared-volume. - name: shared-volume emptyDir: {}

  

  

  

第九章 數據管理