Swirl:Docker Swarm 叢集管理的新選擇
SWIRL
GitHub 地址:https://github.com/cuigh/swirl
Swirl 是一個 Docker 管理工具,專注於 Swarm 叢集。
主要功能
- Swarm 各元件管理,包括服務、網路、任務等
- 映象與容器管理
- Compose 管理與部署
- 服務狀態監控(基於 Prometheus)
- 服務自動伸縮
- 支援 LDAP 認證
- 基於 RBAC 完整的許可權控制模型
- 支援橫向擴充套件部署
- 多語言支援
- 更多功能...
Snapshots
首頁
服務列表
服務監控
服務編排管理
系統設定
配置
使用配置檔案
所有選項都可以通過 config/app.yml
配置檔案來設定。
name: swirl
banner: false
web:
address: ':8001'
authorize: '?'
swirl:
db_type: mongo
db_address: localhost:27017/swirl
# docker_endpoint: tcp://docker-proxy:2375
log:
loggers:
- level: info
writers: console
writers:
- name: console
type: console
layout: '[{L}]{T}: {M}{N}'
使用環境變數
3 個主要的設定支援通過環境變數來設定,便於以 Docker 方式部署。
Name | Value |
---|---|
DB_TYPE | mongo |
DB_ADDRESS | localhost:27017/swirl |
DOCKER_ENDPOINT | tcp://docker-proxy:2375 |
AUTH_TIMEOUT | 4h |
使用 Swarm 的 Config 功能
Docker 從 v17.06 版本起,內建了配置管理模組,服務可以直接掛載儲存在叢集中的配置檔案,因此你也可以通過這種方式來掛載 Swirl 的配置檔案。
部署
獨立部署
編譯後把 swirl 執行檔案和 config/assets/views 這 3 個目錄複製到伺服器任意目錄中,直接執行即可。
./swirl
Docker 方式
docker run -d -p 8001:8001 \
--mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
-e DB_TYPE=mongo \
-e DB_ADDRESS=localhost:27017/swirl \
--name=swirl \
cuigh/swirl
Docker Swarm 方式
docker service create \
--name=swirl \
--publish=8001:8001/tcp \
--env DB_ADDRESS=localhost:27017/swirl \
--constraint=node.role==manager \
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
cuigh/swirl
Docker Compose 方式
Swirl 專案中已經包含了一個簡單的 Compose 部署檔案,你可以使用 Docker 的 stack 命令直接部署
docker stack deploy -c compose.yml swirl
高階特性
Swirl 使用服務標籤來實現一些高階的管理功能,下表中的標籤是目前已經支援的。
名稱 | 描述 | 示例 |
---|---|---|
swirl.scale | 用於控制服務自動伸縮 | swirl.scale=min=1,max=5,cpu=30:50 |
從原始碼構建
Swirl 使用 dep
作為依賴管理工具,下載原始碼後,你可以使用如下兩行簡單的命令來構建。
$ dep ensure
$ go build
許可證
This product is licensed to you under the MIT License. You may not use this product except in compliance with the License. See LICENSE and NOTICE for more information.
相關文章
- Docker Swarm:叢集DockerSwarm
- Docker Swarm叢集DockerSwarm
- Docker Swarm 叢集搭建DockerSwarm
- Docker Swarm叢集初探DockerSwarm
- Docker Swarm 叢集搭建教程DockerSwarm
- Docker swarm叢集搭建教程DockerSwarm
- docker 1.12 版本 docker swarm 叢集DockerSwarm
- Docker Swarm 叢集搭建實踐DockerSwarm
- Docker + Swarm + etcd 叢集搭建DockerSwarm
- 用docker-machine建立Docker Swarm叢集DockerMacSwarm
- Docker Swarm:建立伺服器叢集DockerSwarm伺服器
- Docker 學習筆記(第十集:docker 叢集管理工具 swarm )Docker筆記Swarm
- 如何配置一個 Docker Swarm 原生叢集DockerSwarm
- [第十五篇]——Swarm 叢集管理Swarm
- 使用Docker Swarm搭建分散式爬蟲叢集DockerSwarm分散式爬蟲
- 使用Docker Swarm快速搭建與部署你的服務叢集DockerSwarm
- 095、如何建立Swarm叢集?(Swarm02)Swarm
- Docker Swarm叢集中的服務發現DockerSwarm
- Swarm管理分散式dockerSwarm分散式Docker
- 『中級篇』在docker-swarm叢集裡透過serivce部署worDockerSwarm
- 用 Docker swarm 快速部署分散式圖資料庫 Nebula Graph 叢集DockerSwarm分散式資料庫
- Docker Swarm or Kubernetes ? Docker 叢集技術的楚漢爭霸!|航海日誌 Vol.18DockerSwarm
- swarm mode叢集之service分組Swarm
- swarm mode叢集搭建及簡單概念Swarm
- Docker Swarm + Harbor + Portainer 打造高可用,高伸縮,叢集自動化部署,更新。DockerSwarmAI
- (精華)2020年10月3日 微服務 Docker-叢集(swarm)微服務DockerSwarm
- 【Docker】 SwarmDockerSwarm
- Ceph分散式儲存叢集-硬體選擇分散式
- 為Hadoop叢集選擇合適的硬體配置Hadoop
- 用Docker搭建RabbitMq的普通叢集和映象叢集DockerMQ
- multipass指定virualbox搭建k8s叢集(選擇docker作為預設容器)K8SDocker
- 8天入門docker系列 —— 第八天 讓程式跑在swarm叢集上DockerSwarm
- Docker進階-資源管理Swarm+PortainerDockerSwarmAI
- Docker管理工具 - Swarm部署記錄DockerSwarm
- Docker Swarm modeDockerSwarm
- Docker搭建ELK叢集Docker
- docker部署mysql叢集DockerMySql
- docker搭建mysql叢集DockerMySql