- 4台机器安装docker
- 同步命令,方便哇
工作模式:
搭建集群:
现在网络里面很干净:
帮助文档:
主要是 --advertise-addr string
- 在第一台机器上 初始化节点 docker swarm init
docker swarm join加入一个节点
获取令牌,两种
docker swarm join-token manager
docker swarm join-token worker
可以生成manager和worker的令牌
- 生成主节点init
- 加入(manager, worker)
Tips:
systemctl stop docker 停止docker
systemctl start docker 开启docker
rft协议:(高可用)
(一个节点挂了,服务还能不能用)
保证大多数节点存活才可以用:高可用。只要>1 ,要是集群,>3
实验:将docker停止
- worker 是工作的
体会:
弹性,扩缩容
以后告别 docker run
docker-compose up 启动一个项目,单机
集群:swarm docker service
容器 => 服务!
容器 => 服务 => 副本!
redis服务 => 10个副本!(同时开启10个redis容器)
体验:
创建服务、动态扩展服务、动态更新服务
体验:
灰度发布:金丝雀发布
docker service create
服务:动态扩缩容
docker service create -p 8888:80 --name my-nginx nginx
扩展为3个:
恢复1个
服务,集群中任意的节点都可以访问,服务可以有多个副本动态扩缩容实现高可用!
弹性,扩缩容!
10台!1000台!卖给别人,虚拟化!
服务的高可用,任何企业,云!
k8s!云原生应用
scale:
概念总结:
swarm
集群的管理和编号,docker可以初始化一个swarm集群,其他节点可以加入(管理,工作者)
Node
就是一个docker节点,多个节点组成了一个网络集群(管理,工作者)
Service 核心
任务,可以在管理节点和工作节点来运行。用户访问
Task
容器内的命令
命令->管理(manager)->api->调度->工作节点(创建Task容器,维护创建!)
-
k8s
拓展:网络模式:”PublishMode“:“ingress”
Swarm:
- Overlay:将机器加入到Overlay之后,机器之间ping通
- ingress:特殊的Overlay网络!负载均衡的功能!
-
Docker Stack
docker-compose 单机部署项目!
Docker Stack部署,集群部署
# 单机
docker-compose up -d wordpress.yaml
# 集群
docker stack deploy wordpress.yaml
Docker Secret
Docker Config
学习方式:
网上找案例跑起来试试,查看命令、帮助文档,官网
拓展到K8S
云应用
云原生时代
10台机器以上,优先考虑K8S
Go语言!必须掌握!
并发语言!
电商网站
在线教育平台
下载 => 配置计科
补充几张图: