日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

构建微型数据中心——在laptop上运行Rancher

發布時間:2023/12/6 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 构建微型数据中心——在laptop上运行Rancher 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于開發人員而言,他們的最終目標是擁有自己的數據中心(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/products/docker-toolbox。


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



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


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

1 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:

1 sudo?cat?/var/run/udhcpc.eth1.pid?|?xargs?sudo?killsudo?ifconfig?eth1?<ip?address?to?assign>?netmask?<subnet?mask>?broadcast?<broadcast?address>?up

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

1 docker-machine?regenerate-certs?rancher?-f

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

1 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代理腳本日志到主機上之前,運行以下命令:

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

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

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

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


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


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


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


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



本文轉自 RancherLabs 51CTO博客,原文鏈接:http://blog.51cto.com/12462495/1906612

總結

以上是生活随笔為你收集整理的构建微型数据中心——在laptop上运行Rancher的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。