天天看點

如何配置一個 Docker Swarm 原生叢集

如何配置一個 Docker Swarm 原生叢集

這裡給大家提供swarm 0.2開箱的即用一些特性。

swarm 0.2.0大約85%與docker引擎相容。

它支援資源管理。

它具有一些帶有限制和類同功能的進階排程特性。

它支援多個發現後端(hubs,consul,etcd,zookeeper)

它使用tls加密方法進行安全通信和驗證。

那麼,我們來看一看swarm的一些相當簡單而簡用的使用步驟吧。

<a target="_blank"></a>

我們必須在所有節點安裝docker 1.4.0或更高版本。雖然各個節點的ip位址不需要要公共位址,但是swarm管理器必須可以通過網絡通路各個節點。

注意:swarm目前還處于beta版本,是以功能特性等還有可能發生改變,我們不推薦你在生産環境中使用。

現在,我們将通過運作下面的指令來建立swarm叢集。各個節點都将運作一個swarm節點代理,該代理會注冊、監控相關的docker守護程序,并更新發現後端擷取的節點狀态。下面的指令會傳回一個唯一的叢集id标記,在啟動節點上的swarm代理時會用到它。

在叢集管理器上運作:

<code># docker run swarm create</code>

如何配置一個 Docker Swarm 原生叢集

creating swarm cluster

我們需要登入進我們将用來建立叢集的每個節點,并在其上使用-h标記啟動docker守護程序。它會保證swarm管理器能夠通過tcp通路到各個節點上的docker遠端api。要啟動docker守護程序,我們需要在各個節點内部運作以下指令。

<code># docker -h tcp://0.0.0.0:2375 -d</code>

如何配置一個 Docker Swarm 原生叢集

starting docker daemon

在啟用docker守護程序後,我們需要添加swarm節點到發現服務,我們必須確定節點ip可從swarm管理器通路到。要完成該操作,我們需要在各個節點上運作以下指令。

<code># docker run -d swarm join --addr=&lt;node_ip&gt;:2375 token://&lt;cluster_id&gt;</code>

如何配置一個 Docker Swarm 原生叢集

adding nodes to cluster

注意:我們需要用步驟2中擷取到的節點ip位址和叢集id替換這裡的&lt;node_ip&gt;和&lt;cluster_id&gt;。

現在,由于我們已經獲得了連接配接到叢集的節點,我們将啟動swarm管理器。我們需要在叢集管理器中運作以下指令。

<code># docker run -d -p &lt;swarm_port&gt;:2375 swarm manage token://&lt;cluster_id&gt;</code>

如何配置一個 Docker Swarm 原生叢集

starting swarm manager

一旦管理運作起來後,我們可以通過運作以下指令來檢查配置。

<code># docker -h tcp://&lt;manager_ip:manager_port&gt; info</code>

如何配置一個 Docker Swarm 原生叢集

accessing swarm clusters

注意:我們需要替換&lt;manager_ip:manager_port&gt;為運作swarm管理器的主機的ip位址和端口。

在一切都像上面說得那樣完美地完成後,這一部分是docker swarm最為重要的部分。我們可以使用docker cli來通路節點,并在節點上運作容器。

<code># docker -h tcp://&lt;manager_ip:manager_port&gt; run ...</code>

我們可以使用swarm list指令來擷取所有運作中節點的清單。

<code># docker run --rm swarm list token://&lt;cluster_id&gt;</code>

如何配置一個 Docker Swarm 原生叢集

listing swarm nodes

swarm真的是一個有着相當不錯的功能的docker,它可以用于建立和管理叢集。它相當易于配置和使用,當我們在它上面使用限制器和類同器時它更為出色。進階排程程式是一個相當不錯的特性,它可以應用過濾器來通過端口、标簽、健康狀況來排除節點,并且它使用政策來挑選最佳節點。那麼,如果你有任何問題、評論、回報,請在下面的評論框中寫出來吧,好讓我們知道哪些材料需要補充或改進。謝謝大家了!盡情享受吧 :-)

<b>原文釋出時間為:2015-07-29</b>

<b></b>

<b>本文來自雲栖社群合作夥伴“linux中國</b>