首页 > 其他分享 >docker+k8s学习随笔

docker+k8s学习随笔

时间:2024-03-30 17:44:06浏览次数:22  
标签:随笔 机器 内存 15 docker k8s 我们

1.背景

作为一个程序员,每天都跟docker和k8s打交道,我只知道它们给程序员们提供了很大的便利,可以很轻松的扩展/缩减容器,但是却对具体的细节不了解。

也不知道为什么要使用docker和k8s,所以非常有必要去学习他们。

2.笔记

2.1 为什么要使用docker呢?

说到这个问题,我们先考虑一下如果不使用容器的概念来对我们日常开发的程序进行部署是什么样的情况?

假设我们要上线一个新的服务,预估QPS:30K,预估总内存使用量:20GB,预估总磁盘使用量:1000GB。

有了这样的预估数据,我们假设一台物理机器(服务器)能够支撑起2K的QPS,那么我们至少需要15台物理机;假设一台物理机是4GB的内存空间,那么我们会有60GB的总内存,这个时候我们可能会考虑一台机器2GB是否足够使用,如果足够使用的话,我们会将物理机的内存定在2GB,那么我们最终会有2*15=30GB的内存空间;磁盘空间的计算同理。

最终我们可能会有这样的购买清单:
4core cpu, 4GB 内存,80GB 物理磁盘  *  15 台

拿到机器后,我们会在机器上安装程序运行的所有软件,例如java,golang,mysql,redis等等。

在15台机器上都需要执行这样的安装操作,这就有点累了。

即便吩咐15个人同时安装,也是一件耗时耗力的工作啊...

这里我们就能看出来了,第一个问题就是部署安装太麻烦了!

费了九牛二虎之力之后,终于所有软件安装成功了,程序也如愿以偿地上线了,流量放开后,日均30K QPS打进来,运维同学有话要说了,他们发现机器无论是cpu还是内存以及磁盘都还有很大的富余。

对于中小公司来说,这些富余的资源似乎就被浪费了

后来采购部的领导低价采购一批配置略低的服务器,打算把这些部署好的服务迁移到价格低廉的服务器上面去,这下犯难了。

这可怎么迁移啊,又要重新装软件,重新部署,还有可能因为软件的版本跟之前装的不一致,产生兼容问题,这太难了

不同的硬件厂商对程序的支持程序也不一样,太难了。

这就是直接使用物理机的弊端!看的我头皮发麻。

那么呢,后来也是出现了虚拟机的概念,一台机器可以安装多个虚拟机,这样能解决资源浪费的问题。

 

标签:随笔,机器,内存,15,docker,k8s,我们
From: https://www.cnblogs.com/moretwicelove/p/18105788

相关文章

  • 【Docker】使用docker部署 mysql
    docker启动mysqldockerrun-d\--namemysql\-p3306:3306\-eTZ=Asia/Shanghai\-eMYSQL_ROOT_PASSWORD=123\mysqlSQLyog2058错误允许root,其他连接用密码登录ALTERUSER'root'@'%'IDENTIFIEDWITHmysql_native_passwordBY'123'......
  • Kubernetes超详细教程,一篇文章帮助你从零开始学习k8s,从入门到实战
    k8s概述k8sgithub地址:https://github.com/kubernetes/kubernetes官方文档:https://kubernetes.io/zh-cn/docs/home/k8s,全程是kubernetes,这个名字源于希腊语,意为"舵手"或"飞行员”k8s这个缩写是因为k和s之间有八个字符Google在2014年开源了k8s项目,k8s是一个......
  • Windows12安装Docker
    环境及工具(文末提供)DockerDesktopInstaller.exe(官网)一、查看windows相关配置查看是否开启相应的功能,如果没有需要开启,然后重启电脑打开任务管理器(CTRL+SHIFT+ESC)->选择性能->CPU->虚拟化,确认是否已启用二、开始安装(我这边已经安装完成)三、可能遇到的问题St......
  • 使用Docker快速部署开源商城
    目标使用Docker容器技术,快速部署一套可运行的SiCB2B2CShop商城系统。#准备Docker环境如果你使用Windows系统,我们需要安装使用DockerDesktop(Docker桌面)。如果你使用Linux系统,我们需要安装DockerEngine(Docker引擎\DockerCE)。安装Docker环境在新窗口打开#DcokerHub镜像......
  • 深入探讨Docker in Docker:原理与实战指南
    在软件开发和部署中,容器化技术已经成为一个不可或缺的工具。而在使用Docker进行容器化时,有时可能会遇到需要在一个Docker容器中运行另一个Docker容器的情况,这就是所谓的"DockerinDocker"(简称DinD)。本文将深入探讨DockerinDocker的原理和实战指南,帮助读者更好地理解和应......
  • Apollo注册中心docker-compose版本
    1、安装docker-ce#step1:安装必要的一些系统工具sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2#Step2:添加软件源信息sudoyum-config-manager--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#Step3sudosed-......
  • 使用Docker搭建Redis Cluster集群
    Cluster模式是Redis的一种高级集群模式,它通过数据分片和分布式存储实现了负载均衡和高可用性。在Cluster模式下,Redis将所有的键值对数据分散在多个节点上。每个节点负责一部分数据,称为槽位。通过对数据的分片,Cluster模式可以突破单节点的内存限制,实现更大规模的数据存储。Redis......
  • Docker介绍
    这篇文章并不是一个大众化的docker介绍,是本人在学习docker中遇到的问题和存在的疑惑在得到解答后所总结出来的内容。Docker是什么?Docker首先他是一个软件平台,让您可以快速构建、测试和部署应用程序。顾名思义他是一个项目构建部署的工具。但他和一些Maven之类的构建工具有所不......
  • k8s的安装与启动
    k8s是一个非常庞大的组件,对新手不太友好,由于版本升级和环境问题常常安装失败。这里记录一下2024年3月29日使用最新的k8s的安装和启动流程。我是在一台虚拟机中进行实验的,当前的虚拟机比较干净。先装一个docker,这个比较容易,在docker官网可以找到安装最新docker的教程。kernelmod......
  • CentOS7 下 Docker方式部署 nextcloud步骤
    本示范站点在操作系统Centos7环境下;根目录设在:/app/dapp/caihcloud/nextcloud/html,根据实际情况自行调整;假设你已经安装启动好mysql80。现在开始,步骤如下:1、执行安装命令yuminstalldocker-ysystemctlstartdocker//启动dockersystemctlenabledocker//设置开机启动......