一文读懂Docker、K8s

news2025/1/11 12:44:16

目标:

  1. docker原理以及在运维工作的地位和作用,运维工作进化论,docker、微服务、k8s的联系、devops和docker的关系,docker的前世今生
  2. 容器、镜像和仓库、
    1. 容器和虚拟化,优势和劣势,底层的核心
    2. 容器除了docker还有什么选择
    3. docker的安装以及三大核心:容器、镜像、仓库
  1. docker的实际应用,docker的常用命令以及注意事项,镜像的原理,dockerfile的作用和应用,docker的永久存储和网络通信
  2. docker实际工作案例实现,搭建一台私有仓库,镜像仓库的上传和拉取,管理仓库,微服务的概念,用docker实现一个实际案例

Docker原理以及在运维工作的地位和作用

运维工作进化论:测试环境和生产环境

  1. LNMP是一套技术组合

L=Linux、N=Nginx、M=Mysql、P=PHP

Nginx服务不能处理动态请求

静态请求:请求静态文件或者html页面,服务器上存在的html文件

动态请求:动态页面上的内容存在与数据库中,根据用户发出的不同的请求,其提供个性化的网页内容,大大降低网站维护的工作量

当用户发起http请求,请求会被Nginx处理,如果是静态资源请求,Nginx会直接返回,如果是动态请求,Nginx通过fastcgi协议转交给后端的PHP程序处理

  1. 一台服务器
  2. 更新用ftp

FTP有着极高的延时。从开始请求到第一次接收需求数据的时间非常长,并且会执行一些冗余的登录进程。

运维生产环境的发展

  1. 生产后有了一定程度的流量,需要运营和测试等部门给出数据,根据数据考虑冗余
  2. 防止单点故障,保证业务稳定,做HA集群
  3. 节约成本,使用共有云服务器,提前部署
  4. 更新方式太过原始,测试环境使用git,并且搭建使用gitlab或gogs

原生产环境

  1. 多点集群单体应用,多点集群服务一个单体应用
  2. 共有云,一种按使用量付费的模型,用户可以随时随地、便捷地、按需地从可配置的计算资源共享池中获取所需的计算资源(网络、服务器、存储、应用程序等服务)。这些资源可以快速供给和释放,用户只需投入较少的管理工作。公有云,云计算运营商拥有超大规模基础设施,对外提供云服务
  3. git更新

虚拟化和云计算

  1. 物理隔离,2005年以前,大多数企业采用物理方法,将内网与外网隔离。从而避免入侵或信息泄露的技术手段。保证网络的保密性,安全性、完整性、防抵御性和高可用性。但是资源 利用率极低,灵活性差,成本高
  2. 虚拟化的技术,2008年左右,企业开始使用虚拟化技术,通过硬件和软件,实现物理架构资源的重新整合利用,可用用一台物理机,通过虚拟化,划分为多套系统,在系统之内进行多方位隔离,隔离之后相当于多台服务器。大幅降低了IT硬件成本,减少资源浪费,提升了系统的稳定性和安全性
  3. 云计算(概念),2018年至今,大部分企业开始使用云计算技术。分布式计算技术透过网络庞大的计算处理程序,自动分拆成无数个子程序。然后,交由多部服务器组成的系统进行搜寻、计算、分析之后,将处理结果回传给用户。

运维生产环境的发展

  1. 生产环境
    1. 多点负载均衡单体应用
    2. 混合云
      1. 提供既能在公共空间又在私有空间中的服务。混合云把公用云模式与专用云模式结合在一起。混合云有助于提供所需的、外部供应的扩展
    1. devops
      1. 原始的互联网公司工作模式是瀑布流,但用户越多、需求越大,公司的管理,人力成本都是问题。而如果更新间隔太慢,一定会导致用户的满意度下滑。DevOps的观念应运而生。所以DevOps是一个必然趋势,是一种方法,也是一种观念
      2. DevOps打破开发人员和运维人员的壁垒,根据需求情况,把需求拆分成多个小需求,小步快跑大幅增加需求完成的频率。运用自动化和CI、CD的概念,运用工具,实现稳定、快速的版本更新上线。对运维人员的技术要求和经验大大提升

  1. 新型生产环境
    1. 生产环境主要分为:多点负载均衡单体应用,docker和devops
    2. Docker于2013年初开源,基于Linux内核的cgroup,namespace,以及AUFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。容器就是一个技术类型,而docker是当下最主流的一种能够实现容器的方案
    3. 其他方案包括:LXC、Mesos、PKT等等,docker或者容器和传统虚拟化最大的区别,就是虚拟化的封装是系统级的封装,docker或者其他容器是进程级的封装

  1. 微服务就是将前端拆分成各个模块,然后连接到服务器,微服务需要跑多个容器,容器多又会涉及到通信、架构、伸缩、更新、监控等 问题
  2. K8s容器编排管理工具
    1. k8S的自愈功能是指重新 启动失败的容器,在节点不可用时,替换和重新调度节点上的容器
    2. k8s的弹性伸缩功能,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/75229.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是项目管理软件,能带来哪些作用?

在这个信息化时代,企业的项目管理除了需要一位出色的项目管理者外,还需要借助项目管理软件来对项目进行全面管理。因为如今的项目需求多样化,内容也愈加丰富,传统的项目管理方式已经难以满足,所以很多项目管理软件也应…

[附源码]JAVA毕业设计小型医院药品及门诊管理(系统+LW)

[附源码]JAVA毕业设计小型医院药品及门诊管理(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项…

CMake中add_subdirectory的使用

CMake中的add_subdirectory命令用于将子目录添加到构建,其格式如下: add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL] [SYSTEM]) source_dir指定源CMakeLists.txt和代码文件所在的目录。如果它是相对路径,则将相对于当前目录(…

毕业设计 - java web 酒店管理系统的设计与实现【源码+论文】

文章目录前言一、项目设计1. 模块设计总体设计具体模块数据库部分设计2. 实现效果二、部分源码项目源码前言 今天学长向大家分享一个 优秀的毕业设计项目: 酒店管理系统的设计与实现 源码获取方式: https://gitee.com/sinonfin/L-javaWebSha/tree/master 一、项目设计 1. 模…

FreeRTOS任务切换过程深层解析

FreeRTOS 系统的任务切换最终都是在 PendSV 中断服务函数中完成的,uCOS 也是在 PendSV 中断中完成任务切换的。 【为什么用PendSV异常来做任务切换】 PendSV 可以像普通中断一样被 Pending(往 NVIC 的 PendSV 的 Pend 寄存器写 1)&#xff…

Spark零基础入门实战(五)使用Eclipse创建Scala项目

本节讲解在Windows中使用Scala for Eclipse IDE编写Scala程序。 安装Scala for Eclipse IDE Scala for Eclipse IDE为纯Scala和混合Scala与Java应用程序的开发提供了高级编辑功能,并且有非常好用的Scala调试器、语义突出显示、更可靠的JUnit测试查找器等。 Scala for Eclip…

重磅首发!腾讯前晚最新爆出的“JVM学习笔记”,GitHub已评“钻级”,看完我爱了!

前言 “JVM”,一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。有了JVM后,Java语言在不同平台上运行时不需要重新编译,为我们提供了极大的便利性,现在在面试当中“JVM”相关的知识是必问…

5分钟部署云计算|云原生监控平台Prometheus-尚文网络xUP楠哥

~~全文共1277字,阅读需约5分钟。 进Q群11372462,领取专属报名福利,包含云计算学习路线图代表性实战训练大厂云计算面试题资料! # Prometheus介绍 Prometheus是由Go编写的时间序列监控数据库,在目前云计算|云原生时代非常流行&am…

分析linux内核qspi驱动层次

【推荐阅读】 需要多久才能看完linux内核源码? 概述Linux内核驱动之GPIO子系统API接口 https://mp.csdn.net/mp_blog/creation/editor/127819883 一篇长文叙述Linux内核虚拟地址空间的基本概括 纯干货,linux内存管理——内存管理架构(建议收藏…

【LeetCode每日一题】——237.删除链表中的节点

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【时间频度】九【代码实现】十【提交结果】一【题目类别】 链表 二【题目难度】 中等 三【题目编号】 237.删除链表中的节点 四【题目描述】 有一个单链…

[附源码]JAVA毕业设计小区失物招领网站(系统+LW)

[附源码]JAVA毕业设计小区失物招领网站(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术…

网红家电逐渐沉寂,家电企业如何利用APS排产调整生产?

随着生活水平的提高,近年来的消费行业逐渐呈现出消费升级、个性化、多元化趋势。在这些趋势下,一大批网红小家电产品迅速出现,以创新性的功能和设计,满足消费者新需求。 近年来,小家电领域已经成为网红爆款产品的集中地…

OpenAI ChatGPT注册步骤(超详细!!!)

最近,很火的OpenAI ChatGPT,大伙都跃跃欲试。 由于注册过程比较麻烦,我整理了一下注册步骤。 一、前期准备: 1、梯子(需要科学上网,准备墙外代理) 2、国外接码平台,推荐sms-activ…

java计算机毕业设计ssm学生课堂考勤小程序947n4(附源码、数据库)

java计算机毕业设计ssm学生课堂考勤小程序947n4(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xf…

sprites精灵图+字体图标

1、sprites精灵图 使用精灵图就是为了减少网页请求服务器发送图片的次数,把一些小图标都放到一张图片(称为精灵图)精确单位,就不会请求服务器多次了 使用精灵图核心: 精灵技术主要针对于背景图片使用,就是把多个小背景图片整合到…

Qt-数据库开发-外键使用(4)

Qt-数据库开发-使用QSqlRelationalTableModel(关系表模型)来可视化数据库中[外键] 文章目录Qt-数据库开发-使用QSqlRelationalTableModel(关系表模型)来可视化数据库中[外键]1、概述2、实现效果3、主要代码4、完整源代码更多精彩内…

Swift学习笔记笔记(八) 日期选择和表现视图组件的使用

一、实验目的: 1.掌握DatePicker组件的使用 2.掌握TableView组件的使用 3.掌握代码设置属性的方法 二、实验原理: 1.属性面板设置属性的缺点 2.DatePicker中Moder属性的设置方法 3.DatePicker中Locale属性的设置方法 4.随机数函数的原型 5. 运动检测函…

Python-matplotlib画图要点【大总结】

文章目录一、x,y坐标图1、基本操作2、进阶操作(1)解决中文乱码情况(2)调整图像大小(3)加标题、坐标文字、坐标轴标签(5)去掉上边框二、柱状图1、柱状图画图原理2、三、颜色与标记形状…

运筹说 第83期丨我国网络计划奠基人——华罗庚

经过之前的学习,相信大家已经对运筹学的图论的内容有了一定的了解,接下来小编将带你学习新一章的内容,先来看看网络计划的起源发展,然后共同走近我国网络计划奠基人——华罗庚,去领略他不平凡的一生。 01 网络计划起源…

Pr:导出设置之管理显示色域体积及内容光线级别

视频 VIDEO设置因所选导出格式而异。每种格式都有独特的要求,这些要求决定了哪些设置可用。以导出 H.264 文件格式为例,下面给出 HDR 显示器及节目内容显示相关的选项及说明。管理显示色域体积Mastering Display Color Volume对内容进行分级时所使用的 H…