
Docker是众多用户上手入门的基础容器和编排工具,提供了良好的开发者体验。Kubernetes是强大的容器编排平台,功能丰富。它们有很多概念和操作都有类似之处。我们今天会和大家对比基本概念与常用命令,可以方便熟悉Docker的用户上手Kubernetes。
概念对照
类别 |
概念 |
Docker Swarm mode |
Kubernetes |
节点角色 |
主节点 |
Manager (其中一个选为leader) |
Master |
|
工作节点 |
Worker |
Worker |
工作负载 |
工作负载定义 |
Service |
Deployment |
|
部署单元 |
Task (Container) |
Pod |
|
伸缩定义 |
Replicated mode |
ReplicaSet |
|
全局服务 |
Global mode |
DaemonSet |
|
有状态服务 |
N/A (Compose V2定义了有状态服务) |
StatefulSet |
|
Job |
N/A (阿里云扩展定义了离线任务和定时任务模型) |
Job/CronJob |
|
服务发现 |
DNS |
DNS |
|
负载均衡 |
Endpoint mode(VIP/DNSRR) |
Service VIP |
|
服务路由 |
Routing Mesh (L4) , 阿里云扩展了丰富的4/7层路由支持
|
LB(L4阿里云提供了SLB路由支持)/Ingress (L7) |
|
Port |
PublishedPort |
Endpoint |
|
秘钥信息 |
Secret |
Secret |
|
配置信息 |
Config |
ConfigMap |
健康检查 |
健康检查 |
Health Check |
LivenessProbe |
|
就绪检查 |
Health Check配合start_period参数 |
ReadinessProbe |
资源限制 (CPU, Memory) |
Hard limits |
Limits |
Limits |
|
Soft limit |
Reserverations |
Requested |
调度约束 |
Node 亲和 |
Placement constraints |
NodeAffinity |
|
部署亲和 |
|
PodAffinity |
|
可用区 |
Placement preference |
|
存储 |
存储卷 |
Volume |
Volume/Persistent Volumes Claims |
网络 |
网络模型 |
CNM(Overlay, MacVLAN/IPVLAN, ...) |
CNI(Flannel, Calico, ...) |
|
DNS支持 |
内置 |
DNS Addon |
命令对照
分类 |
Docker |
Docker Swarm mode |
Kubernetes |
基本部署单位 |
docker run |
docker service create |
kubectl run/kubectl create deployment |
|
docker ps |
docker service ps |
kubectl get pods |
|
docker inspect |
docker service inspect |
kubectl describe pod |
|
docker attach |
|
kubectl attach |
|
docker exec |
|
kubectl exec |
|
docker logs |
docker service logs |
kubectl logs |
|
docker top |
|
kubectl top pod |
|
docker start |
|
|
|
docker stop |
|
|
|
docker rm |
docker service rm |
kubectl delete deployment |
|
|
docker service scale |
kubectl scale |
|
docker update |
docker service update |
kubectl rollout/update/kubectl replace |
|
|
docker service rollback |
kubectl rollout undo |
服务编排 |
|
docker stack deploy |
|
|
|
docker stack ls |
|
|
|
docker stack ps |
|
|
|
docker stack rm |
|
版本信息 |
docker version |
|
kubectl version |
|
docker info |
|
kubectl cluster-info |
|
|
docker node ls |
kubectl get nodes |
|
|
|
kubectl top node |
总结
今天通过Kubernetes与Docker Swarm模式基本概念与常用命令对照,来帮助熟悉Docker编排的同学上手Kubernetes 。
阿里云Kubernetes服务 全球首批通过Kubernetes一致性认证,简化了Kubernetes集群生命周期管理,内置了与阿里云产品集成,也将进一步简化Kubernetes的开发者体验,帮助用户关注云端应用价值创新。