【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图

docker和K8S理解

      • 一、docker的问世
          • 虚拟机是什么?
          • Docker的问世?
          • docker优点及理解
      • 二、Kubernetes-K8S
          • K8S是什么?
          • 简单了解K8S架构
          • Master节点
          • Node节点
          • K8S架构图

一、docker的问世

        在LXC(Linux container)Linux容器虚拟技术出现之前,业界网红是虚拟机。虚拟机技术的代表,是VMWare和OpenStack。

虚拟机是什么?

        虚拟机其实就是 在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。
在这里插入图片描述

        在子电脑里,我们可以安装各种系统,比如windows、linux等,让你拥有多台电脑,而在这些子电脑里,可以和使用正常电脑一样,下载qq、微信等,甚至可以同时登录多个qq,这些都是可以的,因为子电脑与子电脑之间都是相互隔离的!

Docker的问世?
  • 2010年,美国旧金山几个年轻人成立“dotCloud”公司,主要提供基于PaaS的云计算技术服务,其实就是在研究LXC技术。
  • dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。
  • Docker技术诞生之后,由于小型公司无人关注,经营步履维艰,于是决定开源!(开源,就是开放源代码。也就是将原来内部保密的程序源代码开放给所有人,然后让大家一起参与进来,贡献代码和意见。)
    2013年3月,dotCloud公司的创始人之一,Docker之父,28岁的Solomon Hykes正式决定,将Docker项目开源。
  • 众多IT工程师关注到Docker,加入社区,Docker人气爆火!
  • 开源当月,Docker 0.1 版本发布。此后的每一个月,Docker都会发布一个版本。到2014年6月9日,Docker 1.0 版本正式发布。
  • Docker已经成为行业里人气最火爆的开源技术!dotCloud公司名字也改成了Docker Inc. 。
docker优点及理解

docker爆火的原因——轻!
        虚拟机属于虚拟化技术。而Docker这样的容器技术,也是虚拟化技术,属于轻量级的虚拟化。
        虚拟机虽然可以隔离出很多“子电脑”,但占用空间更大,启动更慢,虚拟机软件可能还要收费(例如VMWare)。而容器技术正好没有这些缺点。它不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境(类似“沙箱”)。
        Docker启动时间很快,几秒钟就能完成。而且,它对资源的利用率很高(一台主机可以同时运行几千个Docker容器)。此外,它占的空间很小,虚拟机一般要几GB到几十GB的空间,而容器只需要MB级甚至KB级。

特性虚拟机容器
隔离级别操作系统级进程级
隔离策略HypervisorCGroups
系统资源5-15%0-5%
启动时间分钟级秒级
镜像存储GB-TBKB-MB
集群规模上百上万
高可用策略备份、容灾、迁移弹性、负载、动态

docker特性:
它推出两句口号:
1.“Build、Ship and Run”(构建、运输(发送)、运行)
2.“Build Once, Run anywhere”(一次构建,多处运行)

        首先,分析第一句:“Build、Ship and Run”(构建、运输(发送)、运行)
        这个就跟某个游戏一样,我们设计搭建好一个“房子”,在里面住了一段时间,然后又开辟了一个新土地,这时在这个新土地上又需要搭建一个房子去居住,然后又找木头、搬石头搭建新房子。
        突然,有一天你开通了一个新功能,就是你有个万能背包,你可以复制任何东西存到背包里,用的时候拿出来就行。于是,我们将盖好的房子复制一份,制作成“镜像”,存放在背包(docker hub),去到新的土地,拿出”镜像“房子,摆在那边,拎包入住。
        再看第二句:“Build Once, Run anywhere”(一次构建,多处运行)
Docker技术的三大核心概念,分别是:
○ 镜像(Image)
○ 容器(Container)
○ 仓库(Repository)

        在上面的例子中,那个放在包里的“镜像”,就是Docker镜像。而我的背包,就是Docker仓库。我在新土地上,摆放的房子,就是一个Docker容器。
        另外,这个Docker镜像,是一个特殊的文件系统。它除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(例如环境变量)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
        也就是,房子里你居住的日常用品,不会被复制在镜像里,只是房子是一模一样的!
        一个房子可以一个镜像,那么我们也可以制作更多的镜像,比如将 冰箱、汽车都做成镜像!这时候,你的是宝马汽车,他的是奥迪汽车,另一个人又做了华为汽车,要是能拿到他们的镜像,那么我岂不是拥有了各种汽车,于是,出现了一个大的公共仓库。就是docker hub,每个人将镜像都保存在hub里,大家可以相互使用!
        负责对仓库里的Docker镜像进行管理的,是Docker Registry服务(类似仓库管理员)。
        Docker Registry服务对镜像的管理是非常严格的。最常使用的Registry公开服务,是官方的Docker Hub,这也是默认的 Registry,并拥有大量的高质量的官方镜像。

        由于容器技术日渐火爆,将Docker应用于具体的业务实现,同时管理特别多的容器是存在困难的——编排、管理和调度等各个方面,都不容易。于是,人们迫切需要一套管理系统,对Docker及容器进行更高级更灵活的管理——就是k8s。

二、Kubernetes-K8S

K8S是什么?

        K8S,就是基于容器的集群管理平台,它的全称,是kubernetes。
        Kubernetes 这个单词来自于希腊语,含义是舵手或领航员。K8S是它的缩写,用“8”字替代了“ubernete”这8个字符。
K8S的创造者——行业巨头Google。
        K8S的前身,是Google自己研究了十多年的Borg系统。
        K8S是        2014年6月由Google公司正式公布出来并宣布开源的。
        2015年7月,Google正式加入OpenStack基金会。与此同时,Kuberentes v1.0正式发布。

简单了解K8S架构

一个K8S系统,通常称为一个K8S集群(Cluster)。
这个集群主要包括两个部分:
○ 一个Master节点(主节点)
○ 一群Node节点(计算节点)

在这里插入图片描述

Master节点主要还是负责管理和控制。Node节点是工作负载节点,里面是具体的容器。

在这里插入图片描述

Master节点

在这里插入图片描述
在这里插入图片描述

Master节点包括API Server、Scheduler、Controller manager、etcd。
         ● API Server是整个系统的对外接口,供客户端和其它组件调用,相当于“营业厅”。
         ● Scheduler负责对集群内部的资源进行调度,相当于“调度室”。
        ● Controller manager负责管理控制器,相当于“大总管”。
        ● etcd是核心存储数据库,存储所有数据和事件,相当于"仓库"。

Node节点

在这里插入图片描述

Node节点包括Pod、Docker、kubelet、kube-proxy、Fluentd、kube-dns(可选)。

        ● Pod是Kubernetes最基本的操作单元。一个Pod代表着集群中运行的一个进程,它内部封装了一个或多个紧密相关的容器。除了Pod之外,K8S还有一个Service的概念,一个Service可以看作一组提供相同服务的Pod的对外访问接口。
        ● Docker,不用说了,创建容器的。
        ● Kubelet,主要负责监视指派到它所在Node上的Pod,包括创建、修改、监控、删除等。
        ● Kube-proxy,主要负责为Pod对象提供代理。
        ● Fluentd,主要负责日志收集、存储与查询。

K8S架构图

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java8:ArrayList与Vector的实现原理

概述 一上来,先来看看源码中的这一段注释,我们可以从中提取到一些关键信息: Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null. In addition to…

内网穿透的应用-如何使用Docker安装DockerUI可视化管理工具无公网IP远程访问

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

Flutter-数字切换动画

效果 需求 数字切换时新数字从上往下进入,上个数字从上往下出新数字进入时下落到位置并带有回弹效果上个数字及新输入切换时带有透明度和缩放动画 实现 主要采用AnimatedSwitcher实现需求,代码比较简单,直接撸 import dart:math;import p…

huawei 华为交换机 配置手工模式链路聚合示例

组网需求 如 图 3-21 所示, SwitchA 和 SwitchB 通过以太链路分别都连接 VLAN10 和 VLAN20 的网络,SwitchA 和 SwitchB 之间有较大的数据流量。 用户希望SwitchA 和 SwitchB 之间能够提供较大的链路带宽来使相同 VLAN 间互相通信。 同时用户也希望能够提…

HarmonyOS NEXT应用开发—投票动效实现案例

介绍 本示例介绍使用绘制组件中的Polygon组件配合使用显式动画以及borderRadius实现投票pk组件。 效果预览图 使用说明 加载完成后会有一个胶囊块被切割成两个等大的图形来作为投票的两个选项,中间由PK两字分隔开点击左边选项,两个图形会随着选择人数…

Django templates 存放html目录

模板 一概述 模板由两部分组成,一部分是HTML代码,一部分是逻辑控制代码(变量,标签,过滤器) 作用:可以通过一些逻辑控制代码减少一些重复的操作更快速的生成HTML代码,并且实现简单的…

Jenkins使用pipeline流水线部署项目

新建流水线任务 前面的项目整个部署日志都在一个控制台页面,出现了错误不能快速定位不方便查阅 Jenkins提供了流水线方式的任务 这里我新建一个叫“pipeline-mytest”的流水线任务 在流水线出右侧有内置的样式,这里我选择了helloworld的样式。 构建一…

Qt5.14.2 深入理解Qt多线程编程,掌握线程池架构实现高效并发

在高并发的软件系统中,多线程编程是解决性能瓶颈和提高系统吞吐量的有效手段。作为跨平台的应用程序开发框架,Qt为我们提供了强大的多线程支持。本文将深入探讨Qt多线程编程的实现细节,并介绍线程池的设计思想,帮助读者彻底掌握Qt…

Linux设置IP地址多种方法保姆级教程,外加修改主机名并通过生成密钥,组建机群。

[引入提问] 怎么设置linux服务器的名称? 方法1: nmtui—自动打开设置机器名称的操作界面---输入即可。重启hostnamed服务, systemctl restart system-hostnamed 方法2: 直接编辑 vim /etc/hostname ,输入新的…

Spring boot2.7整合jetcache方法缓存

前面的文章 我们讲了 spring boot 整合 jetcache 做基本字符串数据缓存 但是 我这里有个这样的逻辑 我的 domain 包下 有一个 book 属性类 里面就 id 和 name 属性 设置了 对应的 set get函数 和一个整体的构造函数 package com.example.javadom.domain;public class book {pr…

视频技术1:使用ABLMediaServer推流rtsp

ABLMediaServer定位是高性能、高稳定、开箱即用、商用级别的流媒体服务器 下边展示了如何把1个mp3作为输入源,转换为rtsp流的过程。 作用:用rtsp模拟摄像头的视频流 1、启动ABLMediaServer ABLMediaServer-2024-03-13\WinX64\ABLMediaServer.exe 配…

HTML静态网页成品作业(HTML+CSS)——世博园介绍(2个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有2个页面。 二、作品演示 三、代…