docker swarm join

說明將節點以一般節點或管理節點的身分加入叢集
用法docker swarm join [選項] 主機:連接埠

Swarm 此指令適用於 Swarm Orchestrator。

說明

將節點加入到叢集中。節點會根據您使用 --token 旗標傳遞的權杖,以管理節點或工作節點的身分加入。如果您傳遞管理節點權杖,則節點將以管理節點身分加入。如果您傳遞工作節點權杖,則節點將以工作節點身分加入。

選項

選項預設值說明
--advertise-addr宣告位址(格式:<IP 位址|介面>[:連接埠]
--availabilityactive節點的可用性(activepausedrain
--data-path-addrAPI 1.31+ 用於資料路徑流量的位址或介面(格式:<IP 位址|介面>
--listen-addr0.0.0.0:2377監聽位址(格式:<IP 位址|介面>[:連接埠]
--token加入叢集的權杖

範例

將節點以管理節點身分加入叢集

以下範例示範如何使用管理節點權杖加入管理節點。

$ docker swarm join --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2 192.168.99.121:2377
This node joined a swarm as a manager.

$ docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
dkp8vy1dq1kxleu9g4u78tlag *  manager2  Ready   Active        Reachable
dvfxp4zseq4s0rih1selh0d20    manager1  Ready   Active        Leader

叢集最多應只有 3-7 個管理節點,因為叢集必須要有過半數的管理節點才能正常運作。不參與此管理仲裁的節點應以工作節點身分加入。管理節點應該是具有靜態 IP 位址的穩定主機。

將節點以工作節點身分加入叢集

以下範例示範如何使用工作節點權杖加入工作節點。

$ docker swarm join --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx 192.168.99.121:2377
This node joined a swarm as a worker.

$ docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
7ln70fl22uw2dvjn2ft53m3q5    worker2   Ready   Active
dkp8vy1dq1kxleu9g4u78tlag    worker1   Ready   Active        Reachable
dvfxp4zseq4s0rih1selh0d20 *  manager1  Ready   Active        Leader

--listen-addr 值

如果節點是管理節點,它將在此位址上監聽叢集管理流量。預設值是在 0.0.0.0:2377 上監聽。也可以指定網路介面來監聽該介面的位址;例如 --listen-addr eth0:2377

指定連接埠是選用的。如果值是單純的 IP 位址或介面名稱,則將使用預設連接埠 2377。

加入現有叢集時,通常不需要使用此旗標。

--advertise-addr 值

此旗標指定將向叢集中其他成員宣告的位址,以供 API 存取。如果未指定,Docker 將檢查系統是否具有單一 IP 位址,並使用該 IP 位址和監聽連接埠(請參閱 --listen-addr)。如果系統具有多個 IP 位址,則必須指定 --advertise-addr,以便為管理節點間通訊和覆蓋網路選擇正確的位址。

也可以指定網路介面來宣告該介面的位址;例如 --advertise-addr eth0:2377

指定連接埠是選用的。如果值是單純的 IP 位址或介面名稱,則將使用預設連接埠 2377。

加入現有叢集時,通常不需要使用此旗標。如果您要透過負載平衡器加入新節點,則應使用此旗標來確保節點宣告其 IP 位址,而不是負載平衡器的 IP 位址。

--data-path-addr

此旗標指定全域範圍網路驅動程式將發佈給其他節點的地址,以便連線到此節點上運行的容器。使用此參數可以將容器的數據流量與叢集的管理流量分開。如果未指定,Docker 將使用與發佈地址相同的 IP 地址或介面。

--token 字串

節點加入叢集所需的密鑰值

--availability

此旗標指定節點加入主節點時的可用性。可能的可用性值為 active(活動)、pause(暫停)或 drain(排除)。

此旗標在某些情況下很有用。例如,叢集可能希望擁有專用的管理節點,而不是作為工作節點。這可以通過將 --availability=drain 傳遞給 docker swarm join 來實現。