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

資訊專欄INFORMATION COLUMN

構建微型數據中心——在laptop上運行Rancher

dmlllll / 1108人閱讀

摘要:對于開發人員而言,他們的最終目標是擁有自己的數據中心,使他們能夠在貼近真實情況的副本上測試他們的服務。這個想法在最近的六個月來變得非常受歡迎,因為許多大型機構已經開始為開發人員提供一個完整的以讓數據中心能夠在本地運行。

對于開發人員而言,他們的最終目標是擁有自己的數據中心(data center),使他們能夠在貼近真實情況的副本上測試他們的服務。然而,開發人員的開發過程中卻充滿了妥協。因為,數據要么是個簡化集,要么被匿名,這加大了開發人員的開發難度。并且公司也還沒有準備好為每一位開發人員搭建一個數據中心。

今天,我將提供一個過程摘要來闡明如何使用Rancher和本地計算機減少開發人員在開發時的妥協。我們的目標是為開發人員提供盡可能具有代表性的環境,以至于其可被用于真實的生產環境中,我們將使用Docker和Rancher來做到這一點。

如果您遇到過下列任何一項煩惱:

共享的開發環境因多個問題而崩潰

測試數據不一致

網絡問題拖延開發進度

我希望能夠提供給您一些解決這些問題的想法。

Rancher and Docker can Help

一個所有服務都在裸機上運行的數據中心,無法將其復制到筆記本上。選擇使用虛機方式遷移則有助于這個過程,部分原因在于虛擬化可以讓用戶運行多個(agent)服務。這樣一來,硬件環境隨即成為問題的關鍵所在。無論是磁盤的輸入輸出不足以支持服務還是沒有足夠的內存,都會使得搭建一個產品級的生產環境副本以失敗告終。然而Docker和Rancher卻可以幫您解決這些難題。Docker幫您快速啟動容器,Rancher幫您解決編排、網絡和負載均衡等一系列問題。

通過這種組合,在您的筆記本電腦上運行數據中心逐漸變為可能。這個想法在最近的六個月來變得非常受歡迎,因為許多大型機構已經開始為開發人員提供一個完整的docker management layer以讓數據中心能夠在本地運行。許多公司正在進行這項投資,因為他們能夠獲得各種各樣的好處,其中包括:

開發人員在看到問題時更熟悉如何使用工具解決

開發人員在交付代碼之前能夠找出問題

開發人員能夠獨立工作,甚至離線工作

新的開發者可以在幾分鐘內進行工作,而不需要花費幾天或是幾周來適應開發環境

DevOps工作的主機永遠不會宕機。

那么,我們該如何做呢?出于寫這個博客的目的,我會假設正在Mac或Windows上使用Docker Toolbox。下載安裝和說明文件可以在這里找到https://www.docker.com/produc...。

首先,讓我們來看看它長什么樣子:

我們將運行兩個虛擬機,一個虛擬機只運行Rancher Server,另一個虛擬機作為主機運行并運行應用程序堆棧。用這樣的配置有幾個原因。首先,它對于真正的情形比較有代表性。其次,一旦出現問題,您的應用程序無法使Rancher因資源不足而發生饑餓現象。

所以,首先第一件事,讓我們創建一個具有512 GB和8 GB磁盤的VirtualBox虛擬機。

docker-machine create rancher --driver virtualbox --virtualbox-cpu-count "-1" --virtualbox-disk-size "8000" --virtualbox-memory "512" --virtualbox-boot2docker-url=https://github.com/boot2docker/boot2docker/releases/download/v1.10.3/boot2docker.iso

我們指定的URL指向的是Rancher能夠運行的Docker v1.10.3版本。

Docker Toolbox是在本地運行Docker的理想選擇,但運行它確實有一些挑戰性。原因之一是它使用了DHCP協議,如果你不想托管靜態服務的話,這將是一個不錯的選擇。但是,要繞開這個ssh協議連接到Rancher虛擬機的話,加上下面的這一行代碼到/var/lib/boot2docker/profile:

sudo cat /var/run/udhcpc.eth1.pid | xargs sudo killsudo ifconfig eth1  netmask  broadcast  up

此時,您將在docker-machine中出現一個關于IP地址不匹配的錯誤。您可以在主機操作系統上運行以下命令來解決這個問題:

docker-machine regenerate-certs rancher -f

這將給我們的Rancher服務器分配一個靜態IP地址。 然后,您可以運行:

docker run -d --restart=always -p 8080:8080 rancher/server

幾分鐘后,將有一個Rancher服務器在您指定的IP地址的8080端口上運行。保持Rancher服務器的IP地址不變很重要,因為這是我們部署的任何主機代理都需要訪問的地方。

登錄到Rancher服務器之后,轉到“添加主機(add host)”并生成自定義代理命令。復制這個命令并保留它,因為我們將使用這個命令來添加主機。

現在讓我們創建第二個虛擬機。使用與上述相同的命令,您可以自行調整虛擬機的名稱、內存和磁盤空間,以滿足您的開發需求。

等待虛擬機再一次啟動后,您可以進入并為其分配一個靜態IP地址。

現在,我們遇到了boot2docker虛擬機的另一個限制:其數據持久性的限制。

如果我們向主機添加一個Rancher代理,它會創建一個/var/lib/rancher文件夾并在其中存儲一些信息。如果重新啟動虛擬機,這些信息將被銷毀。因此,當代理再次出現時,主機會認為它是一個新的服務器,之前的服務器信息在那時就全部丟失了。

幸運的是,面對這樣的窘境有一個解決方法。在運行Rancher代理腳本日志到主機上之前,運行以下命令:

sudo mkdir /mnt/sda1/var/lib/rancher

這將創建一個文件夾,這個文件夾在重新啟動時能被保留下來。現在,在每次啟動時,我需要將此文件夾映射到/var/lib/rancher。因此,我們需要再次編輯/var/lib/boot2docker/profile并添加以下內容:

sudo mkdir /var/lib/ranchersudo mount -r /mnt/sda1/var/lib/rancher /var/lib/rancher

這將確保我們的代理狀態在重新啟動之間能被保留。

通過ssh協議連接到機器,并運行您從Rancher服務器獲得的自定義代理字符串。

現在您已經有了一個Rancher服務器,它的主機完全在本地運行,它的應用程序棧準備完畢等待您的部署。

在此,是否將它提高到一個新的水平取決于您自己。但現在,您有了一個可運轉的Rancher / Docker環境。您能夠從外部存儲庫拉取數據,編寫腳本在本地構建應用程序或者運行目錄中的條目。

雖然這種開發方式并不完美,但對于大多數情況來說是“足夠好”的了,并且這樣的開發方式值得分析參考,并以此作為繼續改進開發的方法。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27973.html

相關文章

  • 如何利用Rancher構建Piel.io的微服務交付

    摘要:作者將通過三篇跟大家分享一下他們是如何通過來構建的微服務交付的。第一篇,我將介紹下如何搭建自己的。第二篇,我將介紹下如何構建配置以及整合自己的。同時啟用了通過進行認證的訪問控制。 本文來自網站Piel.io的建設者,幾個月前,他們開始嘗試在Piel.io上使用Rancher來構建第一個微服務。作者將通過三篇blog跟大家分享一下他們是如何通過Rancher來構建Piel.io的微服務交...

    zebrayoung 評論0 收藏0
  • 使用Rancher和DroneCI建立超高速Docker CI/CD流水線

    摘要:本文作者為的架構師,他分享了使用和建立超高速流水線的經驗。月日,北京海航萬豪酒店,容器技術大會即將舉行。 Higher Education(highereducation.com)是一個連接學生與高校的入學申請平臺,通過引入高意圖和高質量的潛在學生,以及明確、有效的操作,為網站合作的大學吸引學生入學。每年Higher Education為其大學合作伙伴招收超過15000名在線學生入學申...

    dreamtecher 評論0 收藏0
  • 使用Convoy-NFS構建共享卷

    摘要:警告因為是的一個較新的服務,它只能在有限的幾個位置上使用。現在你可以開始從視圖中手動創建一個卷,或干脆創建一個使用和卷名的服務。我非常期待看到和中的共享卷會有什么下一步的發展。 如果你用過Docker你就會知道,共享卷和跨主機的數據訪問是個非常棘手的問題。雖然Docker的生態系統在逐漸走向成熟,但對大多數人來說,在不同環境中實現持久化存儲還是很麻煩的。幸運的是,Rancher一直在研...

    alin 評論0 收藏0
  • container-as-a-service-0x01 -- 基于Docker的私有云&混合

    摘要:基于的私有云混合云構建方案蘇依蜀黍是一個開源的引擎,可以輕松的為任何應用創建一個輕量級的可移植的自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括虛擬機集群和其他的基礎應用平臺。 container-as-a-service-0x01 -- 基于Docker的私有云&混合云構建方案 By 蘇依蜀黍 . 2016.06.07 what Docker是一...

    import. 評論0 收藏0

發表評論

0條評論

dmlllll

|高級講師

TA的文章

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