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 學習筆記(第十集:docker 叢集管理工具 swarm )Docker筆記Swarm
- [第十五篇]——Swarm 叢集管理Swarm
- 使用Docker Swarm搭建分散式爬蟲叢集DockerSwarm分散式爬蟲
- 使用Docker Swarm快速搭建與部署你的服務叢集DockerSwarm
- 095、如何建立Swarm叢集?(Swarm02)Swarm
- Docker Swarm or Kubernetes ? Docker 叢集技術的楚漢爭霸!|航海日誌 Vol.18DockerSwarm
- 用 Docker swarm 快速部署分散式圖資料庫 Nebula Graph 叢集DockerSwarm分散式資料庫
- (精華)2020年10月3日 微服務 Docker-叢集(swarm)微服務DockerSwarm
- 『中級篇』在docker-swarm叢集裡透過serivce部署worDockerSwarm
- swarm mode叢集之service分組Swarm
- swarm mode叢集搭建及簡單概念Swarm
- Docker Swarm + Harbor + Portainer 打造高可用,高伸縮,叢集自動化部署,更新。DockerSwarmAI
- 【Docker】 SwarmDockerSwarm
- multipass指定virualbox搭建k8s叢集(選擇docker作為預設容器)K8SDocker
- 基於Docker和Kubernetes構建的部署管理和叢集管理Docker
- 用Docker搭建RabbitMq的普通叢集和映象叢集DockerMQ
- 8天入門docker系列 —— 第八天 讓程式跑在swarm叢集上DockerSwarm
- Docker進階-資源管理Swarm+PortainerDockerSwarmAI
- Docker Swarm modeDockerSwarm
- 如何為Kafka叢集選擇合適的Topic/Partitions數量Kafka
- Kubernetes叢集選擇最佳設定推薦方案 - daniele
- Docker 搭建叢集 MongoDBDockerMongoDB
- docker-redis叢集DockerRedis
- docker搭建consul叢集Docker
- docker部署mysql叢集DockerMySql
- docker搭建mysql叢集DockerMySql
- Docker搭建ELK叢集Docker
- Docker搭建Redis叢集DockerRedis
- Docker Elasticsearch 叢集配置DockerElasticsearch
- Docker部署ElasticSearch叢集DockerElasticsearch
- Terraform部署容器服務Swarm叢集及WordPress應用ORMSwarm
- 如何選擇Kubernetes叢集最佳的自動擴充套件策略? - Daniele套件
- 管理 ES 叢集:集常見的叢集部署方式