Kubernetes部分Volume類型介紹及yaml示例–emptyDir

來源:本站原創 網絡技術 超過164 views圍觀 0條評論

Kubernetes部分Volume類型介紹及yaml示例–emptyDir(本地數據卷)

說明
EmptyDir類型的volume創建于pod被調度到某個宿主機上的時候,而同一個pod內的容器都能讀寫EmptyDir中的同一個文件。一旦這個pod離開了這個宿主機,EmptyDir中的數據就會被永久刪除。所以目前EmptyDir類型的volume主要用作臨時空間,比如Web服務器寫日志或者tmp文件需要的臨時目錄。
實戰使用共享卷的標準單容器POD
#創建yaml文件
cat >> emptyDir.yaml << EOF
apiVersion: v1
kind: Pod
metadata:
    labels:
        name: test-emptypath
        role: master
    name: test-emptypath
    namespace: test
spec:
    containers:
        – name: test-emptypath
            image: nginx:1.7.9
            volumeMounts:
             – name: log-storage
                 mountPath: /tmp/
    volumes:
    – name: log-storage
        emptyDir: {}
#啟動emptyDir.yaml
kubectl create -f ./emptyDir.yaml
#查看Pod運行狀態
kubectl get po -n test
NAME                         READY     STATUS    RESTARTS   AGE
test-emptypath               1/1       Running   0          3h
##說明:當 Pod 被分配給節點時,首先創建 emptyDir 卷,并且只要該 Pod
##在該節點上運行,該卷就會存在。正如卷的名字所述,它最初是空的。
實戰使用共享卷的標準多容器POD、
#創建yaml文件
cat  >> emptyDir2.yaml << EOF
apiVersion: v1
kind: Pod
metadata:
    name: datagrand
    namespace: test
spec:
    containers:
    – name: test1
        image: nginx:1.7.9
        volumeMounts:
        – name: log-storage
            mountPath: /usr/share/nginx/html
    – name: test2
        image: centos
        volumeMounts:
        – name: log-storage
            mountPath: /html
        command: ["/bin/sh","-c"]
        args:
            – while true;do
                    data >> /html/index.html;
                    sleep 1;
                done
volumes:
    – name: log-storage
        emptyDir: {}
##說明:在這個例子中,我們定義了一個名為HTML的卷。它的類型是emptyDir,
##這意味著當一個POD被分配到一個節點時,卷先被創建,并只要Pod在節點上
##運行時,這個卷仍存在。正如名字所說,它最初是空的。第一容器運行nginx的
##服務器并將共享卷掛載到目錄/ usr /share/ nginx /html。第二容器使用centos
##的鏡像,并將共享卷掛載到目錄/HTML。每一秒,第二容器添加當前日期和時
##間到index.html文件中,它位于共享卷。當用戶發出一個HTTP請求到POD,
##nginx的服務器讀取該文件并將其傳遞給響應請求的用戶。
#運行yaml
kubectl create -f ./emptyDir2.yaml
#查看Pod運行狀態
kubectl get po -n test
NAME                         READY     STATUS    RESTARTS   AGE
datagrand                    2/2       Running   0          22m
#進入容器test1
kubectl exec -it datagrand -c test1 /bin/bash -n test
[email protected]:/# cd /usr/share/nginx/html
[email protected]:/usr/share/nginx/html# ls
index.html
##添加內容
[email protected]:/usr/share/nginx/html# echo "this is a test" >> index.html
#進入容器test2
kubectl exec -it datagrand -c test2 /bin/bash -n test
[[email protected] /]# cd html
[[email protected] html]# ls
index.html
[[email protected] html]# cat index.html
this is a test
##emptyDir卷是兩個容器(test1和test2)共享的
參考文檔
https://www.kubernetes.org.cn/2767.html

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=4115轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏 甘肃快三打豹子技巧 赖子麻将胡牌牌型 福建36选7开奖结果时间公告查询 双色球推荐号码 23号福建十一选五开奖结果 11选5走势图安徽时时彩 完美yj怎么赚钱 下载地下城勇士 福建十一选五前三走势 开什么公司赚钱投资小 11选5任稳赚不赔 开外卖店赚钱吗 美团 快3预测 福彩 竞彩足球比分网 重生赚钱玉石