docker swarm
Swarm:集群,docker原生的集群管理工具
是一个由部署了service的docker engine或nodes组成的集群
docker swarm –help
node:节点,本质上是一个docker engine
参与到docker集群化的docker engine的实例
docker node –help
manager node: 分发原子化的工作(task)给worker node, 可以维护worker node的状态
worker node
service: 服务, docker image + command
docker节点执行的任务的定义,docker集群系统的中心结构及与用户交互的根源
docker service –help
例: docker service create –replicas 1 –name helloworld alpine:latest ping docker.com
replicated services: manager node分布指定数量的task到node
global services: 集群中所有的node都运行
Load balancing
service discovery and load balance 基于linux kernal的iptables和ipvs特点
ingress load balancing:指定一个PublishedPort,访问任何node的端口的reuqest都会被负载均衡
internal load balancing: DNS会将域名转换成一系列的ip地址,经过default address selection过滤后被client使用。
default adress selection定义在rfc3484, 包括源地址选择和目标地址选择两个算法。