新聞中心
配置 Pod 以使用卷進行存儲
此頁面展示了如何配置 Pod 以使用卷進行存儲。

創(chuàng)新互聯(lián)建站主要為客戶提供服務(wù)項目涵蓋了網(wǎng)頁視覺設(shè)計、VI標(biāo)志設(shè)計、營銷推廣、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式重慶網(wǎng)站建設(shè)公司、手機網(wǎng)站制作設(shè)計、微商城、網(wǎng)站托管及網(wǎng)站維護、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計、SEO優(yōu)化排名。設(shè)計、前端、后端三個建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為PE包裝袋行業(yè)客戶提供了網(wǎng)站營銷服務(wù)。
只要容器存在,容器的文件系統(tǒng)就會存在,因此當(dāng)一個容器終止并重新啟動,對該容器的文件系統(tǒng)改動將丟失。 對于獨立于容器的持久化存儲,你可以使用卷。 這對于有狀態(tài)應(yīng)用程序尤為重要,例如鍵值存儲(如 Redis)和數(shù)據(jù)庫。
在開始之前
你必須擁有一個 Kubernetes 的集群,同時你的 Kubernetes 集群必須帶有 kubectl 命令行工具。 建議在至少有兩個節(jié)點的集群上運行本教程,且這些節(jié)點不作為控制平面主機。 如果你還沒有集群,你可以通過 Minikube 構(gòu)建一個你自己的集群,或者你可以使用下面任意一個 Kubernetes 工具構(gòu)建:
- Katacoda
- 玩轉(zhuǎn) Kubernetes
要檢查版本,請輸入 ?kubectl version?。
為 Pod 配置卷
在本練習(xí)中,你將創(chuàng)建一個運行 Pod,該 Pod 僅運行一個容器并擁有一個類型為 emptyDir 的卷, 在整個 Pod 生命周期中一直存在,即使 Pod 中的容器被終止和重啟。以下是 Pod 的配置:
apiVersion: v1
kind: Pod
metadata:
name: redis
spec:
containers:
- name: redis
image: redis
volumeMounts:
- name: redis-storage
mountPath: /data/redis
volumes:
- name: redis-storage
emptyDir: {}
- 創(chuàng)建 Pod:
- 驗證 Pod 中的容器是否正在運行,然后留意 Pod 的更改:
kubectl get pod redis --watch輸出如下:
NAME READY STATUS RESTARTS AGE redis 1/1 Running 0 13s - 在另一個終端,用 shell 連接正在運行的容器:
kubectl exec -it redis -- /bin/bash - 在你的 Shell中,切換到 ?
/data/redis? 目錄下,然后創(chuàng)建一個文件:root@redis:/data# cd /data/redis/ root@redis:/data/redis# echo Hello > test-file - 在你的 Shell 中,列出正在運行的進程:
root@redis:/data/redis# apt-get update root@redis:/data/redis# apt-get install procps root@redis:/data/redis# ps aux輸出類似于:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND redis 1 0.1 0.1 33308 3828 ? Ssl 00:46 0:00 redis-server *:6379 root 12 0.0 0.0 20228 3020 ? Ss 00:47 0:00 /bin/bash root 15 0.0 0.0 17500 2072 ? R+ 00:48 0:00 ps aux - 在你的 Shell 中,結(jié)束 Redis 進程:
root@redis:/data/redis# kill其中 ?
? 是 Redis 進程的 ID (PID)。 - 在你原先終端中,留意 Redis Pod 的更改。最終你將會看到和下面類似的輸出:
NAME READY STATUS RESTARTS AGE redis 1/1 Running 0 13s redis 0/1 Completed 0 6m redis 1/1 Running 1 6m
kubectl apply -f https://K8S.io/examples/pods/storage/redis.yaml
此時,容器已經(jīng)終止并重新啟動。這是因為 Redis Pod 的 restartPolicy 為 ?Always?。
- 用 Shell 進入重新啟動的容器中:
kubectl exec -it redis -- /bin/bash - 在你的 Shell 中,進入到 ?
/data/redis? 目錄下,并確認(rèn) ?test-file? 文件是否仍然存在。root@redis:/data/redis# cd /data/redis/ root@redis:/data/redis# ls test-file - 刪除為此練習(xí)所創(chuàng)建的 Pod:
kubectl delete pod redis
新聞名稱:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes 配置Pod以使用卷進行存儲
轉(zhuǎn)載源于:http://www.5511xx.com/article/cdhisje.html


咨詢
建站咨詢
