容器编排方案
Docker Swarm、Kubernetes 等容器编排方案
📋 目录
Docker Swarm 基础
初始化 Swarm
# 初始化 Swarm
docker swarm init
# 加入 Swarm
docker swarm join --token <token> <manager-ip>:2377创建服务
# 创建服务
docker service create --replicas 3 -p 80:80 nginx:latest
# 查看服务
docker service ls
# 扩展服务
docker service scale my-service=5Kubernetes 基础
基本概念
- Pod:最小部署单元
- Deployment:管理 Pod 的副本
- Service:服务发现和负载均衡
部署应用
# 创建 Deployment
kubectl create deployment myapp --image=myapp:latest
# 暴露服务
kubectl expose deployment myapp --port=80 --type=LoadBalancer编排工具选择
Docker Swarm vs Kubernetes
| 特性 | Docker Swarm | Kubernetes |
|---|---|---|
| 复杂度 | 简单 | 复杂 |
| 功能 | 基础 | 丰富 |
| 适用场景 | 小到中型项目 | 大型项目 |
服务发现
Docker Swarm
# 服务自动发现
docker service create --name web nginx:latest
docker service create --name app --network web myapp:latest
# app 可以通过 web 名称访问负载均衡
Docker Swarm
# Swarm 内置负载均衡
docker service create --replicas 3 -p 80:80 nginx:latest