1. 程式人生 > >docker swarm 叢集搭建

docker swarm 叢集搭建

準備好多臺已經安裝好docker的機器,沒有安裝好docker的可以參考我的另一篇關於docker安裝文件https://my.oschina.net/qbj/blog/3077245

1. 選擇manager節點,並建立叢集

隨便選擇一臺機器作為manager節點,在機器上執行:

docker swarm init --advertise-addr 當前機器的IP地址

執行完畢之後,出現如下情況代表成功,並複製紅色區域中的命令留有待用:

注:紅色區域中的token是叢集唯一標識,後續的其它節點機器,都需要通過紅色區域中的命令來加入當前叢集。

2. 新增叢集節點

  複製上一步驟中的紅色區域中的內容在其它節點機器上執行,執行成功會提示如下資訊:

This node joined a swarm as a worker.

所有節點加入完畢之後,可以在主節點上執行如下命令檢視節點情況:

docker node ls 

4. 部署Portainer

Portainer 為你的docker swarm叢集以及docker服務提供了視覺化管理。可以管理docker的堆疊,docker的網路,docker服務,docker映象,docker容器等等,一切靠命令方式執行的都可以去通過Portainer去在介面上去操作管理。

a. 準備docker-stack-manager.yml配置檔案

version: "3.2"
services:
#docker叢集視覺化工具
  portainer:
    image: portainer/portainer
    hostname: portainer
    ports:
      - "9000:9000"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/data/portainer:/data"
    deploy:
      replicas: 1
      placement:
        constraints: [node.role == manager]
      resources:
        limits:
#          cpus: '1'
          memory: 1GB
        reservations:
#          cpus: '0.2'
          memory: 512MB

b.  建立檔案目錄

mkdir -p /data/portainer/

chmod -R 777 /data/portainer/

c. 執行docker-stack-manager.yml檔案

docker stack deploy -c docker-stack-manager.yml manager --resolve-image=never

注意:命令必須在docker-stack-manager.yml同目錄下執行。執行完畢之後,請稍等片刻,安裝需要花費點時間,可以通過在manager上執行以下命令來檢視安裝進度:

docker service ls

d. 訪問介面地址 

http://叢集IP:9000

e. 開始配置賬號密碼

f.配置manager節點主機的資訊

注意: Name -- 隨便寫;Endpoint URL -- manager節點的IP:2375; 埠2375是預設埠。如果新增失敗,可以嘗試如下方法:

執行命令

vim /lib/systemd/system/docker.service

在ExecStart加入:

-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

重啟dokcer

systemctl daemon-reload

systemctl restart docker

5. 在各個節點配置私服映象倉庫

 在各個節點上私服映象倉庫地址

vim /etc/docker/daemon.json

如果已存在daemon.json,請在原來的基礎上加即可,如果有多個,以逗號隔開。配置如下:

{
"insecure-registries": ["私服IP地址1:私服埠","私服IP地址2:私服埠"],
"registry-mirrors": ["https://registry.docker-cn.com"]
}

重啟docker服務

systemctl daemon-reload

systemctl restart docker

驗證是否成功:

docker info

出現如下顯示,即表示成功

注意:每個節點都要按照上述步驟去配置

6.完成第5步之後,需要登入到Portainer,配置私服映象倉庫資訊

點選左側選單“registries”,點選”Add registry“,選擇”custom registry“,輸入私服映象倉庫資訊,有多個,就新增多次

到此,docker swarm叢集