当前位置: 首页 > news >正文

学习笔记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 是更合适的选择。它提供了更强大的资源管理和调度能力 。

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

http://www.lryc.cn/news/408878.html

相关文章:

  • 关于锁策略
  • 昇思25天学习打卡营第3天|基础知识-数据集Dataset
  • C++11新特性——智能指针——参考bibi《 原子之音》的视频以及ChatGpt
  • “微软蓝屏”全球宕机,敲响基础软件自主可控警钟
  • 【Linux C | 网络编程】进程间传递文件描述符socketpair、sendmsg、recvmsg详解
  • 高并发内存池(六)Page Cache回收功能的实现
  • 浅析JWT原理及牛客出现过的相关面试题
  • Spring AI (五) Message 消息
  • 【windows Docker desktop】在git bash中报错 docker: command not found 解决办法
  • 02.FreeRTOS的移植
  • 【个人笔记】一个例子理解工厂模式
  • 【C语言】数组栈的实现
  • kafka 各种选举过程
  • 树与二叉树【数据结构】
  • 简单几步,把浏览器书签转换成导航网页
  • Mac安装Hoomebrew与升级Python版本
  • 代码审计:Bluecms v1.6
  • 谷粒商城实战笔记-59-商品服务-API-品牌管理-使用逆向工程的前后端代码
  • 如何利用Jenkins自动化管理、部署数百个应用
  • Java之归并排序
  • 了解ChatGPT API
  • EasyAnimate - 阿里开源视频生成项目,国产版Sora,高质量长视频生成 本地一键整合包下载
  • 7月23日JavaSE学习笔记
  • Linux——DNS服务搭建
  • C#中的wpf基础
  • 基于微信小程序+SpringBoot+Vue的刷题系统(带1w+文档)
  • SSH -i的用法
  • 小白学习webgis的详细路线
  • 使用ChatGPT来撰写和润色学术论文的教程(含最新升级开通ChatGpt4教程)​​
  • 常见的 HTTP 状态码分类及说明