学习笔记4:docker和k8s选择简述

docker和 k8s

复制代码
占用资源 
使用客户体量

Docker 和 Kubernetes(K8s)都是流行的容器化技术,但它们在资源管理和使用上有一些不同。以下是关于两者资源占用和使用客户体量的详细比较,基于具体数据和信息:

Docker 资源占用

  1. CPU 和内存资源

    • Docker 容器可以通过 docker stats 命令查看其资源使用情况,包括 CPU 使用率、内存使用量、网络 I/O 和磁盘 I/O 等 。
    • Docker 允许通过 --cpu-shares--cpus--cpu-period--cpu-quota 等参数控制容器的 CPU 使用份额和限制 。
    • 内存资源可以通过 --memory--memory-swap 参数进行限制,确保容器不会消耗过多的内存资源 。
  2. 资源限制和请求

    • Docker 容器的资源限制和请求可以通过 docker run 命令中的参数进行设置,例如 -m--memory 来设置内存限制,--cpu-shares 来设置 CPU 份额 。
  3. 资源监控

    • 使用 docker stats --no-stream 命令可以查看容器的当前资源使用情况,包括 CPU、内存、网络 I/O 和磁盘 I/O 。

Kubernetes 资源占用

  1. 资源请求和限制

    • Kubernetes 允许为每个容器指定资源请求(requests)和限制(limits),这些信息会影响 Pod 的调度和资源分配 。
    • 资源请求是容器启动时所需的最小资源量,而资源限制是容器可以使用的最大资源量。如果容器尝试使用超过限制的资源,可能会被终止 。
  2. 资源类型

    • Kubernetes 中常见的资源类型包括 CPU 和内存。CPU 资源以 "cpu" 为单位,内存以字节为单位。还可以指定巨页(Huge Page)资源 。
  3. 资源配额

    • Kubernetes 通过 ResourceQuota 对象为每个命名空间提供资源使用限制,防止某个团队或用户过度消耗资源 。
    • 资源配额可以限制命名空间中 Pod 的总数、CPU 和内存的使用量等 。
  4. 资源监控

    • Kubernetes 通过 kubelet 将 Pod 的资源使用情况作为 Pod status 的一部分来报告。如果配置了监控工具,可以直接从指标 API 或监控工具获得 Pod 的资源使用情况 。

使用客户体量

  • Docker

    • Docker 适合小型到中型的应用,或者需要快速部署和运行单个容器的场景。它不需要复杂的集群管理,适合开发和测试环境 。
  • Kubernetes

    • Kubernetes 适合大规模、复杂的应用部署,支持高可用性和自动扩展。它适合生产环境和需要多容器协调运行的场景 。

选择建议

  • 小型应用或开发测试环境

    • 如果你的应用规模较小,或者主要在开发和测试环境中使用,Docker 可能是更好的选择。它简单易用,资源占用相对较低 。
  • 大规模生产环境

    • 如果你需要管理大量的容器,或者需要高可用性和自动扩展,Kubernetes 是更合适的选择。它提供了更强大的资源管理和调度能力 。

通过以上比较,你可以根据自己的具体需求和应用场景选择合适的容器化技术。

相关推荐
宋冠巡11 分钟前
Windows安装Docker(Docker Desktop)
windows·docker·容器
A林玖18 分钟前
【计算机相关学习】R语言
开发语言·学习·r语言
浪淘沙jkp31 分钟前
大模型学习三:DeepSeek R1蒸馏模型组ollama调用流程
学习·ollama·deepseek
nuo5342021 小时前
黑马 C++ 学习笔记
c语言·c++·笔记·学习
会讲英语的码农1 小时前
如何学习C++以及C++的宏观认知
开发语言·c++·学习
阿噜噜小栈1 小时前
最新国内可用的Docker镜像加速器地址收集
运维·笔记·docker·容器
云上艺旅1 小时前
K8S学习之基础六十八:Rancher创建deployments资源
学习·云原生·容器·kubernetes·rancher
海鸥813 小时前
podman和与docker的比较 及podman使用
docker·容器·podman
zhuyixiangyyds9 小时前
day21和day22学习Pandas库
笔记·学习·pandas
每次的天空10 小时前
Android学习总结之算法篇四(字符串)
android·学习·算法