您的当前位置:首页正文

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

来源:花图问答

摘要: Docker是众多用户上手入门的基础容器和编排工具,提供了良好的开发者体验。Kubernetes是强大的容器编排平台,功能丰富。它们有很多概念和操作都有类似之处。我们今天会和大家对比基本概念与常用命令,可以方便熟悉Docker的用户上手Kubernetes。

Docker是众多用户上手入门的基础容器和编排工具,提供了良好的开发者体验。Kubernetes是强大的容器编排平台,功能丰富。它们有很多概念和操作都有类似之处。我们今天会和大家对比基本概念与常用命令,可以方便熟悉Docker的用户上手Kubernetes。

概念对照

类别概念Docker Swarm modeKubernetes

节点角色主节点Manager (其中一个选为leader)Master

工作节点WorkerWorker

工作负载工作负载定义ServiceDeployment

部署单元Task (Container)Pod

伸缩定义Replicated modeReplicaSet

全局服务Global modeDaemonSet

有状态服务N/A (Compose V2定义了有状态服务)StatefulSet

服务发现DNSDNS

负载均衡Endpoint mode(VIP/DNSRR)Service VIP

PortPublishedPortEndpoint

秘钥信息SecretSecret

配置信息ConfigConfigMap

健康检查健康检查Health CheckLivenessProbe

就绪检查Health Check配合start_period参数ReadinessProbe

资源限制 (CPU, Memory)Hard limitsLimitsLimits

Soft limitReserverationsRequested

调度约束Node 亲和Placement constraintsNodeAffinity

部署亲和PodAffinity

可用区Placement preference

存储存储卷VolumeVolume/Persistent Volumes Claims

网络网络模型CNM(Overlay, MacVLAN/IPVLAN, ...)CNI(Flannel, Calico, ...)

DNS支持内置DNS Addon

命令对照

分类DockerDocker Swarm modeKubernetes

基本部署单位docker rundocker service createkubectl run/kubectl create deployment

docker psdocker service pskubectl get pods

docker inspectdocker service inspectkubectl describe pod

docker attachkubectl attach

docker execkubectl exec

docker logsdocker service logskubectl logs

docker topkubectl top pod

docker start

docker stop

docker rmdocker service rmkubectl delete deployment

docker service scalekubectl scale

docker updatedocker service updatekubectl rollout/update/kubectl replace

docker service rollbackkubectl rollout undo

服务编排docker stack deploy

docker stack ls

docker stack ps

docker stack rm

版本信息docker versionkubectl version

docker infokubectl cluster-info

docker node lskubectl get nodes

kubectl top node

总结

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