<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Kubernetes持久化存儲 ## 前言 之前我們有提到數據卷:`emptydir` ,是本地存儲,pod重啟,數據就不存在了,需要對數據持久化存儲 對于數據持久化存儲【pod重啟,數據還存在】,有兩種方式 - nfs:網絡存儲【通過一臺服務器來存儲】 ## 步驟 ### 持久化服務器上操作 - 找一臺新的服務器nfs服務端,安裝nfs - 設置掛載路徑 使用命令安裝nfs ```bash yum install -y nfs-utils ``` 首先創建存放數據的目錄 ```bash mkdir -p /data/nfs ``` 設置掛載路徑 ```bash # 打開文件 vim /etc/exports # 添加如下內容 /data/nfs *(rw,no_root_squash) ``` 執行完成后,即部署完我們的持久化服務器 ### Node節點上操作 然后需要在k8s集群node節點上安裝nfs,這里需要在 node1 和 node2節點上安裝 ```bash yum install -y nfs-utils ``` 執行完成后,會自動幫我們掛載上 ### 啟動nfs服務端 下面我們回到nfs服務端,啟動我們的nfs服務 ```bash # 啟動服務 systemctl start nfs # 或者使用以下命令進行啟動 service nfs-server start ``` ![image-20201119082047766](https://img.kancloud.cn/9b/79/9b79ad6c5743b8e9a22a2ca88f979bda_616x254.png) ### K8s集群部署應用 最后我們在k8s集群上部署應用,使用nfs持久化存儲 ```bash # 創建一個pv文件 mkdir pv # 進入 cd pv ``` 然后創建一個yaml文件 `nfs-nginx.yaml` ![image-20201119082317625](https://img.kancloud.cn/c4/3f/c43fc74e1be318c159eb6384491ee7ca_578x663.png) 通過這個方式,就掛載到了剛剛我們的nfs數據節點下的 /data/nfs 目錄 最后就變成了: /usr/share/nginx/html -> 192.168.44.134/data/nfs 內容是對應的 我們通過這個 yaml文件,創建一個pod ```bash kubectl apply -f nfs-nginx.yaml ``` 創建完成后,我們也可以查看日志 ```bash kubectl describe pod nginx-dep1 ``` ![image-20201119083444454](https://img.kancloud.cn/43/50/4350e4d0775ec281a058267f4ea718c0_1082x188.png) 可以看到,我們的pod已經成功創建出來了,同時下圖也是出于Running狀態 ![image-20201119083514247](https://img.kancloud.cn/79/95/799510234df4afcd47bb56749e8e65b9_701x177.png) 下面我們就可以進行測試了,比如現在nfs服務節點上添加數據,然后在看數據是否存在 pod中 ```bash # 進入pod中查看 kubectl exec -it nginx-dep1 bash ``` ![image-20201119095847548](https://img.kancloud.cn/bf/b6/bfb67e975b6c30e57e798cb23ba3f92d_941x140.png) ## PV和PVC 對于上述的方式,我們都知道,我們的ip 和端口是直接放在我們的容器上的,這樣管理起來可能不方便 ![image-20201119082317625](https://img.kancloud.cn/c4/3f/c43fc74e1be318c159eb6384491ee7ca_578x663.png) 所以這里就需要用到 pv 和 pvc的概念了,方便我們配置和管理我們的 ip 地址等元信息 PV:持久化存儲,對存儲的資源進行抽象,對外提供可以調用的地方【生產者】 PVC:用于調用,不需要關心內部實現細節【消費者】 PV 和 PVC 使得 K8S 集群具備了存儲的邏輯抽象能力。使得在配置Pod的邏輯里可以忽略對實際后臺存儲 技術的配置,而把這項配置的工作交給PV的配置者,即集群的管理者。存儲的PV和PVC的這種關系,跟 計算的Node和Pod的關系是非常類似的;PV和Node是資源的提供者,根據集群的基礎設施變化而變 化,由K8s集群管理員配置;而PVC和Pod是資源的使用者,根據業務服務的需求變化而變化,由K8s集 群的使用者即服務的管理員來配置。 ### 實現流程 - PVC綁定PV - 定義PVC - 定義PV【數據卷定義,指定數據存儲服務器的ip、路徑、容量和匹配模式】 ### 舉例 創建一個 pvc.yaml ![image-20201119101753419](https://img.kancloud.cn/6d/74/6d742c9f9c91c5b8eaa764c0bdc87b79_604x652.png) 第一部分是定義一個 deployment,做一個部署 - 副本數:3 - 掛載路徑 - 調用:是通過pvc的模式 然后定義pvc ![image-20201119101843498](https://img.kancloud.cn/1d/9e/1d9ec6ed27eb92a22877651a6affaaec_596x294.png) 然后在創建一個 `pv.yaml` ![image-20201119101957777](https://img.kancloud.cn/74/9a/749a3fbd2eef26e84fd6b93731ee25ec_549x330.png) 然后就可以創建pod了 ```bash kubectl apply -f pv.yaml ``` 然后我們就可以通過下面命令,查看我們的 pv 和 pvc之間的綁定關系 ```bash kubectl get pv, pvc ``` ![image-20201119102332786](https://img.kancloud.cn/4b/b7/4bb73703344579580df269bb9b16080f_1163x135.png) 到這里為止,我們就完成了我們 pv 和 pvc的綁定操作,通過之前的方式,進入pod中查看內容 ```bash kubect exec -it nginx-dep1 bash ``` 然后查看 /usr/share/nginx.html ![image-20201119102448226](https://img.kancloud.cn/63/f6/63f6b92a74c7d92a684d0c0e10191c9d_1149x125.png) 也同樣能看到剛剛的內容,其實這種操作和之前我們的nfs是一樣的,只是多了一層pvc綁定pv的操作
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看