Kubernetes与Docker基本概念与常用命令对照

今天通过Kubernetes与Docker Swarm模式基本概念与常用命令对照,来帮助熟悉Docker编排的同学上手Kubernetes 。

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) LB(L4)/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 。

阅读余下内容

发表评论

电子邮件地址不会被公开。 必填项已用*标注


京ICP备12002735号