容器运行时工具
- docker(推荐):完善,底层用的containerd,但是加了Docker CLI、docker build、docker-compose、网络/存储/编排等全套工具
- containerd(不推荐):不完善,涉及的领域没有docker多。只做"容器生命周期管理+镜像拉取",没有用户界面、没有构建能力
1、docker有docker-compose,一键部署多个容器,但是containerd只有ctr/crictl没有compose,没有build,日常用麻烦
2、docker支持docker build + Dockerfile,直接从代码构建镜像。自带镜像管理、网络、存储卷、日志、监控等,开箱即用。containerd只做"运行容器",不负责构建、编排、网络配置。
3、很多公司技术栈/脚本/CICD都是基于docker API/CLI写的,切换成本高。很多老系统、第三方工具(如Jenkins、CitLab CI)只兼容Docker
K8S现在不支持docker了吗?
支持的。
不是不能用Docker,只是不能再用dockershim直接连dockerd。k8s 1.24移除了用dockershim
旧链路:kubelet --> dockershim --> dockerd --> containerd -->runc
新链路:kubelet --> containerd --> runc
少了一层适配,延迟降低了 5-15%,内存省约100MB/节点
K8S部署
- 使用kubeadm快速部署k8s集群(新手)
- 使用kubeadm快速部署k8s高可用集群(新手)
- 使用二进制部署k8s高可用集群(Runtime Docker)
- 使用二进制部署k8s高可用集群(Runtime Containerd)
MySQL能部署到k8s中吗?
能。