国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用Convoy-NFS構(gòu)建共享卷

alin / 1304人閱讀

摘要:警告因為是的一個較新的服務(wù),它只能在有限的幾個位置上使用。現(xiàn)在你可以開始從視圖中手動創(chuàng)建一個卷,或干脆創(chuàng)建一個使用和卷名的服務(wù)。我非常期待看到和中的共享卷會有什么下一步的發(fā)展。

如果你用過Docker你就會知道,共享卷和跨主機(jī)的數(shù)據(jù)訪問是個非常棘手的問題。雖然Docker的生態(tài)系統(tǒng)在逐漸走向成熟,但對大多數(shù)人來說,在不同環(huán)境中實現(xiàn)持久化存儲還是很麻煩的。幸運的是,Rancher一直在研究這件事,并且想出了一個能獨特的、能解決大部分這個問題的方案。用共享存儲運行數(shù)據(jù)庫的方法仍沒有被廣泛推薦,但對于許多其他的情況,跨主機(jī)共享卷倒是一個很好的做法。

這個指南中的大部分內(nèi)容是受Rancher的一個線上Meetup的啟發(fā)。另外,如果你想自己從頭開始搭建Convoy-NFS,這個網(wǎng)頁上有一些有關(guān)NFS配置的信息,你也許能作為參考:https://github.com/rancher/ra...。

Rancher Convoy

如果你以前沒有聽說過Rancher的Convoy項目,我現(xiàn)在可以先簡單介紹一下。Rancher希望可以通過Convoy項目讓持久化容量存儲變得簡單方便。Convoy是一個非常棒的磁盤插件,因為它為用戶提供了多種不同的選擇。例如EBS卷和S3的支持,與VFS/NFS一起,為用戶提供了一些用于配置共享存儲的厲害并且靈活的選擇。

Dockerized-NFS

這里有一個小秘訣,教你怎樣啟動一個能和Convoy-NFS服務(wù)連接起來的Docker化的NFS服務(wù)器。Docker-NFS基本上是一個窮人的EFS。如果你想運行它,你必須有足夠的信心,相信服務(wù)器不會被毀,或相信你的數(shù)據(jù)無足輕重,即使丟失了也無所謂。你可以在這里找到更多我過去使用的Docker NFS服務(wù)器的信息。

給點進(jìn)階些的提議,我會建議你看看這個叫做彈性文件存儲或簡稱EFS的東西,它是 NFS的AWS實現(xiàn)。這個解決方案更簡單粗暴,它是一個隨時可用于生產(chǎn)的NFS服務(wù)器,你可以把它視為Convoy-NFS的后端。構(gòu)建EFS是很簡單的,不過它超出了這篇文章的討論范圍。你可以在這個鏈接中看看如何構(gòu)建和配置EFS。

警告:因為EFS是AWS的一個較新的服務(wù),它只能在有限的幾個位置上使用。(不過更多的可使用位置也很快會出現(xiàn))。

下面就是對于Docker-NFS服務(wù)器來說,你的docker-compose.yml 可能的樣子:

docker-nfs:
 image: cpuguy83/nfs-server
 privileged: true
 volumes:
 - /exports
 command:
 - /exports

在采用這個容器化的NFS服務(wù)器的方法時你可能會碰到的一個疑難雜癥是,你的主機(jī)要么沒有安裝NFS內(nèi)核模塊,要么沒有打開伴隨的服務(wù)。

在Ubuntu上很容易安裝內(nèi)核模塊,SSH到主機(jī)上, 運行NFS Server容器以及以下命令:

sudo apt-get install nfs-kernel-server

在CoreOS上,模塊是安裝了的,只是沒有打開。要啟用NFS,你需要SSH到對應(yīng)主機(jī)上,運行NFS Server容器,并運行下面的命令:

sudo systemctl start rpc-mountd
配置EFS

配置EFS是很容易的。用上面提到過的鏈接,你可以了解到創(chuàng)建一個能與Convoy連接的EFS卷的全部步驟。EFS共享卷既可以簡單配置成IP訪問,也可以深入地配置成通過DNS域名訪問。

在Rancher的社區(qū)應(yīng)用服務(wù)目錄里有一個新的目錄入口,有了它,你可以直接通過Convoy使用EFS卷,這能簡化某些配置。使用應(yīng)用服務(wù)目錄入口仍需要你先創(chuàng)建EFS share,但配置Convoy來與其連接的過程會簡單很多。只需要從AWS里復(fù)制出EFS ID,選擇其中你已創(chuàng)建共享的區(qū)域,然后指定要將EFS share安裝到本地的位置。“/efs”就是一個很好的在最開始測試東西的例子:

Convoy-NFS

目前,Rancher還提供另外一種名叫“Convoy-NFS”的應(yīng)用服務(wù)目錄項,來將容器連接到NFS Server上:

安裝程序是非常簡單的,但也有幾件事情要注意。首先,堆棧必須命名為“Convoy-NFS”,這是插件的名稱。其次,NFS Server應(yīng)該和在其上設(shè)置NFS Server的主機(jī)名相匹配。如果你創(chuàng)建的是Docker-NFS容器,記得使用容器的IP(為了寫這篇文章,我用了一個測試環(huán)境,因而只用了Rancher容器內(nèi)部IP來部署NFS Server)。當(dāng)你用EFS創(chuàng)建你的NFS share時,使用已配置的DNS的名稱。

最后一點要注意的是安裝選項和安裝點。這里的端口需要與將NFS Server 和(2049 for docker-nfs)配置在一起的端口相匹配,并且確保你打開了nfsver=4。另外,如果你要使用nfsvers=4選項,記得一定為MountDirectory用“/”。不使用nfsvers=4選項的話就用“/exports”。

最終一步的配置和下面看上去差不多:

proto=tcp,port=2049,nfsvers=4

你可以添加其他選項來調(diào)整共享,但這些都是最低限度的構(gòu)建所必需的組件。

給Rancher幾分鐘時間提供Convoy-NFS容器。一切完成后你就可以創(chuàng)建和攻擊NFS卷了。最快的檢查是否一切正常的方法,是點擊Infrastructure -> Storage Pools選項。如果你在視圖中看見了主機(jī),那你就可以開始準(zhǔn)備創(chuàng)建和分享卷了。

現(xiàn)在你可以開始從Storage Pools視圖中手動創(chuàng)建一個卷,或干脆創(chuàng)建一個使用Convoy-NFS driver和卷名的服務(wù)。

我將創(chuàng)建一個測試容器,它可跨越兩個主機(jī)共享相同的“test_volume”以及數(shù)據(jù),如下圖所示(我在本地使用了rancher-compose來堆棧,如果你覺得使用GUI更容易的話敬請使用GUI)。

test:
image: ubuntu
volume_driver: convoy-nfs
tty: true
volumes:
- test_volume:/data
command:
- bash

一個新的卷會在Storage Pools頁面上彈出來:

如果你想驗證是否一切運行正常,你可以將容器的數(shù)量擴(kuò)展到兩個或更多個。然后exec到一個容器中,在其中創(chuàng)建一個文件,看你能否從另一個容器中讀取這個文件,而且最好是在一個不同的主機(jī)上。如果這些都沒問題,你應(yīng)該已經(jīng)成功了:

在第一個容器中,我們可以編寫出文件:

在第二個容器中,我們可以重新讀取它,檢測一下共享存儲是否運行正常:

結(jié)論

隨著Convoy不斷的發(fā)展和壯大,我們會看到更多的部署的選擇。現(xiàn)在,NFS是穩(wěn)定的,能正常工作的。如果你已經(jīng)在使用AWS了,EFS會讓一切都變得更加容易。我非常期待看到Convoy和Rancher中的共享卷會有什么下一步的發(fā)展。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/28007.html

相關(guān)文章

  • Docker學(xué)習(xí)與和應(yīng)用(二)_使用Docker

    摘要:在前一篇文章學(xué)習(xí)與和應(yīng)用一初步認(rèn)識中,我們初步介紹了解決了什么問題,容器化技術(shù)與傳統(tǒng)的虛擬化方式的區(qū)別,以及簡要介紹了的幾大核心概念鏡像容器和倉庫。針對上述問題,提供了的,通過使用指令配置的方式來創(chuàng)建鏡像。 在前一篇文章 Docker學(xué)習(xí)與和應(yīng)用(一)_初步認(rèn)識中,我們初步介紹了Docker解決了什么問題,Docker容器化技術(shù)與傳統(tǒng)的虛擬化方式的區(qū)別,以及簡要介紹了Docker的幾大...

    Ocean 評論0 收藏0
  • ThinkJS 項目構(gòu)建 Docker 鏡像

    摘要:而項目代碼會隨著需求變更而經(jīng)常變化。項目啟動后一般會有兩個目錄會寫入文件。 其實這個話題很簡單,不是很想寫這篇文章。不過的確還是有很多朋友在打包構(gòu)建部署上存在一些問題,恰巧最近使用 Docker 部署了幾個 ThinkJS 相關(guān)的項目,所以還是拿出來說說吧。需要提前說明的是本文并不是 Docker 的基礎(chǔ)教程,默認(rèn)大家都是了解 Docker 的。然后我會分享一下我覺得 ThinkJS ...

    fuyi501 評論0 收藏0
  • Rancher v1.2震撼發(fā)布:更優(yōu)秀的全棧化容器部署與管理平臺

    摘要:模版用戶可以選擇不同的基礎(chǔ)設(shè)施服務(wù)組成模版同時還是有默認(rèn)的主要模版,用戶可以快速創(chuàng)建用戶也可以把的項目放到模版中,來管理和部署增強(qiáng)已經(jīng)大大簡化了管理和配置,在多節(jié)點部署中和已經(jīng)被去掉了。請保持關(guān)注,和一起走上偉岸光明的容器之路 開篇第一句,先為Rancher v1.2曾經(jīng)的跳票深深抱歉(鞠躬)。我們補(bǔ)償?shù)姆绞剑褪窃诖巳铡⒋丝蹋眯掳婀δ芟蚰阕C明Rancher v1.2值得你的等待。R...

    NervosNetwork 評論0 收藏0
  • k8s :構(gòu)建系統(tǒng)

    摘要:前言大型軟件,一般都有自己的構(gòu)建系統(tǒng),也不例外,本文簡要介紹構(gòu)建系統(tǒng)構(gòu)建流程以為例,在命令行執(zhí)行以下命令在源代碼根目錄文件中定位到目標(biāo),該目標(biāo)的動作是執(zhí)行腳本執(zhí)行將構(gòu)建過程拆分成一個個步驟,每個步驟 前言 大型軟件(linux,android .etc)一般都有自己的構(gòu)建系統(tǒng),k8s 也不例外,本文簡要介紹 k8s 構(gòu)建系統(tǒng) 構(gòu)建流程 release 以 quick-release 為...

    mumumu 評論0 收藏0
  • Docker技術(shù)之構(gòu)建鏡像和網(wǎng)絡(luò)模式解析

    Docker技術(shù)之構(gòu)建鏡像和網(wǎng)絡(luò)模式解析 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...

    不知名網(wǎng)友 評論0 收藏3004

發(fā)表評論

0條評論

alin

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<