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的开发者体验,帮助用户关注云端应用价值创新。