其他分享
首页 > 其他分享> > Docker Swarm集群搭建、弹性扩缩容

Docker Swarm集群搭建、弹性扩缩容

作者:互联网

官方文档: https://docs.docker.com/engine/swarm/swarm-tutorial/

工作模式

image

搭建集群

docker swarm --help 
# 查看私网IP地址
ip addr 

docker swarm init --advertise-addr 192.168.98.224

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-2izj4yg08taobo19tjb9ci3r0w3lwkxxq8gvwx0d71zi71gize-8c4desxvd2mxt14zwv5sjneel 192.168.98.224:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
# 初始化主节点 后面可以加入主节点或者工作节点
docker swarm init 

# 加入一个节点
docker swarm join 
# 创建manager节点命令
docker swarm join-token manager
# 创建worker节点命令
docker swarm join-token worker

# 查看节点 只有manager节点可以使用该命令
docker node ls 

# 离开集群
docker swarm leave

Raft一致性协议

保证大多数节点存活才可以使用

Swarm集群弹性创建服务

docker run : 容器启动 不具备扩缩容
docker-compose up : 启动一个项目、单机
dockck swarm : 集群, docker service .分布在不同主机上
image

# 启动服务
docker service create -p 8888:80 --name swarm-nginx nginx

# 查看服务
docker service ps swarm-nginx
docker service ls
docker service inspect swarm-nginx

# 扩容
docker service update --replicas 3 swarm-nginx
# 或者使用 scale 扩容
docker servcie scale swarm-nginx=3

# 移除服务
docker service rm swarm-nginx

集群中任意的节点都可以访问,服务可以有多个副本动态扩缩容实现高可用

概念总结

Docker Swarm

image

Service

image

docker service create流程

image

服务副本与全局服务

image

调整Service以什么方式运行

# 默认在工作节点创建服务
docker service create --mode replicated --name mytomcat tomcat:7

docker service create --mode global --name mytomcat tomcat:7

# 场景:日志收集、服务监控、状态性能
每一个节点都有自己的日志收集器,过滤日志后把所有日志最终传给日志中心

扩展

网络模式: PublishMode: ingress

模式
Overlay 跨机器互通 网络变成一个整体
ingress 特殊的Overlay网络 具有负载均衡功能
docker network inspect ingress

image

Docker Stack

# 单机
docker-compose up -d wordpress.yml
# 集群
docker stack deploy wordpress.yml

Docker Secret

配置密码、证书

Docker Config

标签:service,swarm,--,扩缩容,节点,Swarm,集群,Docker,docker
来源: https://www.cnblogs.com/mingpingyao/p/15468700.html